OAI/Computability/QuantumFactoring/AIGCompiler.lean
20 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.ExactQuantumFactoring.AIGCompiler.graphWireline 18 - def
OAI.ExactQuantumFactoring.AIGCompiler.faninNetline 20 - lemma
OAI.ExactQuantumFactoring.AIGCompiler.fanin_countline 24 - lemma
OAI.ExactQuantumFactoring.AIGCompiler.fanin_evalline 40 - def
OAI.ExactQuantumFactoring.AIGCompiler.nodeNetline 45 - lemma
OAI.ExactQuantumFactoring.AIGCompiler.node_countline 51 - def
OAI.ExactQuantumFactoring.AIGCompiler.nodeDenoteline 62 - lemma
OAI.ExactQuantumFactoring.AIGCompiler.node_evalline 65 - def
OAI.ExactQuantumFactoring.AIGCompiler.nodeStepline 82 - def
OAI.ExactQuantumFactoring.AIGCompiler.partialGraphline 85 - lemma
OAI.ExactQuantumFactoring.AIGCompiler.graph_countline 90 - lemma
OAI.ExactQuantumFactoring.AIGCompiler.graph_inputline 99 - lemma
OAI.ExactQuantumFactoring.AIGCompiler.graph_valueline 110 - theorem
OAI.ExactQuantumFactoring.AIGCompiler.graph_correctline 133Source documentation
The circuit interpreter's own, already verified, AIG semantics is preserved by a retained-trace network of at most five nodes per AIG declaration.
theorem graph_correct (x : Fin (n+g.decls.size) → Bool) (j : Fin g.decls.size) : (partialGraph g g.decls.size le_rfl).eval x (graphWire g j) = nodeDenote g (fun i => x (i.castAdd g.decls.size)) j := …Mentions: OAI.ExactQuantumFactoring.AIGCompiler.partialGraph, OAI.ExactQuantumFactoring.AIGCompiler.graphWire, OAI.ExactQuantumFactoring.AIGCompiler.nodeDenote
- def
OAI.ExactQuantumFactoring.AIGCompiler.compileline 140Source documentation
Compile designated references of an AIG, starting only with its input bits. All graph slots and their retained evaluation traces are genuine ancillas.
def compile {m : ℕ} (refs : Fin m → AIG.Ref g) : BooleanNetwork n m := …Mentions: OAI.ExactQuantumFactoring.BooleanNetwork
- lemma
OAI.ExactQuantumFactoring.AIGCompiler.compile_countline 144 - lemma
OAI.ExactQuantumFactoring.AIGCompiler.compile_correctline 152 - def
OAI.ExactQuantumFactoring.AIGCompiler.compileVecline 163Source documentation
The whole output BitVec of a native, already verified, arithmetic bitblaster is now a Boolean network with a linear overhead in its AIG graph size.
def compileVec {w : ℕ} (refs : AIG.RefVec g w) : BooleanNetwork n w := …Mentions: OAI.ExactQuantumFactoring.BooleanNetwork
- lemma
OAI.ExactQuantumFactoring.AIGCompiler.compileVec_correctline 166 - lemma
OAI.ExactQuantumFactoring.AIGCompiler.compileVec_countline 170