Documentation

Complexitylib.Circuits.BarringtonConverse.Internal

The converse direction of Barrington's theorem -- proof internals #

This file proves correctness and logarithmic depth for balanced branching-program evaluation, then lifts that construction to polynomial-length families.

theorem Complexity.BP.eval_reachesFormula_internal {w : } (α : Bool) (d : ) (p : BP w) (x y : Fin w) :
List.length p 2 ^ d → (BoolFormula.eval α (reachesFormula d p x y) = true (eval α p) x = y)
theorem Complexity.BP.depth_reachesFormula_le_internal {w : } (d : ) (p : BP w) (x y : Fin w) :
(reachesFormula d p x y).depth (w + 1) * d + 1
theorem Complexity.BP.vars_decisionFormula_lt_internal {w n : } (p : BP w) (x : Fin w) (hvars : instructionp, instruction.var < n) (index : ) :
index (p.decisionFormula x).varsindex < n
theorem Complexity.clog_le_of_polynomial_bound_internal (C p n m : ) (h : m C * (n + 1) ^ p) :
Nat.clog 2 m Nat.clog 2 C + p * (Nat.log 2 n + 1)