Documentation

Complexitylib.Algebraic.LowerBound.Cutwidth.Extractor.CorrelationBreaker.FlipFlop.Program.Internal

Correctness and closure proofs for the concrete advice-bit program #

Canonical words follow the same three-call and eight-call computations as the vector definitions. Polynomial time is composed from the registered matched-extractor certificate, including both conditional choices. The final refresh gives a uniform output-size bound even on invalid parameters.

theorem Algebraic.Cutwidth.Extractor.Internal.flipFlopStepRuntime_eq (n m L e : ℕ) (guard : FlipFlopSizeGuard n m L e) (x : Fin n → Bool) (y : Fin m → Bool) (q : Fin (matchedBlockOutputBits 64 L) → Bool) (b : Bool) :
theorem Algebraic.Cutwidth.Extractor.Internal.flipFlopStepRuntime_mem_FP {L e : List Bool → ℕ} {x y q : List Bool → List Bool} {b : List Bool → Bool} (hL : Complexity.UnaryFn L) (he : Complexity.UnaryFn e) (hx : x ∈ Complexity.FP) (hy : y ∈ Complexity.FP) (hq : q ∈ Complexity.FP) (hb : Complexity.FPPred fun (z : List Bool) => b z = true) :
(fun (z : List Bool) => flipFlopStepRuntime (L z) (e z) (x z) (y z) (q z) (b z)) ∈ Complexity.FP