Documentation

Complexitylib.Circuits.DepthThree.Defs

Depth-three formulas with bounded bottom fan-in -- definitions #

A Σ₃^k formula is an OR of CNFs of width at most k: a depth-three OR-AND-OR formula whose bottom gates have fan-in at most k. Its size is the number of CNFs (the top fan-in). Dually, a Π₃^k formula is an AND of DNFs of width at most k. The CNFs and DNFs are the library's Complexity.CNF and Complexity.DNF; the size measures count only the top gate's inputs, so they lower-bound every reasonable size measure of these formulas.

Main definitions #

def Complexity.IsSigmaThree {N : ℕ} (k : ℕ) (f : BitString N → Bool) (Fs : List (CNF N)) :

Fs is a Σ₃^k formula for f: an OR of CNFs, each of width at most k, that computes f.

Equations
Instances For
    def Complexity.IsPiThree {N : ℕ} (k : ℕ) (f : BitString N → Bool) (Gs : List (DNF N)) :

    Gs is a Π₃^k formula for f: an AND of DNFs, each of width at most k, that computes f.

    Equations
    Instances For
      noncomputable def Complexity.sigmaThreeSize {N : ℕ} (k : ℕ) (f : BitString N → Bool) :

      Σ₃^k(f): the least number of CNFs of width at most k whose OR computes f. For k ≥ 1 such formulas exist (Complexity.exists_isSigmaThree).

      Equations
      Instances For
        noncomputable def Complexity.piThreeSize {N : ℕ} (k : ℕ) (f : BitString N → Bool) :

        Π₃^k(f): the least number of DNFs of width at most k whose AND computes f.

        Equations
        Instances For