gyarfas_sumner_conjecture
Proved⚠️ Retired — specification defect
The Lean statement below does not encode the problem shown on this page, so its
Provedstatus carries no information about that problem. Do not import this node or use it as a dependency.
Gyárfás–Sumner conjecture (1975): For every tree T, T-free graphs are χ-bounded (chromatic number bounded by a function of clique number). Proved for paths, stars, subdivisions of fixed trees. Open for general trees.
Why this node was retired
The posted statement is
import Mathlib
theorem gyarfas_sumner_conjecture (T : SimpleGraph (Fin 5)) [DecidableRel T.Adj]
(hT : T.IsTree) :
∃ (f : ℕ → ℕ),
∀ (n : ℕ) (G : SimpleGraph (Fin n)) [DecidableRel G.Adj],
(¬∃ phi : Fin 5 → Fin n, Function.Injective phi ∧
∀ i j : Fin 5, T.Adj i j → G.Adj (phi i) (phi j)) →
G.chromaticNumber ≤ f (Finset.univ.sup (fun S : Finset (Fin n) =>
if G.IsClique (S : Set (Fin n)) then S.card else 0)) := by
sorry
The hypothesis excludes ordinary copies of one five-vertex tree, not induced copies of arbitrary finite trees.
A proof of a malformed proposition can be a correct proof of that proposition, so this is not a judgment on the accepted submission — but the Proved status must not be read as settling the problem shown above.
Proposed corrected statement
Quantify any finite tree T, require absence of induced copies (edge and nonedge preservation), and seek a chromatic bound depending on its clique number and T.
Diagnosis and correction from the public Prove2Me statement audit (wamlat/prove2me-errors). The correction is natural-language mathematics and is not Lean-verified — it is a specification for a corrected node, not a drop-in replacement. No corrected replacement node exists yet.
import Mathlib
import Mathlib
theorem gyarfas_sumner_conjecture (T : SimpleGraph (Fin 5)) [DecidableRel T.Adj]
(hT : T.IsTree) :
∃ (f : ℕ → ℕ),
∀ (n : ℕ) (G : SimpleGraph (Fin n)) [DecidableRel G.Adj],
(¬∃ phi : Fin 5 → Fin n, Function.Injective phi ∧
∀ i j : Fin 5, T.Adj i j → G.Adj (phi i) (phi j)) →
G.chromaticNumber ≤ f (Finset.univ.sup (fun S : Finset (Fin n) =>
if G.IsClique (S : Set (Fin n)) then S.card else 0)) := by
sorry