OAI/Computability/QuantumFactoring/PerfectPowerCircuit.lean
11 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.ExactQuantumFactoring.BitArithmetic.rootCheckline 16Source documentation
Check a candidate root against the input integer, with its static exponent.
def rootCheck (w e : ℕ) : BooleanNetwork (w+w) 1 := …
Mentions: OAI.ExactQuantumFactoring.BooleanNetwork
- lemma
OAI.ExactQuantumFactoring.BitArithmetic.rootCheck_evalline 20 - def
OAI.ExactQuantumFactoring.BitArithmetic.exponentCheckline 36 - lemma
OAI.ExactQuantumFactoring.BitArithmetic.exponentCheck_evalline 39 - def
OAI.ExactQuantumFactoring.BitArithmetic.perfectPowerNetline 54 - theorem
OAI.ExactQuantumFactoring.BitArithmetic.perfectPowerNet_correctline 59Source documentation
The complete first AKS rejection check, as an actual polynomial-size Boolean circuit: exponents2..n and n exact bounded binary-root steps each.
theorem perfectPowerNet_correct {n : ℕ} (hn : 2 ≤ n) (m : Basis (rootWidth n)) (hm : (bitsValue m).toNat < 2^n) : (perfectPowerNet n).eval m 0=true ↔ Primality.PerfectPower (bitsValue m).toNat := by …Mentions: OAI.ExactQuantumFactoring.Basis, OAI.ExactQuantumFactoring.BitArithmetic.rootWidth, OAI.ExactQuantumFactoring.bitsValue, OAI.ExactQuantumFactoring.BitArithmetic.perfectPowerNet, OAI.ExactQuantumFactoring.Primality.PerfectPower
- lemma
OAI.ExactQuantumFactoring.BitArithmetic.rootCheck_countline 80 - abbrev
OAI.ExactQuantumFactoring.BitArithmetic.perfectCheckBoundline 90 - lemma
OAI.ExactQuantumFactoring.BitArithmetic.exponentCheck_countline 94 - lemma
OAI.ExactQuantumFactoring.BitArithmetic.perfectExponent_countline 104 - lemma
OAI.ExactQuantumFactoring.BitArithmetic.perfectPowerNet_countline 118