Documentation

Complexitylib.Circuits.DepthClasses

Circuit depth classes #

This module defines nonuniform DEPTH, NC^i, AC^i, and TC^i classes using the library's total circuit-family convention. Every class therefore includes a specified answer on the empty input. NC i uses fan-in two, AC i uses unbounded AND/OR gates, TC i uses unbounded threshold gates, and all impose polynomial size.

The concrete polylogarithmic envelope is c * (Nat.log 2 n + 1) ^ i. Thus NC0 and AC0 are constant-depth classes, while NC1 is logarithmic depth with the same c * log₂ n + c convention as the Barrington formula-family development.

These definitions are explicitly nonuniform. Generator uniformity is an additional predicate and is not implicit in the names NC, AC, or TC.

The exponent-zero polylogarithmic envelope is the constant c.

theorem Complexity.polylogDepth_one (c n : ) :
polylogDepth 1 c n = c * Nat.log 2 n + c

The exponent-one envelope agrees with the Barrington convention c * log₂ n + c.

theorem Complexity.polylogDepth_mono_constant {c c' : } (hcc' : c c') (i n : ) :

Increasing the multiplicative constant weakens a polylogarithmic depth bound.

theorem Complexity.polylogDepth_mono_exponent {i j : } (hij : i j) (c n : ) :

Increasing the polylogarithmic exponent weakens the depth bound.

theorem Complexity.DEPTHWithBasis_mono (B : Basis) {d e : } (hde : ∀ (n : ), d n e n) :

DEPTHWithBasis is monotone in its pointwise depth envelope.

theorem Complexity.NC_mono {i j : } (hij : i j) :
NC i NC j

The NC hierarchy is monotone in its polylogarithmic exponent.

theorem Complexity.AC_mono {i j : } (hij : i j) :
AC i AC j

The AC hierarchy is monotone in its polylogarithmic exponent.

theorem Complexity.TC_mono {i j : } (hij : i j) :
TC i TC j

The TC hierarchy is monotone in its polylogarithmic exponent.

theorem Complexity.AC_subset_TC (i : ) :
AC i TC i

Exact gatewise simulation gives AC^i ⊆ TC^i without changing size or depth.

In particular, nonuniform AC0 is contained in nonuniform TC0.

In particular, constant-depth bounded-fan-in families are logarithmic depth.

Membership in NC1 is exactly polynomial size and a c * log₂ n + c pointwise depth bound for one fan-in-two family.

Membership in AC0 is exactly polynomial size and a constant pointwise depth bound for one total unbounded-fan-in circuit family.

Membership in TC0 is exactly polynomial size and a constant pointwise depth bound for one total threshold-circuit family.