Fixed-width binary circuit descriptions -- proof internals #
theorem
Complexity.CircuitCode.FixedWidth.one_le_referenceWidth_internal
(inputWidth gateBound : ℕ)
:
theorem
Complexity.CircuitCode.FixedWidth.inputWidth_add_gateBound_le_two_pow_referenceWidth_internal
(inputWidth gateBound : ℕ)
:
theorem
Complexity.CircuitCode.FixedWidth.gateBound_lt_two_pow_gateCountWidth_internal
(gateBound : ℕ)
:
theorem
Complexity.CircuitCode.FixedWidth.card_description_internal
(inputWidth gateBound : ℕ)
:
Fintype.card (Description inputWidth gateBound) = (gateBound + 1) * 2 ^ (gateBound * gateSlotWidth inputWidth gateBound)
theorem
Complexity.CircuitCode.FixedWidth.Description.gateCountNat_le_gateBound_internal
{inputWidth gateBound : ℕ}
(description : Description inputWidth gateBound)
:
theorem
Complexity.CircuitCode.FixedWidth.Description.length_toRawCircuit_internal
{inputWidth gateBound : ℕ}
(description : Description inputWidth gateBound)
:
@[simp]
theorem
Complexity.CircuitCode.FixedWidth.Description.getElem_toRawCircuit_internal
{inputWidth gateBound : ℕ}
(description : Description inputWidth gateBound)
(index : Fin (List.length description.toRawCircuit))
:
theorem
Complexity.CircuitCode.FixedWidth.Description.topologicallyWellFormed_toRawCircuit_iff_internal
{inputWidth gateBound : ℕ}
(description : Description inputWidth gateBound)
:
RawCircuit.TopologicallyWellFormed inputWidth description.toRawCircuit ↔ description.TopologicallyWellFormed
theorem
Complexity.CircuitCode.FixedWidth.Description.wellFormed_toRawCircuit_internal
{inputWidth gateBound : ℕ}
{description : Description inputWidth gateBound}
(hdescription : description.WellFormed)
:
RawCircuit.WellFormed inputWidth description.toRawCircuit