structure
definition
def or abbrev
BooleanCircuit
show as:
view Lean formalization →
formal statement (Lean)
96structure BooleanCircuit (n : ℕ) where
97 /-- Total number of gates (inputs + internal + output) -/
98 gate_count : ℕ
99 /-- The gates in topological order -/
100 gates : Fin gate_count → Gate gate_count
101 /-- Input gates each reference one variable in {0,..,n-1} -/
102 input_var : ∀ i : Fin gate_count,
103 (gates i).gtype = GateType.Input → ∃ _v : Fin n, True
104 /-- At least one output gate exists -/
105 has_output : ∃ i : Fin gate_count, (gates i).gtype = GateType.Output
106
107/-- The size of a circuit is its gate count. -/
108def BooleanCircuit.size {n : ℕ} (c : BooleanCircuit n) : ℕ := c.gate_count
proof body
Definition body.
109
110/-- A Boolean circuit computes a specific Boolean function determined by its
111 gate structure and input wiring. We model this as a bundled function field
112 rather than implementing gate-by-gate evaluation (which would require
113 enriching BooleanCircuit with explicit input wiring). -/
used by (17)
-
BooleanCircuitWithEval -
CircuitBondCount -
circuit_bond_count_le -
circuit_capacity_bound -
CircuitDecides -
CircuitLedgerCert -
CircuitSeparation -
CircuitZCapacity -
poly_circuit_poly_capacity -
AlgebraicRestrictionHyp -
circuit_lower_bound_algebraic -
CircuitLowerBoundCert -
circuit_lower_bound_topological -
p_neq_np_conditional -
TopologicalObstructionHyp -
UniformTopologicalObstructionHyp -
p_neq_np_assembled