erdos_hajnal_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.
The Erdős–Hajnal conjecture (1989): For every graph H there exists ε > 0 such that every H-free graph on n vertices has a clique or independent set of size at least n^ε. Proved for specific families of H and for all H assuming Ramsey's theorem; the general polynomial bound remains open.
Why this node was retired
The posted statement is
import Mathlib
theorem erdos_hajnal_conjecture (h : ℕ) (H : SimpleGraph (Fin h)) [DecidableRel H.Adj] :
∃ ε : ℝ, 0 < ε ∧
∀ (n : ℕ) (G : SimpleGraph (Fin n)) [DecidableRel G.Adj],
(¬∃ f : Fin h → Fin n, Function.Injective f ∧
∀ i j : Fin h, H.Adj i j → G.Adj (f i) (f j)) →
∃ S : Finset (Fin n), (n : ℝ)^ε ≤ S.card ∧
(G.IsClique S.toSet ∨ ∀ v ∈ S, ∀ w ∈ S, v ≠ w → ¬G.Adj v w) := by
sorry
The excluded copy preserves edges only, not nonedges; this excludes all ordinary subgraph copies.
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
Use an induced embedding: for all i,j, H.Adj i j ↔ G.Adj(f i)(f j), with f injective. Keep the uniform positive power conclusion.
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 erdos_hajnal_conjecture (h : ℕ) (H : SimpleGraph (Fin h)) [DecidableRel H.Adj] :
∃ ε : ℝ, 0 < ε ∧
∀ (n : ℕ) (G : SimpleGraph (Fin n)) [DecidableRel G.Adj],
(¬∃ f : Fin h → Fin n, Function.Injective f ∧
∀ i j : Fin h, H.Adj i j → G.Adj (f i) (f j)) →
∃ S : Finset (Fin n), (n : ℝ)^ε ≤ S.card ∧
(G.IsClique S.toSet ∨ ∀ v ∈ S, ∀ w ∈ S, v ≠ w → ¬G.Adj v w) := by
sorry