Documentation

Complexitylib.Algebraic.LowerBound.Cutwidth.Extractor.Strong.Block.Recursion.NearHalving.Gamma.Program.Internal

Total polynomial-time evaluation of the Gamma runtime #

The size guard selects a certified full run or a zero-step run. Both branches therefore satisfy the loop's resource contract before the final conditional output is selected. Unconditional parameter generation and bounded powering give one FP program; the statistical size guard is not an FP premise.

theorem Algebraic.Cutwidth.Extractor.Internal.gammaBlockExtractorRuntime_mem_FP {b : List Bool → ℕ} {source seeds : List Bool → List Bool} (hb : Complexity.UnaryFn b) (hsource : source ∈ Complexity.FP) (hseeds : seeds ∈ Complexity.FP) :
(fun (z : List Bool) => gammaBlockExtractorRuntime (b z) (source z) (seeds z)) ∈ Complexity.FP