FormalConjectures/Wikipedia/Conway99Graph.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1
9 declarations, 1 contain sorry, 0 declared as axioms
Conway's 99-graph problem
Reference: Wikipedia
Imports (1)
- lemma
Conway99Graph.completeGraphIsCliqueA finset of vertices in a complete graph is always a clique line 38 sourceSource documentation
A finset of vertices in a complete graph is always a clique.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Finset,SimpleGraph.IsClique,Top.top,SimpleGraphProof uses:
Pairwise.set_pairwise,Ne8 instances, coercions and auxiliary constants left out.
lemma completeGraphIsClique (s : Finset V) : (⊤ : SimpleGraph V).IsClique s := …
- lemma
Conway99Graph.completeGraph_cliqueSetThe only clique of sizenin a complete graph onnvertices is the entire set of vertices line 45 sourceSource documentation
The only clique of size
nin a complete graph onnvertices is the entire set of vertices.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fintype,Eq,Set,Finset,SimpleGraph.cliqueSet,Top.top,SimpleGraph,Fintype.card,Singleton.singleton,Set.toFinset,Set.univProof uses:
Eq.mpr,Set.ofPred,Nat,Finset.card,Finset.univ,id,congr,congrArg,SimpleGraph.IsNClique,funext,Eq.trans,And,SimpleGraph.IsClique,propext,SimpleGraph.isNClique_iff,True,congrFun',true_and,Set.toFinset_univ,Iff.mpand 3 more16 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma completeGraph_cliqueSet : (⊤ : SimpleGraph V).cliqueSet (Fintype.card V) = {Set.univ.toFinset} := by … - def
Conway99Graph.NonEdgesAreDiagonalsEach two non-adjacent vertices have exactly two common neighbors line 55 sourceSource documentation
Each two non-adjacent vertices have exactly two common neighbors.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraphProof uses:
Pairwise,Not,SimpleGraph.Adj,Eq,Nat,Set.ncard,Inter.inter,Set,SimpleGraph.neighborSet,OfNat.ofNat2 instances, coercions and auxiliary constants left out.
def NonEdgesAreDiagonals (G : SimpleGraph V) : Prop := …
- theorem
Conway99Graph.conway99GraphDocumented declaration: conway99Graph sorry line 67 sourceSource documentation
Does there exist an undirected graph with 99 vertices, in which each two adjacent vertices have exactly one common neighbor, and in which each two non-adjacent vertices have exactly two common neighbors? Equivalently, every edge should be part of a unique triangle and every non-adjacent pair should be one of the two diagonals of a unique 4-cycle. The first condition is equivalent to being locally linear.
depends on sorry what this means
Statement uses:
Iff,True,Exists,SimpleGraph,Fin,OfNat.ofNat,Nat,And,SimpleGraph.LocallyLinear, Conway99Graph.NonEdgesAreDiagonalsProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem conway99Graph : answer(sorry) ↔ ∃ G : SimpleGraph (Fin 99), G.LocallyLinear ∧ NonEdgesAreDiagonals G := by …Mentions: Conway99Graph.NonEdgesAreDiagonals
- theorem
Conway99Graph.triangle_locallyLinear_and_nonEdgesAreDiagonalsThe triangle is an example with 3 vertices satisfying the condition line 75 sourceSource documentation
The triangle is an example with 3 vertices satisfying the condition.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
And,SimpleGraph.LocallyLinear,Fin,OfNat.ofNat,Nat,SimpleGraph.completeGraph, Conway99Graph.NonEdgesAreDiagonalsProof uses:
And.intro,Eq.mpr,SimpleGraph.EdgeDisjointTriangles,Top.top,SimpleGraph,Not,Eq,Exists,Finset,SimpleGraph.IsNClique,Membership.mem,id,congrArg,SimpleGraph.Adj,forall_congr,Ne,implies_congr,Eq.refl,Set,SimpleGraph.cliqueSetand 60 more54 instances, coercions and auxiliary constants left out.
Tactic trace: 22 steps
Open to load the checked before-and-after goal states.
theorem triangle_locallyLinear_and_nonEdgesAreDiagonals : (completeGraph (Fin 3)).LocallyLinear ∧ NonEdgesAreDiagonals (completeGraph (Fin 3)) := by …Mentions: Conway99Graph.NonEdgesAreDiagonals
- abbrev
Conway99Graph.Conway9The box product of two triangles is an example with 9 vertices satisfying the condition line 98 sourceSource documentation
The box product of two triangles is an example with 9 vertices satisfying the condition. (This graph is the complement of the one described in https://vimeo.com/109815595 and it is also isomorphic to it and to the Paley graph and the graph of the 3-3 duoprism)
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Prod,Fin,OfNat.ofNat,NatProof uses:
SimpleGraph.boxProd,SimpleGraph.completeGraph2 instances, coercions and auxiliary constants left out.
abbrev Conway9 := completeGraph (Fin 3) □ completeGraph (Fin 3) …
- theorem
Conway99Graph.conway9_nonEdgesAreDiagonalsline 101 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Conway99Graph.NonEdgesAreDiagonals,
Prod,Fin,OfNat.ofNat,Nat, Conway99Graph.Conway9Proof uses:
id,Eq,Finset.card,Inter.inter,Finset,SimpleGraph.neighborFinset,SimpleGraph.completeGraph,Membership.mem,Set,SimpleGraph.neighborSet,Prod.fst,Prod.snd,Set.ncard,Eq.mpr,Set.toFinset,congrArg,Eq.symm,Set.toFinset_inter,Set.ncard_eq_toFinset_card',Eq.refland 46 more35 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
- lemma
Conway99Graph.completeGraph_boxProd_completeGraph_cliqueSetline 116 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Set,Finset,Prod,Fin,OfNat.ofNat,Nat,SimpleGraph.cliqueSet,SimpleGraph.boxProd,SimpleGraph.completeGraph,Union.union,Set.ofPred,Exists,Finset.filter,Prod.mk,Finset.univProof uses:
Set.ext,Eq.mpr,Iff,Membership.mem,SimpleGraph.IsNClique,Top.top,SimpleGraph,Or,id,congr,congrArg22 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- theorem
Conway99Graph.conway9_locallyLinearline 126 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph.LocallyLinear,Prod,Fin,OfNat.ofNat,Nat, Conway99Graph.Conway9Proof uses:
id,And.intro,SimpleGraph.EdgeDisjointTriangles,SimpleGraph.Adj,Exists,Finset,And,SimpleGraph.IsNClique,Membership.mem,Set,SimpleGraph.cliqueSet,Ne,Set.ofPred,Eq,Finset.filter,Prod.mk,Finset.univ,Union.union,Set.Subsingleton,Inter.interand 67 more49 instances, coercions and auxiliary constants left out.
Tactic trace: 39 steps
Open to load the checked before-and-after goal states.