Classical Complexity Classes

lax-434930·formalized by Édouard Bonnet · Codex 5.6 and 6·registered·created ·GitHub @0c08403·Lean v4.33.0 epoch · mathlib db584cd6d46c

Loading review…

Sign in with ORCID

Community review

Flags

Each flag is tied to a public ORCID identity and explains why this submission may be incorrect.

No flags have been submitted.

    Community review

    Flag this submission

    State precisely what appears incorrect. This explanation will be public under your ORCID name.

    Abstract

    We formalize the classical complexity classes L\mathrm{L}, NL\mathrm{NL}, P\mathrm{P}, NP\mathrm{NP}, coNL\mathrm{coNL}, coNP\mathrm{coNP}, PSPACE\mathrm{PSPACE}, NPSPACE\mathrm{NPSPACE}, and EXPTIME\mathrm{EXPTIME} for languages of finite binary strings. P uses deterministic stack machines, identity encoding of binary inputs, and singleton Boolean outputs. NP uses polynomially bounded certificates and polynomial-time verification. We prove equivalence with finite single-tape machines and closure under complement. EXPTIME uses these single-tape machines. The space classes use finite Turing machines with a bounded, read-only input tape and a separate work tape, whose space is bounded on every computation branch. We prove the full chain through LNL\mathrm{L}\subseteq\mathrm{NL}, NLP\mathrm{NL}\subseteq\mathrm P, PNP\mathrm{P}\subseteq\mathrm{NP}, NPPSPACE\mathrm{NP}\subseteq\mathrm{PSPACE}, PSPACE=NPSPACE\mathrm{PSPACE}=\mathrm{NPSPACE} (Savitch's theorem), and NPSPACEEXPTIME\mathrm{NPSPACE}\subseteq\mathrm{EXPTIME}. We also state PNP\mathrm{P}\ne\mathrm{NP} as an open question.

    View annotated paper

    5 pages · 40 marked passages

    Concepts

    Concept map
    19 concepts; 52 descendants hidden
    100%
    Proven claimOpen claimDefinitionThis submissionOther submissionA → B: B builds on A

    Proofs

    Proof networkview on GitHub

    100%
    assumptions conclusionProven claimOpen claimStatement 1, 2, … of a claim with several statementsClaim from this submissionProof — open large view for details
    Proof list

    Lean sources for these proofs: proofs/ on GitHub

    Proof code is not displayed; the archive records each proof's checked relationship between claims.

    Related submissions

    Submission map

    100%
    This submissionOther submissionA → B: B's concepts build on AA → B: only B's proofs build on A

    Cite this

    This is only the formalizers. The authors of the formalized results may be different (see References).

    @misc{lax-434930,
      author = {Édouard Bonnet and Codex 5.6 and 6},
      title = {Classical Complexity Classes},
      year = {2026},
      howpublished = {Lax Archive, lax-434930},
      url = {https://laxarchive.org/lax-434930/},
    }

    References

    1. Jonathan Katz. Notes on Complexity Theory: Lecture 1. 2005. cs.umd.edu/~jkatz/complexity/f05/lecture1.pdf

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above.

    Loading discussion…