FormalConjectures/Wikipedia/PolyTimeFunctions.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
1 declarations, 1 contain sorry, 0 declared as axioms
Polynomial-time computability of factoring
This file formalizes the open problem of whether natural number / integer factorization can be computed in polynomial time on a deterministic classical Turing machine.
More precisely, it formalizes the following statement: Can the prime factorization of a natural number be computed in polynomial time (on a deterministic classical Turing machine)?
References:
Imports (1)
- theorem
PolyTime.isPolyTime_primeFactorsListThe integer factorization problem: Can the prime factorization of a positive integer be computed in polynomial time? sorry line 52 sourceSource documentation
The integer factorization problem: Can the prime factorization of a positive integer be computed in polynomial time?
We state the problem by asking if
Nat.primeFactorsListis polynomial-time computable (assuming typical encodings of ℕ and List ℕ into bitstrings).Reference: Wikipedia
L4DEL explanation
The integer factorization problem: Can the prime factorization of a positive integer be computed in polynomial time? We state the problem by asking if
Nat.primeFactorsListis polynomial-time computable (assuming typical encodings of ℕ and List ℕ into bitstrings). Reference: WikipediaSources and attribution: Pinned Lean source (1646ca16afd6)
depends on sorry what this means
Statement uses:
Iff,True, ComplexityTheory.IsPolyTime,Nat,List,Nat.primeFactorsListProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat5 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem isPolyTime_primeFactorsList : answer(sorry) ↔ IsPolyTime Nat.primeFactorsList := by …