Documentation

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

Correct, uniform polynomial-time evaluation of the advice-bit step #

The actual three-call look-ahead and eight-call step agree exactly with their Boolean-vector definitions at the stated common scale. Their total string evaluators have registered polytime certificates with variable source words, shared scale, error exponent, and advice bit. These results certify the concrete computation and its cost. Opposite.False and Opposite.True prove the opposite-bit statistical guarantee, and Advice.Extraction the full advice iteration (adviceCorrelationBreaker_dist_le).

The seed prefix is exactly the corresponding initial segment of the state word.

The string look-ahead encodes precisely both outputs of the concrete vector program.

theorem Algebraic.Cutwidth.Extractor.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) :

At a common valid scale, every input and either advice bit follow the vector program.

Every runtime result fits in the common state width, including invalid inputs.

Three actual extractor calls compose uniformly in the source, state, scale, and error.

theorem Algebraic.Cutwidth.Extractor.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

The entire advice-bit step is polynomial-time, including the bit-dependent choices.

Canonical paired input decodes the source words, unary scale and error, and advice bit.

A single total polynomial-time evaluator covers all input lengths and shared parameters.