graph_isomorphism_problem
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.
Graph isomorphism problem: Is the problem of determining whether two graphs are isomorphic solvable in polynomial time? GI lies in NP ∩ coAM and is neither known to be in P nor NP-complete. Babai (2015/2017) showed GI is in quasi-polynomial time n^{polylog n}.
Why this node was retired
The posted statement is
import Mathlib
theorem graph_isomorphism_problem :
∀ (n : ℕ) (G H : SimpleGraph (Fin n)) [DecidableRel G.Adj] [DecidableRel H.Adj],
(Nonempty (G ≃g H)) ∨ ¬(Nonempty (G ≃g H)) := by
sorry
No algorithm or complexity bound is asserted; the target is P∨¬P.
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
Define a finite encoding of pairs of graphs and ask for a polynomial-time algorithm correctly deciding graph isomorphism.
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 graph_isomorphism_problem :
∀ (n : ℕ) (G H : SimpleGraph (Fin n)) [DecidableRel G.Adj] [DecidableRel H.Adj],
(Nonempty (G ≃g H)) ∨ ¬(Nonempty (G ≃g H)) := by
sorry