Documentation

Complexitylib.Circuits.BarringtonCompiler.Internal

An executable Barrington compiler -- proof internals #

theorem Complexity.firstConjugator5_spec_internal (source target : Equiv.Perm (Fin 5)) (hexists : ∃ (g : Equiv.Perm (Fin 5)), g * source * g⁻¹ = target) :
firstConjugator5 source target * source * (firstConjugator5 source target)⁻¹ = target
theorem Complexity.barrington_commutator_internal (target : Equiv.Perm (Fin 5)) (hcycle : target.IsCycle) (horder : orderOf target = 5) :
theorem Complexity.barringtonCompile_computes_internal (formula : BoolFormula) (target : Equiv.Perm (Fin 5)) :
target.IsCycle → orderOf target = 5 → BP.Computes target (barringtonCompile formula target) fun (assignment : ℕ → Bool) => BoolFormula.eval assignment formula
theorem Complexity.barringtonCompile_var_bound_internal (formula : BoolFormula) (target : Equiv.Perm (Fin 5)) (bound : ℕ) (hvars : ∀ index ∈ formula.vars, index ≤ bound) (instruction : BPInstr 5) :
instruction ∈ barringtonCompile formula target → instruction.var ≤ bound

Internal variable-locality theorem for the executable compiler.