Documentation

Complexitylib.Algebraic.LowerBound.Cutwidth.Extractor.SourceReduction.Construction.Program.Internal.Computation

Uniform computation with two bounded enumeration loops #

Both loop counts are supplied as polynomial-time unary numbers. Every call uses the actual sampler and selected affine algorithms. XOR is a one-bit-state fold; the outer list then feeds the checked majority program. No source distribution, extractor guard, or exponential count-generation claim enters these computation theorems.

theorem Algebraic.Cutwidth.Extractor.Internal.sourceReductionCallRuntime_mem_FP {L C i j : List Bool → ℕ} {source : List Bool → List Bool} (hL : Complexity.UnaryFn L) (hC : Complexity.UnaryFn C) (hi : Complexity.UnaryFn i) (hj : Complexity.UnaryFn j) (hsource : source ∈ Complexity.FP) :
(fun (z : List Bool) => [sourceReductionCallRuntime (L z) (C z) (source z) (i z) (j z)]) ∈ Complexity.FP
theorem Algebraic.Cutwidth.Extractor.Internal.sourceReductionRuntime_mem_FP {L N C : List Bool → ℕ} {source : List Bool → List Bool} (hL : Complexity.UnaryFn L) (hN : Complexity.UnaryFn N) (hC : Complexity.UnaryFn C) (hsource : source ∈ Complexity.FP) :
(fun (z : List Bool) => sourceReductionRuntime (L z) (N z) (C z) (source z)) ∈ Complexity.FP
theorem Algebraic.Cutwidth.Extractor.Internal.sourceReductionEval_pair (source scale outerCount candidateCount : List Bool) :
sourceReductionEval (Complexity.pair source (Complexity.pair scale (Complexity.pair outerCount candidateCount))) = sourceReductionRuntime scale.length outerCount.length candidateCount.length source