FormalConjectures/Arxiv/2001.02665/RingelConjecture.lean

GitHub source file

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)
  1. theorem Arxiv.«2001.02665».ringel_conjecture_large 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 sorry line 51 source

    Source 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; see Paper/RingelConjecture.lean for 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.map and 3 more

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    36 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
    …
  2. theorem Arxiv.«2001.02665».kotzig_conjecture_large 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 sorry line 72 source

    Source 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.map and 3 more

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    44 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
    …