FormalConjectures/Millennium/PvsNP.lean
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
7 declarations, 6 contain sorry, 0 declared as axioms
Conjectures in Complexity Theory
This file contains formal statements of some of the main open conjectures in complexity theory, including
- the P vs NP problem
- the NP vs coNP problem
- the P vs BPP problem
References:
Imports (1)
- theorem
ComplexityTheory.P_ne_NPP is not equal to NP sorry line 45 sourceSource documentation
P ≠ NP:
The conjecture that the complexity classes P and NP are not equal.
L4DEL explanation
The complexity classes P and NP differ; the file marks this as open.
- The statement is the inequality of two language classes, P and NP, defined elsewhere in the repository's utility library.
- The attribute reads category research open and the proof body is sorry.
See also: ComplexityTheory.NP_ne_coNP
Sources and attribution: Pinned Lean source (1646ca16afd6)
depends on sorry what this means
Statement uses:
Ne, ComplexityTheory.DecisionComplexityClass, ComplexityTheory.P, ComplexityTheory.NPProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat,Nat1 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem P_ne_NP : P ≠ NP := by sorry …
Mentions: ComplexityTheory.P, ComplexityTheory.NP
- theorem
ComplexityTheory.NP_ne_coNPNP ≠ coNP: The conjecture that the complexity classes NP and coNP are not equal sorry line 53 sourceSource documentation
NP ≠ coNP:
The conjecture that the complexity classes NP and coNP are not equal.
depends on sorry what this means
Statement uses:
Ne, ComplexityTheory.DecisionComplexityClass, ComplexityTheory.NP, ComplexityTheory.coNPProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat,Nat1 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem NP_ne_coNP : NP ≠ coNP := by sorry …
Mentions: ComplexityTheory.NP, ComplexityTheory.coNP
- theorem
ComplexityTheory.P_eq_BPPP = BPP: The conjecture that the complexity classes P and BPP are equal sorry line 61 sourceSource documentation
P = BPP:
The conjecture that the complexity classes P and BPP are equal.
depends on sorry what this means
Statement uses:
Eq, ComplexityTheory.DecisionComplexityClass, ComplexityTheory.P, ComplexityTheory.BPPProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat,Nat1 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem P_eq_BPP : P = BPP := by sorry …
Mentions: ComplexityTheory.P, ComplexityTheory.BPP
- theorem
ComplexityTheory.coP_eq_PThe theorem that the set of complements of languages in P is itself P sorry line 70 sourceSource documentation
The theorem that the set of complements of languages in P is itself P.
This can be proven by observing that the boolean negation function is computable in polynomial time, and that compositions of poly-time computable functions are also poly-time computable.
depends on sorry what this means
Statement uses:
Eq,Set, ComplexityTheory.DecisionProblem,Set.ofPred,Membership.mem, ComplexityTheory.DecisionComplexityClass, ComplexityTheory.P,Compl.compl,List,BoolProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat,Nat9 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem coP_eq_P : { L | Lᶜ ∈ P } = P := by …Mentions: ComplexityTheory.P
- theorem
ComplexityTheory.P_subset_NPsorry line 83 sourcedepends on sorry what this means
Statement uses:
LE.le, ComplexityTheory.DecisionComplexityClass, ComplexityTheory.DecisionProblem, ComplexityTheory.P, ComplexityTheory.NPProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat,Nat3 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
ComplexityTheory.P_subset_coNPThe theorem that P is a subset of coNP line 91 sourceSource documentation
The theorem that P is a subset of coNP.
depends on sorry what this means
Statement uses:
LE.le, ComplexityTheory.DecisionComplexityClass, ComplexityTheory.DecisionProblem, ComplexityTheory.P, ComplexityTheory.coNPProof uses:
Eq.mpr,Set.ofPred,Membership.mem, ComplexityTheory.NP,Compl.compl,List,Bool,id,Eq,congrArg,ComplexityTheory.coNP.eq_1,Set,Eq.symm, ComplexityTheory.coP_eq_P, ComplexityTheory.P_subset_NP7 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
theorem P_subset_coNP : P ⊆ coNP := by …Mentions: ComplexityTheory.P, ComplexityTheory.coNP
- theorem
ComplexityTheory.P_subset_BPPThe theorem that P is a subset of BPP sorry line 106 sourceSource documentation
The theorem that P is a subset of BPP.
This can be proven by observing that for any language in P, we can construct a randomized decider that ignores the random bits and simply runs the poly-time decider for the language.
depends on sorry what this means
Statement uses:
LE.le, ComplexityTheory.DecisionComplexityClass, ComplexityTheory.DecisionProblem, ComplexityTheory.P, ComplexityTheory.BPPProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat,Nat3 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem P_subset_BPP : P ⊆ BPP := by …Mentions: ComplexityTheory.P, ComplexityTheory.BPP