Documentation

Complexitylib.Circuits.CircuitFormula.Family

Circuit-family outputs as formula families #

This module lifts selected-output circuit unfolding to total families. A typed fan-in-two circuit family yields a formula family with identical semantics and at most twice its depth. Its formulas also read only their declared inputs. Consequently every NC1 Boolean-function family lies in the typed FormulaNC1 class and hence in the typed width-5 class Width5BP.

The explicitly named total-assignment bridge remains available for clients whose functions genuinely have domain ℕ → Bool.

No formula-size bound is used: shared circuit DAGs may expand exponentially when unfolded. Barrington's construction depends on formula depth, which the translation controls directly.

theorem Complexity.Circuit.depth_eq_outputDepth_zero {N G : } [NeZero N] (circuit : Circuit Basis.andOr2 N 1 G) :
circuit.depth = circuit.outputDepth 0

A single-output circuit's global depth is the depth of its unique output.

theorem Complexity.CircuitFamily.eval_outputFormulaFamily (F : CircuitFamily Basis.andOr2) (n : ) (assignment : Bool) :
BoolFormula.eval assignment (F.outputFormulaFamily n) = F.function n fun (input : Fin n) => assignment input

The unfolded formula at length n has exactly the circuit family's length-n semantics on the corresponding total assignment.

Family-level selected-output unfolding increases depth by at most a factor of two.

Every variable mentioned by the unfolded length-n formula lies below the declared input arity n.

Package circuit-output unfolding as a genuinely fixed-arity formula family.

Equations
Instances For

    The fixed-arity unfolded formula family has exactly the source circuit family's typed semantics.

    The fixed-arity formula packaging preserves the factor-two depth bound.

    Unfolding a circuit family computes its total-assignment semantics.

    A c * log₂ n + c circuit-depth bound produces a logarithmic-depth formula family.

    A logarithmic circuit-depth bound gives a logarithmic-depth fixed-arity formula family.

    Every typed NC1 circuit family has a variable-bounded, logarithmic-depth formula family.

    Every typed NC1 circuit family has a variable-bounded, polynomial-length width-5 permutation branching-program family.

    Pointwise typed Barrington theorem for an NC1 Boolean-function family.

    The total-assignment views of NC1 Boolean-function families are logarithmic-depth formula families.

    Pointwise form of the bridge from typed NC1 circuit families to logarithmic-depth formula families.

    Barrington for typed NC1 circuit families. Their total-assignment views have polynomial-length width-5 permutation branching programs.

    Pointwise Barrington theorem for a typed NC1 Boolean-function family.