OAI/Computability/QuantumFactoring/WordBlocks.lean
13 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.ExactQuantumFactoring.BitArithmetic.wordBlocksline 16Source documentation
Consecutive fixed-width words; construction duplicates a word network at most w times and so has a direct polynomial-size bound.
def wordBlocks {n s w : ℕ} (f : Fin s → BooleanNetwork n w) : BooleanNetwork n (s*w) := …Mentions: OAI.ExactQuantumFactoring.BooleanNetwork
- def
OAI.ExactQuantumFactoring.BitArithmetic.blockline 20 - def
OAI.ExactQuantumFactoring.BitArithmetic.blockNetline 23 - lemma
OAI.ExactQuantumFactoring.BitArithmetic.blockNet_evalline 26 - lemma
OAI.ExactQuantumFactoring.BitArithmetic.blockNet_countline 28 - lemma
OAI.ExactQuantumFactoring.BitArithmetic.wordBlocks_evalline 30 - lemma
OAI.ExactQuantumFactoring.BitArithmetic.wordBlocks_countline 35 - def
OAI.ExactQuantumFactoring.BitArithmetic.addModline 43Source documentation
One extra carry bit before reduction avoids overflow even on noncanonical coefficient representatives; all arrays use exactly as many bits as specified.
def addMod {n w : ℕ} (a b m : BooleanNetwork n w) : BooleanNetwork n w := …Mentions: OAI.ExactQuantumFactoring.BooleanNetwork
- lemma
OAI.ExactQuantumFactoring.BitArithmetic.addMod_countline 47 - lemma
OAI.ExactQuantumFactoring.BitArithmetic.addMod_valueline 55 - def
OAI.ExactQuantumFactoring.BitArithmetic.sumModline 72Source documentation
Linear-length modular accumulation, not a repeated expanded expression.
def sumMod {n w : ℕ} (m : BooleanNetwork n w) : List (BooleanNetwork n w) → BooleanNetwork n w | [] => wordConstant 0 | a::as => addMod a (sumMod m as) mMentions: OAI.ExactQuantumFactoring.BooleanNetwork, OAI.ExactQuantumFactoring.BitArithmetic.wordConstant, OAI.ExactQuantumFactoring.BitArithmetic.addMod
- lemma
OAI.ExactQuantumFactoring.BitArithmetic.sumMod_valueline 76 - lemma
OAI.ExactQuantumFactoring.BitArithmetic.sumMod_countline 86