Boolean Circuit Complexity #
This file establishes the circuit size complexity measure for Boolean functions
over a basis. It re-exports the bases of Complexitylib.Circuits.Basis.Defs and
the typed circuits of Complexitylib.Circuits.Typed.Defs, so importing it
provides the whole circuit model.
Main definitions #
Circuit.Realizable— whether a function is computed by some circuit over a basisCircuit.realizationSizes— the sizes of the circuits over a basis that compute a functionCircuit.sizeComplexityWithTop— generic minimum size, with⊤for unrealizable functionsCircuit.sizeComplexity— natural-valued minimum size over a complete basis
Main results #
Circuit.sizeComplexity_pos— for complete bases, size complexity is positive
A Boolean function is realizable over B when some single-output circuit
over B computes it.
Equations
- Complexity.Circuit.Realizable B f = ∃ (G : ℕ) (c : Complexity.Circuit B N 1 G), (fun (x : Complexity.BitString N) => c.eval x 0) = f
Instances For
Sizes of all single-output circuits over B that realize f.
Equations
- Complexity.Circuit.realizationSizes B f = {s : ℕ | ∃ (G : ℕ) (c : Complexity.Circuit B N 1 G), c.size = s ∧ (fun (x : Complexity.BitString N) => c.eval x 0) = f}
Instances For
The minimum circuit size over an arbitrary basis, as an extended natural.
A single-output circuit Circuit B N 1 G has size G + 1. The value is ⊤
exactly when no circuit over B computes f; thus an unrealizable function
cannot be confused with a zero-size function.
Equations
- Complexity.Circuit.sizeComplexityWithTop B f = sInf ((fun (s : ℕ) => ↑s) '' Complexity.Circuit.realizationSizes B f)
Instances For
The minimum circuit size over a complete basis B computing f.
This natural-valued interface requires completeness so that the set of
realizing circuits is nonempty. Use sizeComplexityWithTop when the basis may
be incomplete.
Equations
Instances For
Whenever the generic size complexity is finite, a circuit realizes its minimum value.
Over a complete basis, the generic extended measure agrees with the natural-valued minimum.
For a complete basis, circuit size complexity is always positive.
Any circuit computing f has size at least sizeComplexity B f.
For a complete basis, sizeComplexity is realized by some circuit.