FormalConjectures/Paper/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

1 declarations, 1 contain sorry, 0 declared as axioms

Ringel's Conjecture

Reference: G. Ringel, Problem 25, in Theory of Graphs and its Applications (Proc. Sympos. Smolenice, 1963), Academia, Prague, 1964.

Ringel's conjecture (1963): the complete graph $K_{2n+1}$ decomposes into copies of any tree with $n$ edges. It remains open; the case of all sufficiently large $n$ is proved by Montgomery–Pokrovskiy–Sudakov, see Arxiv/2001.02665/RingelConjecture.lean.

Imports (1)
  1. theorem RingelConjecture.ringel_conjecture For any tree $T$ with $n$ edges, the complete graph $K_{2n+1}$ decomposes into $2n+1$ edge-disjoint copies of $T$ sorry line 45 source

    Source documentation

    For any tree $T$ with $n$ edges, the complete graph $K_{2n+1}$ decomposes into $2n+1$ edge-disjoint copies of $T$.

    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}$.

    depends on sorry what this means

    Statement uses: Finite, SimpleGraph, SimpleGraph.IsTree, Nat, Eq, Set.ncard, Sym2, SimpleGraph.edgeSet, Exists, Fin, HAdd.hAdd, HMul.hMul, OfNat.ofNat, Function.Embedding, And, Pairwise, Disjoint, Set, SimpleGraph.map, iSup and 1 more

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

    34 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem ringel_conjecture {V : Type} [Finite V]
        (T : SimpleGraph V) (hT : T.IsTree)
        (n : ℕ) (hn : 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
    …