FormalConjectures/Arxiv/2001.02665/RingelConjecture.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
2 declarations, 2 contain sorry, 0 declared as axioms
Ringel's Conjecture and Kotzig's Conjecture for large $n$
Reference: arxiv/2001.02665 A proof of Ringel's Conjecture by Richard Montgomery, Alexey Pokrovskiy, Benny Sudakov
The original conjecture of Ringel (1963), which remains open, is stated in
Paper/RingelConjecture.lean. The referenced paper proves it for all sufficiently large $n$.
Montgomery–Pokrovskiy–Sudakov actually prove the strictly stronger statement conjectured by
Kotzig: the decomposition can always be realized by cyclic shifts of a single copy of $T$.
Kotzig's conjecture (all $n$) remains open; see Paper/KotzigConjecture.lean.
Imports (1)
- theorem
Arxiv.«2001.02665».ringel_conjecture_largeFor all sufficiently large $n$, the complete graph $K_{2n+1}$ decomposes into $2n+1$ edge-disjoint copies of any tree $T$ with $n$ edges sorry line 51 sourceSource documentation
For all sufficiently large $n$, the complete graph $K_{2n+1}$ decomposes into $2n+1$ edge-disjoint copies of any tree $T$ with $n$ edges.
A "copy" of $T$ is the image $T.\text{map}(f_i)$ of $T$ under a vertex embedding $f_i : V \hookrightarrow \text{Fin}(2n+1)$; the copies are pairwise edge-disjoint and together cover every edge of $K_{2n+1}$.
This follows from
kotzig_conjecture_large; seePaper/RingelConjecture.leanfor the open form.depends on sorry what this means
Statement uses:
Filter.Eventually,Nat,Finite,SimpleGraph,SimpleGraph.IsTree,Eq,Set.ncard,Sym2,SimpleGraph.edgeSet,Exists,Fin,HAdd.hAdd,HMul.hMul,OfNat.ofNat,Function.Embedding,And,Pairwise,Disjoint,Set,SimpleGraph.mapand 3 moreProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous36 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem ringel_conjecture_large : ∀ᶠ (n : ℕ) in Filter.atTop, ∀ {V : Type} [Finite V] (T : SimpleGraph V), T.IsTree → T.edgeSet.ncard = n → ∃ f : Fin (2 * n + 1) → (V ↪ Fin (2 * n + 1)), Pairwise (fun i j => Disjoint (T.map (f i)).edgeSet (T.map (f j)).edgeSet) ∧ ⨆ i, T.map (f i) = (⊤ : SimpleGraph (Fin (2 * n + 1))) := by … - theorem
Arxiv.«2001.02665».kotzig_conjecture_largeFor all sufficiently large $n$, the complete graph $K_{2n+1}$ decomposes into $2n+1$ edge-disjoint copies of any tree $T$ with $n$ edges via cyclic shifts of a single embedding sorry line 72 sourceSource documentation
For all sufficiently large $n$, the complete graph $K_{2n+1}$ decomposes into $2n+1$ edge-disjoint copies of any tree $T$ with $n$ edges via cyclic shifts of a single embedding.
The $2n+1$ copies are $f_0, f_1, \dots, f_{2n}$ where $f_i(v) = f_0(v) + i$ for all vertices $v$ — that is, each copy is obtained by adding $i \pmod{2n+1}$ to every vertex of the base copy. This is strictly stronger than
ringel_conjecture_large.Kotzig conjectured this holds for all $n$; see
Paper/KotzigConjecture.lean. Montgomery, Pokrovskiy, and Sudakov prove it for all sufficiently large $n$.depends on sorry what this means
Statement uses:
Filter.Eventually,Nat,Finite,SimpleGraph,SimpleGraph.IsTree,Eq,Set.ncard,Sym2,SimpleGraph.edgeSet,Exists,Fin,HAdd.hAdd,HMul.hMul,OfNat.ofNat,Function.Embedding,And,Pairwise,Disjoint,Set,SimpleGraph.mapand 3 moreProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous44 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem kotzig_conjecture_large : ∀ᶠ (n : ℕ) in Filter.atTop, ∀ {V : Type} [Finite V] (T : SimpleGraph V), T.IsTree → T.edgeSet.ncard = n → ∃ f : Fin (2 * n + 1) → (V ↪ Fin (2 * n + 1)), (∀ i v, f i v = f 0 v + i) ∧ Pairwise (fun i j => Disjoint (T.map (f i)).edgeSet (T.map (f j)).edgeSet) ∧ ⨆ i, T.map (f i) = (⊤ : SimpleGraph (Fin (2 * n + 1))) := by …