Raw parity-circuit fragments -- proof internals #
theorem
Complexity.CircuitCode.Parity.length_steps_internal
(available step inputCount : ℕ)
(refs : Fin inputCount → ℕ)
:
theorem
Complexity.CircuitCode.Parity.length_compileRaw_internal
(available : ℕ)
{inputCount : ℕ}
(refs : Fin inputCount → ℕ)
:
theorem
Complexity.CircuitCode.Parity.outputWire_eq_internal
(available : ℕ)
{inputCount : ℕ}
(refs : Fin inputCount → ℕ)
:
theorem
Complexity.CircuitCode.Parity.evalAux?_compileRaw_internal
(available : ℕ)
[NeZero available]
{inputCount : ℕ}
(refs : Fin inputCount → ℕ)
(bits : Fin inputCount → Bool)
(wires : Array Bool)
(hsize : wires.size = available)
(hrefs : ∀ (i : Fin inputCount), refs i < available)
(hinputs : ∀ (i : Fin inputCount), wires[refs i]? = some (bits i))
:
theorem
Complexity.CircuitCode.Parity.topologicallyWellFormed_compileRaw_internal
(available : ℕ)
[NeZero available]
{inputCount : ℕ}
(refs : Fin inputCount → ℕ)
(hrefs : ∀ (i : Fin inputCount), refs i < available)
:
RawCircuit.TopologicallyWellFormed available (compileRaw available refs)
theorem
Complexity.CircuitCode.Parity.compileRaw_wellFormed_internal
(available : ℕ)
[NeZero available]
{inputCount : ℕ}
(refs : Fin inputCount → ℕ)
(hrefs : ∀ (i : Fin inputCount), refs i < available)
:
RawCircuit.WellFormed available (compileRaw available refs)