Algebraic.LowerBound.Cutwidth proves a circuit lower bound over the full
binary basis B₂: every gate computes any of the sixteen functions of two
bits, both slots may carry the same signal, fan-out is unrestricted, and the
size is the number of gates. The basis is Algebraic.Binary in
Algebraic.Basis.Binary.
The circuit proof follows Ryan Williams's private working note
A (4 − ε)n lower bound for Boolean circuits (September 2026), using the
circuit-to-read-once compiler from Samuel Schlesinger's counting note.
The graph and extractor sources, and the alternative connected-cluster
argument developed in this formalization, are identified below. The Gaussian
layout that lowers the graph-ordering coefficient below 1/3 is described in
Gaussian layouts. Its limiting
neighbour correlation 2√2/3 = 2√(d − 1)/d for d = 3 is that of Gaussian wave
functions on the 3-regular tree, studied by Csóka, Gerencsér, Harangi, and Virág,
Invariant Gaussian processes and independent sets on regular graphs of large girth
(2015), for graphs of large girth; Lyons,
Factors of IID on trees (2017), uses such waves
to bound bisections of random cubic graphs. The truncated distance kernel, its
correlation bound for every graph of maximum degree three, and the all-prefix layout
argument were developed in this formalization.
Algebraic.Cutwidth.sourceReductionHardFamily_eventually_lt_size_gaussian
proves the bound for the single concrete family
Extractor.sourceReductionHardFamily:
theorem sourceReductionHardFamily_eventually_lt_size_gaussian
{ε : ℝ} (hε : 0 < ε) :
∀ᶠ n in Filter.atTop, ∀ circuit : Circuit Binary.signature n 1,
circuit.Computes Binary.interpretation
(fun x _ => Extractor.sourceReductionHardFamily n x) →
(1 + Real.pi / (3 * Real.arccos ((1 + 2 * Real.sqrt 2) / 4)) - ε) * n <
circuit.sizeThe coefficient 1 + π/(3 arccos((1 + 2√2)/4)) is about 4.5625.
sourceReductionHardFamily_eventually_lt_size_fortyOne_div_nine states the rational
weakening (41/9 − ε) n, and
sourceReductionHardFamily_eventually_lt_size keeps the coefficient-four
statement (4 − ε) n obtained from the cubic pathwidth bound.
There is no graph, extractor, entropy, or hard-family hypothesis.
Extractor.sourceReductionHardEval_mem_FP certifies one total uniform
polynomial-time evaluator; sourceReductionHardEval_ofFn identifies every
Boolean slice with that evaluator, including length zero.
sourceReductionHardLanguage_mem_P proves membership of the corresponding
language in P. The family is fixed before ε, and n is its full input
length, including the fresh balancing bit.
Both the complexity and the hardness claims are asymptotic, with enormous
constants. On n unpadded bits the evaluator enumerates
(2^clog₂(n+1))^(2^27) ≥ (n+1)^(2^27) outer coordinates, so the polynomial
behind FP and P has degree at least 2^27 ≈ 1.3·10^8. The proof
identifies the computed family with the extractor only where the candidate
cap n + 1 is inactive. With L = clog₂(n+1) that needs
2^27 · clog₂(2^24 L + 1)^3 ≤ log₂(n+1), which for positive n means
log₂(n+1) ≥ 2^27 · 70^3 ≈ 4.6·10^13. Every circuit bound for this family,
the Gaussian, 41/9, and coefficient-four forms alike, is therefore
established only beyond an implicit threshold above 2^(4.6·10^13).
The general theorem is Algebraic.Cutwidth.eventually_lt_size_of_rectangleFree
in Algebraic.LowerBound.Cutwidth.FourN:
theorem eventually_lt_size_of_rectangleFree
(f : ∀ n, Cslib.BooleanFunction n) (K : Nat → Nat)
(hK : (fun n => Real.logb 2 (K n)) =o[atTop] (fun n => (n : ℝ)))
(hacc : ∀ᶠ n in atTop, 2 ^ (n - 2) ≤ (accepting (f n)).card)
(hrect : ∀ᶠ n in atTop, RectangleFree (f n) (K n))
{ε : ℝ} (hε : 0 < ε) :
∀ᶠ n in atTop, ∀ circuit : Circuit Binary.signature n 1,
circuit.Computes Binary.interpretation (fun x _ => f n x) →
(4 - ε) * n < circuit.sizeThe family and threshold are fixed before ε. Only log₂ K(n) = o(n)
is required; polynomial thresholds are a special case. Its Gaussian
counterpart eventually_lt_size_of_rectangleFree_gaussian (module
Algebraic.LowerBound.Cutwidth.Gaussian) has the same hypotheses and the
coefficient 1 + π/(3 arccos((1 + 2√2)/4)). The older entry
points with explicit bisection, pathwidth, or ordering bounds remain available.
The library proves those graph bounds and adds no axioms.
The same fixed Boolean family retains coefficient L ≈ 4.5625 with finite
commutative aggregate gates whenever their joint contributions factor through a
finite monoid M with 2 ceil(log₂ |M|)=o(n). One state guesses every special
output and one checks their joint aggregate. This permits arbitrary dependencies
between special gates and imposes no bound on their number. The local homomorphic
factorization must recover the full registers, not merely their Boolean readouts.
See Compressed/Hardness.lean.
For one common prime modulus p, a canonical factorization has exactly p^r
states, where r is the rank of the full matrix of wire contributions, including
both values of every wire. Thus 2r ceil(log₂ p)=o(n) suffices; the modulus may
vary between circuits. See ModularHardness.lean.
Without any budget restriction, signed unbounded AND/OR/XOR circuits computing
the scalar family require (1.2453914029…-ε)n gates eventually. The same basis
requires at least 1.5659486596… n - 0.6016050397… gates for all coordinates of
binary-field inversion, in every supplied linear basis and dimension n≥3.
These decimal values abbreviate exact logarithmic constants. The new step bounds
residual-message entropy inside large disjoint majority fibers: distinct literal
assignments have probability at most (2/3)^d, giving conditional two- and
three-literal savings. It combines with the same pairing's affine restriction.
See Conditional/Hardness.lean
and Conditional/Inversion.lean.
Historical novelty of these extensions is not established by the formalization.
The coefficient L = 1 + π/(3 arccos((1 + 2√2)/4)) also holds for polynomial
circuits computing all coordinates of a totally regular n × n linear map.
Every gate has at most two input slots; its polynomial degree and coefficients
are unrestricted, as are circuit depth and fanout. The theorem holds over every
field, with a threshold uniform over fields, matrices, and gate polynomials.
See Polynomial.lean.
An explicit target over Q, R, or C is the Cauchy matrix
M(i,j) = 1 / (i - (n+j)), for 0 ≤ i,j < n. These are the same rational entries
in each field. For every ε>0, all sufficiently large members require more than
(L-ε)n polynomial gates. Coefficients built into a gate are free; explicit
nullary gate occurrences count in this polynomial theorem's Circuit.size.
See Cauchy.lean.
For ordinary arithmetic circuits, the same bound counts only additions and multiplications: arbitrary constant gates are free. The checked compiler absorbs constant inputs into polynomial coefficients and emits exactly one gate per arithmetic operation. No extra output gate is needed because each target row is nonconstant. See Arithmetic.lean.
Over infinite fields, formal differentiation at zero assigns a coefficient row to each original wire. A gate's row lies in the span of its argument rows, including when those arguments have nonzero constant terms. Across a cut, output rows on one side restricted to inputs on the other lie in the span of the crossing signals. Matrix rank replaces finite-state counting. Over finite fields, the existing counting theorem supplies the same rank-cut inequality. The layout and asymptotic arguments are shared with the earlier theorem.
Valiant's totally regular matrix method and Lev--Valiant's classical 4n-o(n)
superconcentrator baseline precede this transfer. See the
source and model audit
for the distinction from known superlinear bounds for algebraic entries in large
number fields; no general arithmetic-record claim is made.
The coefficient four is 1 + 1/A for the graph-ordering coefficient
A = 1/3. Multigraph.OrderingBound A η C states that every connected
loopless multigraph of maximum degree three with N vertices and M edges
has a vertex ordering whose prefix cuts have at most
(A + η)(M − N)⁺ + 3 log₂ N + C edges. The counting argument is proved for
every A > 0: if the ordering hypothesis holds for every slack η > 0, then
eventually_lt_size_of_orderingBound gives more than (1 + 1/A − ε) n gates
under the hypotheses of eventually_lt_size_of_rectangleFree, and
nondet_eventually_lt_size_of_orderingBound gives the same for
nondeterministic circuits. The cubic core of a final compression has at most
2 (M − N)⁺ vertices, so a cubic cutwidth bound CutwidthBound c ξ N₀
(prefix cuts at most (c + ξ) h) or pathwidth bound PathwidthBound p ξ N₀
(bags at most (p + ξ) h + 1) at every positive slack gives A = 2c or
A = 2p (eventually_lt_size_of_cutwidthBound,
eventually_lt_size_of_pathwidthCoefficient). The proved Fomin–Høie bound
has p = 1/6. sourceReductionHardFamily_eventually_lt_size_of_orderingBound
transports any such coefficient to the same concrete family, and
sourceReductionHardFamily_eventually_lt_size is its case A = 1/3.
The Gaussian cutwidth layout supplies A = (6/π)(3 − 2√2) ≈ 0.32768, and the
Gaussian edge-score decomposition supplies A = 2p ≈ 0.28070 with
p = (3/(2π)) arccos ((1 + 2√2)/4); its rational weakening A = 9/32
(Multigraph.exists_orderingBound_nine_div_thirtyTwo) gives 41/9.
Complexitylib.Circuits.Frontier (namespace Complexity.Frontier, mirrored from the
frontier-method development by scripts/sync_frontier.py) proves the same bound in a general
form. Circuits may be over any finite alphabet U, any CSLib signature and
interpretation, and any accepting set, with fan-in r; only gates of positive arity are
counted (Cslib.Circuits.Circuit.innerSize), so constant gates are free. A program of
fan-in r compiles into an exact constraint network of maximum degree r + 1 whose cycle
rank plus the number of inputs it reads is at most (r − 1) s + 1
(Frontier.Compiler.cycleRank_add_ncard_read_le). The layout hypothesis
Frontier.LayoutBound d A bounds prefix cuts by (A + η) β₁ + η |V| + C, and
Frontier.lowerBound gives (r − 1) s > (1 + 1/A − ε) n for dense rectangle-free sets
with log K = o(n). Frontier.LayoutBound.of_orderingBound turns the ordering bound above
into LayoutBound 3 A, and the mirrored development also proves the Gaussian coefficient
itself (Frontier.lowerBound_gaussian, Frontier.gaussianCoefficient_eq_frontierCoefficient).
Gaussian vertex layouts give LayoutBound d A_d in every degree, with
A_d = 3d/(2d − 3) · arccos(2√(d − 1)/d)/π < 3/4 and A_4 = 2/5
(Frontier.layoutBound_degree), hence (r − 1) s > (1 + 1/A_(r+1) − ε) n for every fan-in
and (7/4 − ε) n gates at fan-in three (Frontier.lowerBound_degree,
Frontier.lowerBound_fanInThree).
The concrete family satisfies the frontier hypotheses
(Frontier.sourceReductionHardFamily_frontierHypotheses), so it inherits these bounds over
every Boolean basis, for verifier circuits, and with sublinear monoid-aggregate gates
(Frontier.sourceReductionHardFamily_lt_innerSize_gaussian, ..._degree, ..._fanInThree,
and siblings). Weighted
peeling also bounds the agreement of the unpadded extractor with every circuit below
(L − ε) n gates by 71/72 + 2^(−γ n) (Frontier.sourceReductionFamily_agreement_le).
The blueprint section The frontier method states every result, and the
research note
records the refinements that still need supply theorems.
The formalized bisection-to-pathwidth assembly cannot give a coefficient below
1/6: PathDecomposition.exists_of_balanced_cut bounds bags by
max(cut, (N + 1)/6 + 1) plus a logarithm, charging each side |side|/3, so a
smaller bisection width alone does not help.
Algebraic.LowerBound.Cutwidth.Gaussian.Layout instead orders the cubic core
directly and controls every prefix cut.
- Kernel (
Gaussian.Kernel). For a decay rateqand radiusR, the row ofvisa_v(z) = q ^ dist(v, z)within distanceRand0beyond, andâ_vis its normalization. In every graph of maximum degree three, spheres have at most3 · 2 ^ dvertices (card_sphere_le), and adjacent rows have correlation at least2q/(1+q²) − 3 (2q²)^R(sum_unitKernel_mul_ge). The pointwise inequalityxy ≥ κ (x² + y²)/2,κ = 2q/(1+q²), holds whenever the two distances are both within the radius, because they differ by at most one; only the truncation sphere contributes a defect. No girth hypothesis is needed. - Crossings (
Gaussian.Edge). Withωstandard Gaussian, a threshold separates the scores⟨α, ω⟩and⟨β, ω⟩of equal-norm vectors with probability at most(2/π) ‖β − α‖ / ‖α + β‖(gaussPi_between_le):⟨α + β, ω⟩and⟨β − α, ω⟩are uncorrelated jointly Gaussian, hence independent; condition on the second, bound the density of the first, and useE|N(0,1)| = √(2/π). For unit rows with correlationρthis is(2/π) √((1 − ρ)/(1 + ρ)), at every threshold. - Locality (
Gaussian.SecondMoment). Each event depends only on the coordinates in a kernel ball, and each ball meets boundedly many others, so every count of events has varianceO(h)and Chebyshev's inequality applies (pi_deviation_le). - Assembly (
Gaussian.Layout). Fix thresholds−T + iδ. Every prefix of the score order lies between two consecutive threshold sets or inside a tail, so its cut is at most a threshold cut plus three times a window count, or three times a tail count. With probability1 − O(1/h)all2M + 2counts are withinεhof their means, so one sample bounds every prefix at once. Lettingq ↑ 1/√2andR → ∞, the correlation tends to2√2/3, where√((1 − ρ)/(1 + ρ)) = 3 − 2√2; the three halves edges per vertex give the cutwidth coefficientc = (3/π)(3 − 2√2) ≈ 0.16384(Gaussian.exists_cutwidthBound).
The ordering coefficient is A = 2c = (6/π)(3 − 2√2) ≈ 0.32768
(Multigraph.exists_orderingBound_gaussian), and 1 + 1/A = 1 + π(3 + 2√2)/6
because (3 − 2√2)(3 + 2√2) = 1. The bound (2/π) tan(θ/2) used for the
crossing probability is slightly weaker than the exact θ/π,
θ = arccos ρ, which would give 1 + π/(3 arccos(2√2/3)) ≈ 4.0815.
Counting crossing edges charges a vertex once for every incident edge that crosses a
prefix. Algebraic.LowerBound.Cutwidth.Gaussian.Frontier charges it once: each edge uv
receives the score ⟨y_uv, ω⟩ with y_uv = (x_u + x_v)/‖x_u + x_v‖ (x the normalized
kernel rows), the edges are listed by score, and each vertex stays in the bags between its
first and last edge (exists_pathDecomposition_of_edgeScore). A vertex occupies the bag
at threshold t exactly when t separates two of its three edge scores, so it is
charged at most a quarter of its separated ordered edge pairs
(indicator_edgeStraddles_le).
The edge vectors at v have correlation √((1 + ρ)/2) with x_v, where ρ is the
kernel correlation of the edge. Since ‖Σ y_e‖ ≥ ⟨Σ y_e, x_v⟩, their pairwise
correlations average at least (1 + 3ρ₀)/4, and arccos is concave on [0, 1]
(sum_arccos_star_le). By Sheppard's bound (gaussPi_between_le_arccos) a pair with
correlation ρ' is separated by any threshold with probability at most arccos ρ'/π: the
sum and difference of two equal-norm Gaussian forms are independent, the one-dimensional
Anderson inequality moves the threshold to zero, and the planar angle law
P(|Z₁| ≤ k |Z₂|) = (2/π) arctan k gives the angle. So a vertex straddles a threshold with
probability at most (3/(2π)) arccos ((1 + 3ρ₀)/4). The grid, locality, and second-moment argument are as
for the cutwidth layout. With ρ₀ → 2√2/3, every large cubic graph has pathwidth at most
(p + ξ) h with p = (3/(2π)) arccos ((1 + 2√2)/4) ≈ 0.14035
(Gaussian.exists_frontier_pathwidthBound). The median ordering turns this into the
ordering coefficient 2p ≈ 0.28070 ≤ 9/32 and the circuit coefficient
1 + π/(3 arccos((1 + 2√2)/4)) ≈ 4.5625.
A one-rectangle of f is a product P × Q, for a split of the coordinates
into U and its complement, on which f is identically 1. The function is
K-rectangle-free when every one-rectangle under every split has a side with
fewer than K elements. The theorem assumes such a family with
log₂ K(n) = o(n) and at least 2 ^ (n - 2) accepting inputs.
The general theorem applies to every qualifying family. The concrete
sourceReductionHardFamily now supplies one such uniform polynomial-time
family, using the actual extractor composition described below.
Cutwidth.Extractor proves the bridge from flat-source sumset extraction.
FlatSumsetExtractor counts independent source pairs with multiplicity,
including pairs with equal sums. Error at most 1/4 gives both family
properties directly. Extractor.Padding allows any fixed error strictly
below 1/2: balancePad f adds a fresh XOR bit, is exactly balanced, and
has rectangle threshold 2 K. Its list evaluator preserves membership in
Complexitylib's FP.
eventually_lt_size_balancePad_of_flatSumsetExtractor and its
nondeterministic counterpart check the full asymptotic bridge: the padded
family needs more than (4 - ε) (n + 1) gates at its full input length,
assuming an eventually positive threshold with log₂ K(n) = o(n).
The construction uses conservative parameters.
Xin Li, Theorem 7.13 (2023) gives a
polynomial support threshold. The weaker requirement here also admits the
polylogarithmic source entropy of
Chattopadhyay and Liao (2021).
For the latter route, the strong linear primitive described below now has
logarithmic seed length and arbitrary fixed polylogarithmic output. The
ordinary short-seed extractor Γ now also has its separate linear-output
parameters: for all sufficiently large b, it extracts b bits from 8b
input bits with entropy at least 2b, error at most 1/4, and a seed of
at most 2^27*(clog 2 (b+1))^3 bits. The finite independence-merging
lemma is proved with the exact retained variables and an average leakage
budget, as described below. The complete affine correlation breaker now
has a checked original-source guarantee for every positive tampering count,
explicit finite parameters, and one total uniform polynomial-time evaluator.
The actual source-reduction map, its parity estimates, and its finite
sumset/amplification composition are now proved in
SourceReduction.Construction. Construction.Asymptotics proves its
numerical sampler guards eventually and its source entropy sublinear;
Construction.Uniform supplies the complete uniform family.
The final analytic implication is proved in Extractor.SourceReduction.
For every qualifying pair of flat sources P, Q, suppose at least half
of the fixings in Q leave m > 0 good output coordinates whose nonempty
parities of orders at most four have absolute sign expectation at most δ.
If 100 m² δ ≤ 1 and at most sqrt m / 8 coordinates are bad, the
majority output is a sumset extractor with error 35/72 < 1/2.
The good coordinates may depend on the source pair and fixing; the reduction
itself must be a single fixed function of the XOR input. Raw moment bounds,
normalization, the quartic tail certificate, majority robustness, and
averaging over fixings are all checked. The majority evaluator belongs to
FP. The concrete finite construction now supplies these parity bounds.
Extractor.Sampler also proves the finite extractor-to-sampler conversion
used in that construction, for arbitrary source probability weights.
Extraction from supports of size at least K gives sampling for sources
with point masses at most 1/L, provided K ≤ δL. This is the entropy
direction used in the proof of Chattopadhyay--Liao Lemma 3.18; their printed
Lemma 3.15 reverses it. The module proves the conversion without assuming
that a short-seed extractor has already been constructed.
Sampler.Amplification proves the next finite step: a neighbor map that
reaches a sufficiently large fraction of base seeds turns the sampler into
a somewhere sampler with the same source threshold and failure probability.
Seeded extraction itself supplies that neighbor-coverage guarantee.
SourceReduction.BadSeeds and SourceReduction.Selection count all low-order
parity tests, combine their excluded seeds, and select the good fixings and
coordinates. The general selection theorem takes individual parity estimates
as premises; SourceReduction.Tests now proves them from the actual affine
construction. A failure bound of 1/2 is used directly on good fixings,
before any approximation by a different source distribution.
Condenser.Polynomial defines the modular-squaring map underlying the
Guruswami--Umans--Vadhan condenser, with the characteristic-power exponent
used by Cheraghchi to obtain linearity. Its coordinate formula, state-degree
bound, and linearity over ZMod 2 are checked. Condenser.Expansion proves
the finite expansion bound for a supplied monic irreducible modulus of
degree at least two. Every source set P of distinct polynomials below that
degree, with |P| ≤ h^m, has at least
(q - (deg E - 1)(h - 1)m)|P| distinct neighbors, retaining the seed in
each neighbor. The proof uses exactly |P| interpolation monomials, removes
common modulus factors, and counts roots in the quotient field.
Condenser.Lossless.Polynomial converts that bound to a distributional
guarantee for every qualifying flat source: the seeded output is within
(deg E - 1)(2^r - 1)m/q of an ideal output that, conditional on each seed,
is uniform on exactly |P| values. The comparison uses every test on the
joint seed-output space, and the condenser map stays fixed as P varies.
Lossless.Mixture proves exact averaging over all K-subsets and preservation
of test discrepancy under normalized nonnegative mixtures.
polynomialCondenser_flat_mixture therefore covers every flat support of
size at least K, provided K ≤ (2^r)^m: its ideal output is an explicit
mixture of seedwise K-flat distributions. The source support itself may
exceed the output alphabet size. The later Strong.FlatMixture and
Strong.Weighted.Condenser layers supply the decomposition and transfer
for arbitrary capped probability weights.
Modulus.Binomial supplies the family X^(3^s) - a, monic and irreducible
whenever a is a noncube, by Mathlib's odd-prime-power Kummer theorem.
Rounding the degree to a power of three costs less than a factor of three.
Noncube existence is also proved when 3 divides q - 1.
Binomial.Extension proves that the quotient root has norm a, so it is
again a noncube and can supply the next binomial modulus's coefficient.
Modulus.Binary constructs the explicit irreducible family
M_s = X^(2*3^s) + X^(3^s) + 1 over ZMod 2. Its quotient has cardinality
2^(2*3^s) and its named root is a noncube, so the next extension coefficient
requires no search. Binary.Codec gives an equivalence between that quotient
and coefficient lists of length exactly 2*3^s, including high zero bits.
Both round trips and the decoding laws for addition, multiplication,
remainder, and modular squaring are checked. This is a semantic codec;
the runtime programs operate directly on bit lists. Binary.Extension uses
Mathlib's quotient-composition equivalence to identify the binomial tower
with the quotient by M_(s+v), including the exact root and coefficient laws.
Parameters.Sparse checks that restricting field bit lengths to twice a
power of three can preserve rate 1 + 1/u: choose the field size first,
then the powering exponent. The finite output-length and normalized-error
inequalities are proved, including the ceiling-division slack.
The encoded arithmetic layer supplies addition, carryless multiplication,
runtime-modulus remainder, bounded modular squaring, and blockwise Horner
evaluation. Each operation has an exact polynomial interpretation and a
uniform FP evaluator registered for polytime. The loops keep every state
at the modulus degree in bits. Missing coefficient bits are zero; widths and
iteration counts are unary word lengths. Zero moduli have explicit total
behavior: remainder returns the dividend, while squaring and Horner return
the empty list.
The trinomial generator rounds a requested unary half-degree up to a power
of three. Binary.Encoding.encodedBinaryFrobenius composes this generator
with bounded modular squaring; its exact semantics, output width, and
uniform FP membership are proved. The new UnaryFn.pow_clog closure rule
lets polytime handle rounding, including runtime bases and the zero cases.
Condenser.Encoding now supplies the complete uniform FP program. It
transposes source coefficient bits into the larger binary quotient, performs
bounded modular squaring, transposes back, evaluates by Horner, and concatenates
the requested coordinates. Encoding.Correctness identifies the decoded output
vector exactly with polynomialCondenser over the explicit field and binomial
extension. Source packing is injective for every fixed length within the
coefficient rectangle, including partial final blocks. The source and seed
may be padded; the runtime program is total even for malformed inputs.
The field interpretation requires the intended power-of-three dimensions.
Encoding.Correctness.Linear proves source additivity for every field seed,
including unequal padded source lengths. Encoding.Lossless transfers the
retained-seed lossless and mixture bounds to these actual output coordinates;
the concrete field's cardinality and irreducibility are proved internally.
Parameters.Explicit selects every numerical parameter from source length
n, entropy budget k, inverse-error exponent e, and positive rate parameter
u. Set T=e+clog₂(9(n+1)(k+1))+1, choose the sparse field width b and
stride r=b-T, then round the extension degree d up to a power of three
above both 3 and ceil(n/b). With m=ceil(k/r), the checked inequalities are
n≤bd, d≤9(n+1), k≤rm, b≤6(u+1)T, u·mb≤(u+1)k+ub, and
dk·2^e≤2^T. These are explicit finite bounds, including the empty source
and zero entropy cases. The rounding choices adapt the sparse-grid argument
above; they are deductions in this formalization.
Encoding.Explicit supplies a single paired-input FP evaluator that computes
those parameters and runs the condenser. Its output has exactly mb bits;
the decoded output is linear in the source and is within 2^-e of the
corresponding seedwise flat witness for supports of size at most 2^k. For larger flat
supports it is within 2^-e of an explicit mixture of seedwise 2^k-flat
witnesses. All tests retain the seed, and the map is independent of the source
support. The runtime parameters use unary words; both rounded powers have
checked polynomial bounds, so no exponential-size field table is constructed.
Extractor.Strong defines extraction by tests on the retained seed and output.
For every nonempty flat support P with K ≤ |P|, each test differs from
independent uniform seed/output by at most the specified error. Product tests
give the existing weak FlatSeededExtractor contract in Sampler. No empty
support is treated as a probability distribution, even when K=0.
Hashing proves the finite leftover-hash lemma from collision universality:
if distinct inputs collide on at most a 1/M fraction of seeds, every joint
test on a flat support of size N>0 has squared discrepancy at most M/(4N).
Thus ε≥0 and M ≤ 4 ε² K give strong extraction at threshold K>0. Full pairwise
independence is unnecessary. Hashing.Field realizes universality by field
multiplication followed by a surjective additive projection; the collision
fraction is exactly 1/M. These are the standard multiplication/truncation
and composition mechanisms in
Guruswami--Umans--Vadhan, Lemma 5.1, Proposition 4.5, and Remark 5.15.
Hashing.Binary instantiates the projection with the first ell coefficients
of the explicit binary field. Its runtime program multiplies, reduces modulo
the generated trinomial, and takes the requested prefix. It has a uniform
FP evaluator; within field capacity its output has exactly the requested
width and its decoded map is additive in the source. Fixed input length is
required for decoding to be injective. Encoding.Serialization identifies
coordinate vectors with bitstrings of their exact total width, including
zero padding, and proves that re-encoding the decoded condenser recovers its
actual runtime output.
Strong.Composition then applies the hash to the condenser's supplied flat
mixture. Each ideal support may depend on the condenser seed and mixture
component; the component weights are nonnegative and normalized. A fresh
independent hash seed adds the two test errors. Both seeds remain in every
final test, and the actual condenser is not assumed injective.
Strong.OneShot supplies this composed program with a fully selected schedule.
For source length n, requested output ell, and inverse-error exponent e,
set k=ell+2e; use condenser rate u=1 and error exponent e+1. Let its
field width be b and output width be N, then choose a hashing field of
width B covering max(N,ell). The checked finite bounds include
N ≤ 2(ell+2e) + b,
B ≤ 6(N+ell+1),
b+B ≤ 7b + 12(ell+2e) + 6ell + 6.
The exact leftover-hash budget and addition of the two half-errors yield
decodedOneShotExtractor_flat: every flat support of n-bit words with
at least 2^(ell+2e) elements gives an ell-bit output within 2^-e of
uniform, against all tests retaining both independent field seeds. The
statistical map is the decoded actual bit program. Its output length is
exactly ell, its fixed-seed map preserves source XOR even outside the
fixed-length promise, and its total paired-input evaluator belongs to FP.
All parameters and actual field half-degrees have registered unary
polynomial-time certificates. This is a finite implementation of the
condense-then-hash step in
Chattopadhyay--Goodman--Liao, Lemma 4.9,
using the explicit sparse field schedule developed here.
Strong.FlatMixture extends this result beyond flat sources. For K>0,
every finite nonnegative probability weighting p with K*p(x)≤1 is an
exact convex mixture of uniform K-element supports. The proof completes
p to a doubly stochastic matrix and uses Mathlib's Birkhoff--von Neumann
theorem, formalized by Bhavik Mehta in Mathlib.Analysis.Convex.Birkhoff.
Strong.Weighted then proves that the flat and weighted strong-extractor
contracts are equivalent at positive thresholds, with no added error.
In particular, decodedOneShotExtractor_ofFn_weighted gives the same
actual program's guarantee for every distribution on Fin n → Bool
whose point masses are at most 2^(-(ell+2e)).
Strong.Weighted.Condenser expresses the condenser witness as a normalized
distribution at each retained seed. Exact-size flat injection witnesses
extend to all capped weights. Thus decodedExplicitCondenser_weighted_ofFn
preserves the input cap 2^-k in its ideal conditional output for every
positive rate parameter u, with joint statistical distance at most 2^-e.
Strong extraction is the special case
where the ideal output is uniform on its whole type. The ideal weights are
existential statistical witnesses; the already checked runtime program is
unchanged.
Strong.Weighted.Probability supplies finite total variation, its test
characterization, and contraction under deterministic maps.
Strong.Weighted.Coupling constructs maximal couplings and replaces one
marginal of a correlated pair while preserving the other. The joint
distance equals the original marginal distance. Its lifted kernel also
records conditional independence of the replacement from the second
coordinate given the first, including rows of mass zero. This is the finite
coupling ingredient of
CGL Lemma 4.19, which credits Li's 2015 Lemma 3.20.
Strong.Weighted.Coupling.Conditional extends this construction across an
external transcript. The target law of (Z,A') must have the original Z
marginal. The coupling preserves the whole original (Z,A,B) law and has
disagreement exactly equal to the joint marginal distance. Its kernel makes
A' independent of B given (Z,A). Projecting to (Z,A',B) preserves
(Z,B) jointly, with full joint distance exactly the original marginal
distance. These are average identities, including null transcript rows;
individual rows need not have small error.
Strong.Weighted.Conditional defines normalized conditional rows, completing
null rows uniformly, and uniformSecondWeight, which replaces the output
by independent uniform randomness while preserving its actual side-information
marginal. Distance from this law is exactly the average conditional distance.
Observing or forgetting part of the side information cannot increase it.
Strong.Weighted.Expectation proves the sharp change-of-measure bound:
every statistic in [0,1] changes by at most total variation between
equal-mass laws. It also identifies strong extraction with a retained-seed
distance bound.
WeightedStrongSeededExtractor.leakage_dist_le gives the finite average
leakage estimate. For a normalized joint source p(tag,x) and nonnegative
envelopes p(tag,x) ≤ μ(tag), a threshold-K extractor with error ε ≥ 0 has
distance at most ε + K*∑tag μ(tag) from a uniform output, retaining both
the complete tag and the independent uniform seed. Individual normalized
rows may violate the extractor cap. Their total mass is controlled by the
joint envelopes, and null rows contribute zero. This is the finite
average conditional-entropy step used in
Chattopadhyay–Liao, Lemma 3.26,
which credits Chattopadhyay–Goodman–Liao and ideas from
Chattopadhyay–Li (2016).
Strong.Weighted.Merging proves the two-sided version. Given a transcript
Z, the complete left and right variables A,B have independent laws.
The source X and initial observation U depend on the left side; the
seed Y and observation V depend on the right. An extra leak L may
depend on Z,V,A. If μ(z,u) bounds each joint mass
Pr[Z=z,U=u,X=x], and (Z,V,Y) is δ-close to its actual (Z,V) law
with a fresh uniform seed, then extraction retains (Z,B,U,L) with error
at most ε + δ + K*card(L)*∑μ. The comparison preserves the actual
retained marginal. Both seed laws average the same statistic in [0,1],
so the seed discrepancy costs exactly one δ. This theorem uses a
joint-mass envelope and permits low-entropy conditional rows.
Strong.Weighted.Merging.Independence specializes this to the finite
form of CL Lemma 3.26. The left variable contains X,X₁,…,Xₜ; the right
contains Y,Y₁,…,Yₜ. For arbitrary sets S,T, the hypothesis bounds the
joint source masses after observing Z,X_T and bounds the seed distance
conditioned on Z,Y_S. Writing Wᵢ=E(Xᵢ,Yᵢ), the actual conclusion retains
Z,Y,Y₁,…,Yₜ,W_(S∪T) alongside E(X,Y). Its error is
ε + δ + K*card(Out)^card(S)*∑μ, or 2ε+δ when the last term is at most
ε. The sets may overlap. For m-bit outputs the leakage factor is
2^(m*card(S)); the formal contract uses the explicit joint-mass budget
in place of logarithmic average conditional min-entropy notation.
Strong.Weighted.Transcript formalizes the deterministic-observation rule
of CL Lemma 3.25. After observing a left-side message f(Z,A), the transcript
weight is w(z)*Pr[f(z,A)=u | z] and its left kernel is normalized on that
event, with a uniform completion on null events. The unchanged right kernel
and these new factors give exactly the original joint law with the message
retained. The symmetric rule and a left message followed by an adaptive
right message are also proved, preserving both original side variables.
Transcript.Envelope supplies the exact source-mass identities behind the
entropy bookkeeping. A message with alphabet U computed from the source
multiplies the total joint envelope by card U. A message from the independent
opposite side scales each envelope row by that message's probability and
preserves its total. A source message followed by an adaptive opposite-side
message therefore pays only card U, including null rows.
Strong.Weighted.Conditional.Transport proves that a bijection of the
output depending on its retained tag preserves distance from uniform
exactly. Strong.Weighted.Affine applies this to a source combined with a
right-side mask. If a fixed mask acts bijectively on each fixed-seed
extractor output, the actual extraction law retains the full right state
with error ε + δ + K*∑z μ(z). Here μ(z) bounds each joint source mass
and δ is the seed's joint distance from uniform given Z; no separate
bound for every transcript row is assumed.
Strong.Block.Recursion.Scheduled.Affine supplies this guarantee for the
actual Boolean extractor program on a left source XOR a correlated right
mask. Its fixed-seed XOR identity discharges the output-bijection premise,
and the checked extractor theorem discharges the extraction premise.
Both the general finite schedule and the explicit error-2^-e schedule
retain every right-side value and use the exact Boolean seed width,
without caller-provided extractors or finite-field instances. This proves
the retained-law estimate used by the first affine extraction step in CL
Theorem 6.1. Matching its parameters and transcript budgets, the
correlation-breaker call, and the evolving alternating/doubling guarantees
remain open.
Strong.Weighted.Alternating proves the next local transition. Reveal a
right-side message V, then use a seed computed from the left state and
that message to extract from the right source. The original normalized
sides are independent given Z, and the next seed is δ-close to uniform
jointly with (Z,V), retaining its actual marginal. The output retains the
entire left state and the message. Its error is ε + δ + K*∑μ for a joint
message-and-source envelope, or ε + δ + K*card V*∑μ for an original
source envelope. The proof updates the actual transcript and swaps the
factored sides, so the incoming seed discrepancy is charged once.
affine_alternating_dist_le obtains that seed from an actual first affine
extraction call: the revealed right message consists of its seed and its
extracted mask. The two-call law uses both original sources and retains
the complete left state. The resulting bound includes both extractor
errors and both explicit entropy budgets. This supplies a local transition;
the full tampering-set induction and parameter allocation remain open.
Strong.Weighted.LookAhead now derives both honest seed transitions in the
actual two-round, one-tampering computation. Write s1=prefix(q),
r1=W(x,s1), s2=QExt(q,r1), and r2=W(x,s2), with the same calls on
arbitrarily correlated tampered inputs. The final law retains the entire
right state and both first outputs. If the original seed has joint error
δ, the left/right extractor errors are ε,η, and their thresholds are
K,J, the bound is
2ε+η+δ+K*(1+card(Mid×Mid))*∑μ+J*card(Seed×Seed)*∑ν.
Only the original source envelopes and seed error are premises; the
second seed estimate follows from the actual calls. This is the two-round
argument of Chattopadhyay–Goyal–Li, Lemma 6.5 and Claim 6.6,
with explicit average entropy accounting that includes null transcripts.
Strong.Weighted.Perturbation separately handles a seed approximately
uniform jointly with the source and tag. It proves error
ε + 2δ + K*∑μ while retaining the actual tag-and-seed marginal.
Comparing with the independent-seed reference marginal costs only one
δ; returning to the actual marginal can cost the second. These are
finite stability bounds derived from leakage and deterministic contraction.
Strong.Block defines a block source by prefix-mass inequalities,
K*p(prefix, next)≤p(prefix). Prefixes and normalized mixtures preserve
these inequalities. A source on t blocks has joint cap K^t; full
conditional entropy forces exact uniformity on all block tuples.
The zero-, one-, and two-block characterizations are
checked, including the bridge to Strong.Block.Splitting. For two blocks
with 2^m possible values each, a source of min-entropy k has a repaired
two-block source of conditional min-entropy t and error at most 2^-e
whenever t≤m and m+t+e≤k. The first marginal is preserved exactly.
The proof uniformizes only low-mass rows. This formalizes the finite
two-block repair in
CGL Lemma 5.3, attributed there to Goldreich--Wigderson (1997).
The explicit repair also preserves the original joint point cap, a useful
invariant when it is applied inside a longer block source.
Strong.Block.Conditioning decomposes a block source into its capped head
and normalized block-source tails. Zero-mass head rows are completed using
a positive row. Its converse also permits unnormalized nonnegative row
coefficients with the prescribed head totals. Strong.Weighted.Mixture
proves that retaining a mixture tag gives exactly the weighted sum of
component total variation distances. In particular, retained-seed distance
is the average of the conditional distances at each seed.
Strong.Block.Condenser.Repair replaces a deterministic head f(a) while
preserving the latent state's conditional block-source tail. The repaired
tuple has the prescribed capped head, remains a block source, and its joint
distance is exactly the distance between the old and new head marginals.
The construction first repairs the joint law of (f(a),a), then attaches
the same normalized conditional tail to each latent value. This gives
the factorization needed to preserve all tail prefix caps.
IsBlockSource.exists_split_pow_two proves the finite power-of-two form of
CGL Corollary 5.4.
For a threshold-2^k source on t pair blocks, each half with 2^m
possible values, s≤m and m+s+e≤k give a threshold-2^s source on
2t successive halves within total variation t*2^-e of the actual split
law. splitBlockEquiv preserves the order first half, second half, then
the next pair. The hypothesis is a conditional block-source bound after
each earlier pair; the pairs need not be independent. The proof repairs a
head pair while retaining its original joint cap, uses correlated head
replacement to preserve the remaining input block caps, and applies
induction to its conditional tails. Splitting adds no random seed, and
the theorem includes zero blocks without a feasibility restriction on k.
exists_split_pow_two_seedFamily applies this repair separately at every
earlier seed and retains that seed once in the joint law. Exact averaging
gives the same t*2^-e bound, without adding randomness or assuming that
the source is independent of its earlier seed.
WeightedStrongSeededCondenser.block now proves
CGL Lemma 5.5's shared-seed conclusion.
For a threshold-Kin source of t blocks and a strong condenser from Kin
to Kout with error ε, the joint law
(Y, C(X₁,Y), ..., C(Xₜ,Y))
is within t*ε of a uniform-seed family of threshold-Kout block sources.
The blocks may be dependent, and only one seed is retained. The proof
corrects conditional tails by induction, then applies head replacement
separately at each seed and averages its exact distance. It does not require
an error bound at each individual seed.
WeightedStrongSeededExtractor.block specializes this to comparison with
uniform joint output. decodedExplicitCondenser_block_ofFn applies the actual scheduled
map to every Boolean-vector block with the same field seed, preserving
threshold 2^k in the ideal block source with error at most t*2^-e for
every positive rate u. The generic encoded variant is also checked.
explicitBlockCondenserBits computes one shared-seed level on a concatenated
word of fixed-width blocks. Its uniform FP certificate accepts all sizes,
parameters, blocks, seed, and block count as runtime data; its tuple theorem
identifies the output with the concatenation of the individual program outputs.
The exact length is the block count times the component output length.
explicitBlockCondenserBits_eq_condenseSplitMap identifies this runtime
output with the flattened tuple of the statistical condense-and-split map,
using the canonical encoding of the field seed. It keeps each first half
immediately before its second half, including the zero-width and empty cases.
At the leaves, decodedOneShotExtractor_block_ofFn reuses one pair of
independent field seeds across all t blocks of threshold 2^(ell+2e).
It compares the full tuple of t outputs, each containing ell bits,
with uniform at error at most t*2^-e, retaining the seed pair only once.
Strong.Weighted.SeedStep describes adding one fresh independent uniform
seed to an earlier joint law and retaining both seed coordinates. Its
deterministic composition identity connects successive seeded operations
to an actual function of the input and the whole seed tuple. Distance
contracts through this operation, even when the earlier source and seed
are correlated. WeightedStrongSeededCondenser.condenseSplit therefore
carries a previous joint error η through a level at total cost
η+t*(ε+2^-e). WeightedStrongSeededExtractor.retained_block gives the
corresponding final extraction cost η+t*ε, comparing all seeds and output
blocks jointly with uniform.
recursiveBlockMap is the finite recursive map for varying block alphabets
and seed types. If level i preserves threshold 2^(k i), its half-output
alphabet has 2^(m i) values, and
k(i+1) ≤ m(i),
m(i) + k(i+1) + e(i) ≤ k(i),
then exists_recursiveBlockSource produces a nearby threshold-2^(k h)
block-source family after h levels. Starting with t blocks, there are
2^h*t blocks, and the extra joint error is exactly budgeted by
Σ i<h, (2^i*t) * (ε(i) + 2^(-e(i))).
recursiveBlockExtractor begins with an initial condenser, performs those
levels, and applies one final shared-seed extractor to all leaves. Its
strong-extraction theorem discharges the initial block-source witness
using the initial condenser's guarantee. For one initial block and common
component and splitting error 2^-E, the full bound is
(3*2^h-1)*2^-E. The checked choice E=e+h+2 makes this at most 2^-e.
The retained seed alphabet has cardinality equal to the product of the
initial, level, and final seed cardinalities. In particular, seed widths
add when those cardinalities are powers of two. No seed is charged once
per block. These are the finite statistical recursion and accounting
behind CGL Theorem 5.6,
for supplied components satisfying the displayed finite conditions.
The recursion also preserves fixed-seed additivity: splitting respects
pointwise addition, and the component additivity hypotheses propagate
through every executed level and the final leaf map. This statement uses
only addition structures; the intended binary-vector instances supply
their usual vector-space interpretation.
explicitCondenserPair supplies the required pair-shaped component from
the actual scheduled bit program. Write H=explicitCondenserHalfWidth n k e u
and let b be the selected field bit width. The output has exactly 2H
bits: its first and second H bits are the two Boolean-vector outputs.
Because every field coordinate has even width, no padding is needed.
Injective output transport preserves the threshold 2^k and error 2^-e,
and the checked rate bound is u*(H+H) ≤ (u+1)*k + u*b.
The capacity bound k ≤ 2H follows from the actual coordinate count. For
u>1, the sufficient budget
u*(b + 2*(s+E)) ≤ (u-1)*k
implies both s≤H and H+s+E≤k, where E is the splitting error exponent.
A second version substitutes the proved upper bound on b, removing the
field-width rounding from this sufficient condition. The maximal choice
s=k-H-E has a separate checked budget ensuring that natural subtraction
does not truncate and that H+s+E=k holds exactly.
scheduledBlockExtractor now specifies every component in that recursion.
For natural parameters n,h,L,e with clog 2 (n+1)≤L and h≤L, set
E = e+h+2,
Q = 4096*(L+E+1),
k(i) = 4^(h-i)*Q.
First condense at rate parameter one into a single block of actual width
N=scheduledBlockInitialWidth n h Q E. At level i<h, apply the rate-three
paired condenser at entropy k(i) and the current actual block width.
Use the one-shot extractor with output length L at every leaf.
The checked reserve pays every rounded splitting inequality. The initial
width satisfies k(0)≤N≤64*k(0); all intermediate payloads occupy at most
2*N bits, and the block count is at most k(0).
scheduledBlockExtractor_dyadic proves strong extraction of 2^h*L bits
from sources of min-entropy at least 4^h*Q, with error at most 2^-e.
For every fixed complete seed, scheduledBlockExtractor_xor sends input
XOR to coordinatewise addition in ZMod 2.
The actual retained seed type has cardinality 2^d, where
d=scheduledBlockSeedBits n h Q E L. Its checked finite bound is
d ≤ 8192*(L + (h+1)*(E+h+clog 2 (L+E+1)+1)).
This constant-rate schedule implements the recursive method of
CGL Theorem 5.6
with a factor-four entropy cost per level. It does not claim CGL's sharper
entropy bound. Scheduled.Asymptotics now fixes natural a,e and sets
L = clog 2 (n+1),
h = a*clog 2 (L+1),
E = e+h+2,
Q = 4096*(L+E+1).
The named polylogBlockExtractor a e n is this actual scheduled map.
polylogBlockEntropy_isLittleO proves that its entropy-bit threshold
k0=4^h*Q is o(n), so it eventually fits within the n source bits.
eventually_polylogBlockSeedBits_le bounds the actual total seed length
by 16384L. The finite theorem polylogBlockOutputBits_bounds gives
L^(a+1) ≤ output bits ≤ 2^a*(L+1)^(a+1).
eventually_polylogBlockExtractor supplies strong extraction with error
2^-e from every normalized source with point masses at most 2^-k0.
All limits fix a,e before taking n large. The source support threshold
is 2^k0; the quantity proved sublinear is its logarithm k0.
The full varying-depth bit program is also constructed. Its numerical
state tracks current width and entropy, updating entropy by division by four.
Scheduled.State.Parameters takes a runtime requested depth, clips it to
L, and proves the independent bound 4^depth≤4*(n+1)^2. Bounded-power
generation then computes the initial entropy before the compressed width;
the selected reserve discharges all splitting budgets on every input.
Scheduled.Run bounds every complete intermediate state, including unary
dimensions, block count, payload, and unused seed suffix. Initial payload
generation, every block level, and final leaf extraction belong to one
uniform FP program (scheduledBlockExtractorEval_mem_FP). This theorem
has no numerical-validity premise and covers malformed paired inputs.
Scheduled.Codec gives an exact equivalence between the semantic seed
tuple and words of length scheduledBlockSeedBits, using the explicit
field coefficient codecs and no field enumeration. The layout is initial
seed, fresh internal seeds in level order, then the shared final condenser
and hash seeds. scheduledBlockRun_eq_recursiveBlockMap proves that the
runtime loop computes the exact semantic leaf tuple and leaves the final
seed suffix intact. scheduledBlockExtractorBits_eq_scheduledBlockExtractor
then identifies the complete program output with the statistical extractor's
tuple, serialized in block order. This equality has no entropy or reserve
premise. eventually_polylogBlockDepth_le shows that the fixed
family's raw depth is eventually at most L, so runtime clipping eventually
preserves its parameters exactly.
polylogBlockExtractorProgram_mem_FP certifies one total string function
for each fixed a,e, on pair source seedWord.
eventually_polylogBlockExtractorProgram proves its exact eventual
agreement with the serialized family for every input and canonical seed.
scheduledBlockBooleanExtractor runs this bit program on fixed-length
Boolean source and seed vectors and reads its output in block order.
Its coordinate equality and fixed-seed XOR law hold for all natural
parameters. scheduledBlockBooleanExtractor_dyadic proves the same
strong-extraction guarantee with the entire Boolean seed retained, requiring
only clog 2 (n+1) ≤ L and h ≤ L. The statistical statement needs no
caller-supplied finite-field instances: the codec and Boolean output
equivalences preserve the normalized joint guarantee exactly.
Scheduled.BoundedDepth supplies conservative finite parameters for the
short alternating calls in a correlation breaker. If clog 2 (n+1) ≤ L,
64 ≤ L, h ≤ 64, and E ≤ L, the actual scheduled seed has at most
2^24*L bits. With reserve 4096*(L+E+1), depths 24 and 64 have entropy-bit
thresholds at most 2^62*L and 2^142*L, respectively, whenever
1 ≤ L and E ≤ L. Their exact output lengths are 2^24*L and 2^64*L.
Scheduled.Matched packages these widths into matchedBlockExtractor:
its padded seed has 2^24*L bits and its flat output has 2^h*L bits.
Only the prescribed seed prefix enters the actual bit program; the entire
padded seed remains retained in the strong guarantee. For E=e+h+2≤L,
the error is 2^-e. The exact XOR law holds for every parameter choice.
Matched.Program supplies one total uniform FP evaluator, including
generation of all parameters and the exact seed cut. Invalid parameters
return the empty word; canonical valid inputs compute the vector extractor
exactly, even with an arbitrary extra seed suffix.
Matched.Growing removes the fixed depth bound from the statistical
theorem when the parameters satisfy
clog 2 (n+1) ≤ L,
e+h+2 ≤ L,
(h+1)*(e+2*h+clog 2 (L+1)+4) ≤ L.
The same actual extractor retains its complete 2^24*L-bit padded seed,
outputs 2^h*L bits, and has error 2^-e. Its entropy threshold can be
bounded by 2^(2*h+14)*L bits. A source must still meet this mass bound;
the numerical budget alone does not guarantee source capacity.
matchedBlockOutputBits_merging_reserve supplies the finite width needed
for later merging at h=clog 2 (t+1)+64. Matched.Affine proves the same
actual program's retained-law estimate for an honest source XOR a mask
carried by the full right state. Its error is 2^-e+δ+K*∑μ, with
K=2^(2^(2*h+14)*L) and original seed discrepancy δ; depth 64 has the
specialized entropy reserve 2^142*L.
Matched.Growing.Program supplies a total uniform FP evaluator for
h=clog₂(t+1)+64, where t is a runtime unary input. It proves
2^h≤2^65*(t+1) and a corresponding quadratic bound on 4^h, so both
the block loop and complete parameter generation have polynomial bounds.
The runtime checks the displayed finite guard, returns the empty word on
invalid parameters, and agrees exactly with the actual matched extractor
on canonical inputs, including arbitrary trailing seed bits. Its paired
evaluator has output length at most 2^65*(input.length+1)^2.
CorrelationBreaker.FlipFlop.Program defines and computes the concrete
three-call look-ahead and eight-call advice-bit step of
CGL Algorithm 1. The two refresh calls
use depth 64 on the original full right source. All other calls use depth
24, so their output fits the common seed width. The two advice choices
select opposite look-ahead outputs at the refreshes. Exact runtime/vector
agreement is proved for a common scale satisfying e+66≤L and the
ceiling-log bounds for both original source lengths and the intermediate
state width 2^64*L. Registered polytime certificates cover the complete
step, variable parameters, and conditional choices. Statistical estimates
for its component calls are proved separately from the runtime.
FlipFlop.LookAhead connects the actual three-call program to the checked
two-round probability argument. Its second output is close to uniform
retaining the full right state and honest/tampered first outputs, with
error 3*2^-e+δ+K*(1+M)*∑μ+K*M*∑ν, where K=2^(2^62*L) and
M=2^(2*2^24*L). The statement assumes the original joint source envelopes
and seed-prefix error δ; it derives the intermediate-seed guarantee
from the actual computation.
Strong.Weighted.Coupling.Factored repairs a nearly uniform right-state
coordinate at exactly its joint distance from uniform given the transcript.
The original left and right sources keep their full joint law. The new
coordinate is uniform given the transcript and may remain correlated with
the original right source. Transferring a later guarantee to the actual
law costs at most twice the repair distance, or once when the retained
marginal is proved unchanged.
FlipFlop.UniformState applies this repair to the actual matched look-ahead.
If the whole input state has joint error ρ, its bound is
3*2^-e+2ρ+K*(1+M)*∑μ+K*M/C, where C=2^(2^64*L) and K,M are as
above. There is no pointwise entropy premise for the approximately uniform
state. The prefix of an exactly uniform state is proved uniform.
Strong.Weighted.LookAhead.Refresh derives both first-refresh estimates
from the original prefix error and source envelopes. The transcript records
both initial states and all four first look-ahead outputs; the second-output
refresh also retains the tampered refresh seeded by its first output.
Exact factorizations preserve conditional independence. The left envelope
pays for four short outputs, and the right envelope pays for the initial
state pair. FixedTampering proves the next extraction and refresh when
the tampered seed is an arbitrary function of the left source and transcript.
These statements derive their seed estimates from the actual computations.
FixedTampering.Second extends this to the second look-ahead output,
retaining both honest outputs and the tampered refresh. Its observation
lemma proves that revealing a normalized left-only message preserves the
average original right-seed discrepancy exactly, including null rows.
UniformRefresh handles either selected refresh from a whole honest state
with joint error ρ, keeping the common history and full left state.
The tampered state may remain arbitrarily correlated with the honest state.
No current-state entropy cap is required. For strong extractors with
thresholds K_W,K_Q,K_R and errors ε_W,ε_Q,ε_R, its bound is
ε_R+2ε_W+ε_Q+2ρ+K_W*(1+D²)*∑μ+K_Q*S²/C+K_R*C²*O*∑ξ, where
S,D,C,O are the initial-seed, short-output, state, and refresh-output
cardinalities. Here μ,ξ bound the original left and right source masses.
The final tampered refresh is unobserved in this law, as required before
the first differing advice bit.
FlipFlop.Opposite.False composes these steps into the complete actual
honest-zero/tampered-one execution. It retains both full look-ahead histories,
both refreshed states, the tampered final output, and the original left state.
Only the original source envelopes and initial prefix error are assumed.
Writing D=2^(2^24*L), C=2^(2^64*L), K=2^(2^62*L),
J=2^(2^142*L), and ε=2^-e, its first-refresh error is
ρ=2ε+δ+K*∑μ+J*C²*∑ν. The final bound is
2ρ+4ε+K*(1+D²)*D⁴*∑μ+K*D²/C+J*C⁵*∑ν.
The approximate refreshed state is repaired in the proof, with its distance
charged explicitly; the theorem concerns the original deterministic program.
FlipFlop.Opposite.True proves the complete honest-one/tampered-zero
execution with the same retained variables. In addition to the original
left and right source envelopes μ,ξ, it assumes an original honest-state
envelope ν. Its first honest refresh, retaining the tampered refresh, has
error ρ=4ε+δ+K*(1+D²)*∑μ+K*D²*∑ν+J*C³*∑ξ. The final bound is
2ρ+2ε+K*D⁵*∑μ+J*C⁵*∑ξ. Repair preserves the original sources and
fixes the tampered refreshed state in the transcript before the final pass.
These two orientations specialize
Chattopadhyay--Goyal--Li Algorithm 1 and Lemma 6.8
to the actual matched-width programs with conservative finite error bounds.
FlipFlop.Transcript gives an exact factorization for arbitrary advice
bits. The two histories retain both pairs of right states and all eight
short outputs. Both final outputs become right-only maps of the original
source kernels. Before observing either final output, the total original
source envelopes grow by exactly D⁸ on the left and C⁴ on the right.
All conditional kernels are normalized, including null observations.
FlipFlop.Preservation.Half handles either honest and tampered refresh
selection when the incoming tampered state is fixed by the old transcript.
It retains the full common history, selected tampered refresh, and original
left state. From whole honest-state error ρ and original envelopes μ,ξ,
the bound is 4ε+2ρ+K*D*(1+D²)*∑μ+K*D²/C+J*C²*∑ξ for all four
selection pairs. Preservation.Step now composes both halves, retaining
the actual final tampered state. Opposite.UniformState covers both
orientations at the first unequal advice bit with no original state-cap
premise. Preservation.Weak covers a complete step before that point,
leaving the final tampered output unobserved. All three bounds derive the
intermediate state guarantees from the actual program.
Transcript.Output proves the exact factors after observing the tampered
final state: the original envelope totals grow by D⁸ and C⁵. The
AdviceInvariant induction retains these normalized factors, the original
sample, and pointwise agreement with both executed advice folds. Before
the first unequal bit it uses weak extraction; afterward the transcript
fixes the tampered state and the stronger preservation bound applies.
Thus the invariant is constructed at every prefix, with envelope bounds
D^(8i)*α and C^(5i)*β from initial totals α,β.
CorrelationBreaker.Advice initializes from the right-source prefix and
folds the concrete step over the advice bits in order, preserving both
original sources. This is the loop in
Chattopadhyay--Goyal--Li Algorithm 2.
adviceCorrelationBreaker adds a final depth-24 left-source extraction;
that finishing call is additional to Algorithm 2. The total string runtime
agrees with this vector construction under the common size guard and is
uniformly polynomial-time for arbitrary inputs and advice lengths. Its
loop proof bounds the complete encoding, including both sources, unary
parameters, remaining advice, and current state.
Advice.Extraction proves adviceCorrelationBreaker_dist_le for that
actual complete program. The original source law has
normalized left and right factors given a shared tag Z; the honest
right input is uniform on every row. The original honest left input has
a nonnegative joint point-mass envelope μ. Honest and tampered inputs
may be arbitrary functions of the same state on their respective side.
For two fixed, unequal advice words of equal length, the honest output
is close to uniform while retaining Z, the entire original right state,
and the actual tampered output. The proof constructs the initial state
from the uniform right-source prefix, iterates the exact invariant, then
performs the extra final left-source extraction. There is no caller-supplied
intermediate security witness.
The common error recurrence conservatively multiplies incoming error by
four. For advice length a, zero initial error, and original envelope
totals α,β, its checked bound is
a*4^a * [12ε + 3KD²/C + 6KD^(8a+7)α + 3JC^(5a+5)β].
The final extraction adds ε+KD^(8a+1)α. The public dyadic theorem
adviceCorrelationBreaker_dyadic_dist_le pays all these terms with local
exponent e=target+2a+clog 2 (a+1)+10 and entropy reserve
M=2^150*(a+1)*L: it assumes ∑μ≤2^-M, uniform honest right length
m≥M, and the finite size guard, and proves error at most 2^-target.
The separate explicit chooser takes
L = 1024*(a+target+out+clog 2 (n+1)+256),
m = M = 2^150*(a+1)*L.
Advice.Parameters proves every required size guard and entropy reserve,
including room for out output bits. Advice.Truncation returns exactly
that requested prefix and proves that truncating both honest and tampered
outputs preserves the bound while retaining the original right state.
Its statistical statement requires out≤2^24*L; the total definition
fills positions beyond the full output width with false. Nonvacuous use
of the chosen source threshold still requires m≤n and a source meeting
the stated mass bound. These are conservative finite parameters for the
complete standard advice correlation breaker, rather than the sharper
parameters of the source construction.
adviceTruncatedCorrelationBreaker_parameters_dist_le combines the actual
chain, chooser, and truncation. For two fixed unequal advice words of
length a, it returns the requested out bits with error 2^-target,
retaining the original tag, whole original right state, and actual truncated
tampered output. Its hypotheses are exactly the normalized factored source,
uniform honest right input, and left joint envelope with total at most
2^-m; there is no supplied program guard, reserve, primitive extractor,
field instance, or intermediate witness.
Advice.Extraction.Program packages the chooser and output prefix into
adviceSelectedCorrelationBreakerEval, one total uniform FP function on
pair (pair x y) (pair advice (pair targetWord outWord)). The target and
output request are the lengths of their words. It computes L,e,m, takes
the first m bits of the right input with false completion, and runs the
actual chain and requested prefix. The output has exactly the requested
length, including zero and malformed inputs. Canonical right words of
length m compute exactly adviceTruncatedCorrelationBreaker at the
selected parameters, without statistical premises. The complete encoded
loop bound includes the left source, normalized right word, all parameters,
remaining advice, and current state.
Advice.Extraction.Perturbed weakens the honest right-input assumption
to joint distance at most ρ from uniform given the original tag. The
actual program then has error at most ρ+2^-target under the same finite
dyadic reserves. Its proof constructs a uniform-coordinate repair that
preserves both original source factors and the actual tampered program.
Because the retained marginal (Z, full right state, tampered output) is
unchanged, transfer costs ρ once. This is an average joint-distance
premise, with no per-row uniformity or repaired witness supplied.
Advice.Extraction.Alternating observes a right-side message V, then
runs the same advice program with the original right side as source and
the original left side as seed provider. The actual law retains the
observation, original tag, complete original left state, and tampered
output. A source envelope of total ∑μ pays |V|*∑μ, and the seed's
joint discrepancy contributes once. This composition theorem requires
the preceding seed estimate; it does not assume that observing a message
preserves uniformity automatically.
CorrelationBreaker.Affine.PhaseOne defines the three actual calls from
Chattopadhyay–Liao Theorem 6.1:
linear extraction from the masked left source using a right-input prefix,
the advice program with reversed source/seed roles, then a second linear
extraction from that same masked source. The honest and all t tampered
executions are indexed together. The transcript observes every initial
prefix and mask contribution on the right, every first output on the
left, and every advice output on the right. Both original latent
variables are retained by the factored representation.
PhaseOne.Initial proves uniformity of the first seed prefix whenever
matchedBlockSeedBits L₀≤d. From a conditionally uniform honest right
input and the original left envelope μ, the actual first masked output
has error at most 2^-e₀+2^(2^142*L₀)*∑μ, retaining every honest/tampered
prefix and first mask contribution. The depth-64 length and error guards
are explicit; there is no supplied intermediate seed estimate.
PhaseOne.Transcript identifies the original-law pushforward with its
three successive normalized factors and proves the actual XOR equations.
Write d₀=2^24*L₀, r₀=2^64*L₀, and d₁=2^24*L₁. Original nonnegative
joint envelopes of totals ∑μ and ∑ξ become envelopes of exact totals
2^((t+1)*r₀)*∑μ on the left and
2^((t+1)*(d₀+r₀+d₁))*∑ξ on the right after the full transcript.
The factors retain the original latent states and normalize even null
rows.
PhaseOne.Second derives the actual advice-generated seed estimate from
these original inputs, with no intermediate security premise. For any one
tampered execution with unequal advice of the same length, its error is
2^-e₀ + 2^(2^142*L₀)*∑μ + 2^-target. The finite advice guards pay for
every observed first right message and for the seed input width.
PhaseOne.Final merges this pair into the actual growing-depth final
extraction. PhaseOne.Extraction exposes both the original-left and masked
output guarantees, retaining the complete executed transcript, original
right state, and the corresponding tampered final output. Write
r=2^h*L₁, r₀=2^64*L₀, and F=2^(2*h+14)*L₁. The complete error is
2^-er + 2^-e₀ + 2^-target
+ 2^(2^142*L₀)*∑μ + 2^(F+r+(t+1)*r₀)*∑μ.
affinePhaseOneError_dyadic_le bounds it by 2^-target when all three
local error exponents are target+3, the original mass total is at most
2^-k, and both 2^142*L₀+target+3≤k and
F+r+(t+1)*r₀+target+3≤k. These are finite sufficient reserves, with
source capacity still required for nonvacuous use. The theorem gives a
pairwise first phase, not joint security against all tamperings.
PhaseOne.Parameters chooses all finite values from source width n,
tampering count t, advice length a, and target exponent s:
B = a+s+clog₂(n+1)+clog₂(t+1)+256
L₁ = 2^20*B^2
L₀ = 2^90*(a+1)*L₁
d = 2^160*(t+1)*(a+1)*B*L₁
h = clog₂(t+1)+64
e = s+3
k = 2^142*L₀ + 2^(2*h+14)*L₁ + 2^h*L₁ + (t+1)*2^64*L₀ + e.
The initial and final calls use error exponent e; the advice call uses
adviceErrorExponent a e. All component guards, right-source/prefix
budgets, and both left-source dyadic reserves are proved for these values.
Parameters.Unary certifies total polynomial-time generation of all six
chooser definitions, including k. These deliberately conservative
constants are deductions for the actual library programs. They do not
claim the paper's sharp parameters or that k≤n for every input size.
The checked bound affinePhaseOneParameters_entropy_le gives
k≤2^256*(t+1)^2*(a+1)*B^2, which can discharge capacity in a chosen finite
application without evaluating the nested powers.
PhaseOne.Extraction.Parameters proves both actual pair laws have error
at most 2^-s when the original envelope total is at most 2^-k, the
honest right word is conditionally uniform at the selected width d,
and the honest and selected tampered fixed advice words have length a
and differ. Only original probability/source/advice hypotheses remain;
no component guard or intermediate security witness is supplied.
PhaseOne.Program runs all three actual calls on runtime source, right-input,
and advice words, with six unary numerical parameters. It false-completes the
first seed prefix and rereads both original words for the later calls.
affinePhaseOneRuntime_eq_affinePhaseOneOutput proves exact canonical
agreement at h=clog₂(t+1)+64 under the three finite component guards,
with no entropy or probability assumptions. The runtime and its single
paired evaluator are total FP functions; the encoded output length is
at most 2^65*(input.length+1)^2, including malformed inputs. Each
component retains its own total invalid-input behavior, and the final
component's guard alone determines whether the output length is zero.
PhaseOne.Program.Parameters supplies the complete selected evaluator:
it derives n and a from the actual source and advice word lengths,
computes every chooser value from these and unary t,s, and truncates or
false-completes the right word to d bits. Its paired codec is
pair (pair source (pair right advice)) (pair tamperingWord targetWord).
affinePhaseOneSelectedEval_mem_FP certifies one total polynomial-time
program on every encoded string, and affinePhaseOneSelectedEval_eq
identifies its canonical output with the selected semantic first phase
without any guard, entropy, or source-capacity premise. The runtime always
returns exactly 2^h*L₁ bits; the statistical theorem separately requires
the original source assumptions stated above.
Strong.Weighted.Merging.Smooth supplies the consumer for the next stage.
If the original honest left value is within ρ of uniform jointly with
(Z,U), repair that coordinate while preserving the complete original
left state. Observe the actual original prefix Q, then apply two-sided
merging. The actual output retains (Z,U,Q), full original right state,
and the original extra leak W, with bound
ε+δ+ρ+K*|W|*|Q|/|X|. No repaired source or pointwise conditional cap is
assumed. When the right seed and right observation use only (Z,Q), an
exact averaging identity removes U from the seed-error premise. This
consumer is now specialized by Smooth.Independence to overlapping
sets S,T of tamperings. It retains (Z,Q), full original right state,
and every actual tampered output in S∪T, with bound
ε+δ+ρ+K*|Out|^|S|*|Q|/|X|. The seed discrepancy is measured after the
actual prefix observation; no repaired-source witness or conditional
source cap is supplied.
CorrelationBreaker.Affine.Round now defines and proves the exact
four-call round from the second phase of
Chattopadhyay–Liao, Theorem 6.1.
Writing the old actual long row as its left contribution XOR its right
mask, the program extracts a seed from the original right word using
the row prefix, extracts a short row, rereads the original right word
with that short row, then extracts the next long row from the unchanged
original affine input X=A XOR B. The proof separately tracks its
left-only contribution A and right mask B. All four calls use the
actual matched extractors.
The transcript first observes right prefix masks, then actual prefixes,
then the first right seeds and short-row mask contributions, then actual
short rows, and finally the second right seeds. Exact factorization
preserves both original latent states and normalizes null conditional
rows. If C is the cardinality of the entire honest/tampered short-message
family, the final original-left envelope total is multiplied by C^2
and the original-right total by C^4; the second right extraction uses
the earlier right total C^3.
Round.Extraction exposes affineRound_left_union_dist_le,
affineRound_union_dist_le, and affineRound_next_union_dist_le.
Given normalized original factors, nonnegative joint point-mass envelopes
for the original honest sources, the finite extractor guards, and old
left-row discrepancies ρS,ρT against S,T, these theorems bound the
actual next left row, masked output, and next conditional left-row law
against S∪T. The full-output laws retain the complete executed transcript
and original right state. The sets may overlap. Every intermediate seed
bound is derived from the preceding actual call.
For c=2^24*L, m=2^h*L, k24=2^62*L, kh=2^(2*h+14)*L,
s=|S|, u=|S∪T|, and original envelope totals α,β, the named bound is
affineRoundError = 4*2^-e + ρS + ρT
+ 2^(k24+(s+t+1)*c)*β
+ 2^(k24+(s+t+1)*c)/2^m
+ 2^(k24+(u+3*(t+1))*c)*β
+ 2^(kh+u*m+2*(t+1)*c)*α.
affineRoundError_dyadic_le reduces this to ρS+ρT+8*2^-e when
α≤2^-kx, β≤2^-ky and the four finite reserves hold:
k24+(s+t+1)*c+e ≤ ky,
k24+(s+t+1)*c+e ≤ m,
k24+(u+3*(t+1))*c+e ≤ ky,
kh+u*m+2*(t+1)*c+e ≤ kx.
exists_union_of_card_le_two_mul supplies the finite subset partition
needed for affineRound_doubles_invariant: an actual left-row invariant
against every set of size at most k, with error ρ, becomes the same
invariant at the actual next transcript against sets of size at most
2*k, with error 2*ρ+8*2^-e. Empty subsets and arbitrary tampering counts
are included. PhaseOne.Subset initializes capacity one from the actual
pairwise first-phase theorem for positive t; projection handles both
empty and singleton sets.
Round.Program gives one total FP evaluator for all four actual calls,
with exact canonical agreement at h=clog₂(t+1)+64 under the component
guards. It accepts unary t,L,e and three arbitrary data words; malformed
or invalid inputs remain covered by its polynomial-time certificate.
affineRoundEval_length_le bounds its output by
2^65*(encodedInput.length+1)^2. Round.Parameters proves that the
existing first-phase chooser satisfies the execution guards and gives
canonical agreement with no additional numerical premise. These runtime
bounds do not discharge the statistical reserves for iterating the round.
Affine.Iteration executes these actual rounds on the original latent
variables. Every iterated transcript has normalized factors, including
null rows, and an exact pushforward identity from the original law. Its
row contributions XOR to the actual deterministic iteration. The original
source maps never change, and envelope totals after i rounds are exactly
C^(2*i)*Σμ and C^(4*i)*Σν, where C=2^((t+1)*2^24*L) is the full
short-message alphabet cardinality.
Iteration.Parameters supplies a finite schedule for all rounds. Set
R=clog 2 (t+1), σ=target+R+1, and use the unchanged first-phase chooser
at σ, with original-left reserve 2*κ and local exponent e=σ+3.
If Ax=(t+1)*2^64*L0, Ay=(t+1)*(2^24*L0+2^64*L0+2^24*L), and
M=(t+1)*2^24*L, the remaining source entropies before round i are
2*κ-Ax-2*i*M and D-Ay-4*i*M. The checked global bounds make every
subtraction valid and discharge all four reserves for every i<R.
The full error recurrence is
ρi=2^i*ρ0+8*(2^i-1)*2^-e; with ρ0=2^-σ, its final value is at most
2^-target. The complete source reserve remains bounded by
2^257*(t+1)^2*(a+1)*B^2, where B is the original chooser base at σ.
This is a finite reserve bound; source feasibility for every input length
is not asserted.
Affine.Program provides one total uniform polynomial-time evaluator for
the complete deterministic construction: the first phase followed by
R=clog 2 (t+1) actual rounds. It evaluates the first-phase chooser at
σ=target+R+1 and rereads the same original source words throughout.
affineCorrelationBreakerSelectedEval_eq gives canonical semantic
agreement with all execution guards discharged; its mem_FP theorem
includes parameter computation and malformed inputs. The bounded-loop
proof pays for the entire encoded state, not just the evolving row:
2*context.length+2+initialRow.length+2^65*(t+1)*L, where context contains
both original source words and all unary round parameters.
affineCorrelationBreaker_parameters_dist_le completes the statistical
assembly. For positive t, normalized original factors, a uniform honest
right word at each original tag, an original-left joint point-mass envelope
with total at most 2^(-2*κ), and equal-length advice differing from the
honest advice, it gives total variation at most 2^-target. The retained
law is the direct original-law image under the actual complete program:
it keeps the original tag, full original right state, and every tampered
output in any requested subset, including all tamperings. The theorem
supplies every intermediate seed guarantee, initializes the actual row
invariant, and discharges every numerical reserve. It implements the
strong affine contract of
Chattopadhyay–Liao, Definitions 1.8 and 5.2, Theorem 6.1,
with the conservative finite schedule above.
SourceReduction.Leakage proves the next step, the finite leakage and
bad-seed theorem of Chattopadhyay–Liao, Lemma 5.3. For the actual selected
affine construction, reveal one d-bit source observation for each of the
t + 1 calls. affineLeakageSourceEntropy pays the complete affine
reserve plus exactly (t + 1)d bits. The original source is normalized
and has point masses at most the reciprocal of this dyadic threshold;
no conditional source or security witness is supplied.
affineLeakageOutputWeight_average_dist_le allows both the shift and
every tampered base seed to depend arbitrarily on the honest base seed.
It proves average total variation at most 2^-target, retaining all
actual tampered outputs. affineLeakageBadSeeds_parameters_card_le
therefore bounds the bad-seed fraction by 2^-target / gamma for every
positive gamma, simultaneously over all such choices. The proof uses
exact source conditioning, including normalized zero-mass rows, and
projects only the leakage transcript. The entire leakage reserve is at
most 2^258*(t+1)^2*(a+1)*Base^3 for the boosted common base.
affineLeakage_linear_parameters then supplies the component-parity
bound 2*gamma whenever a linear sampler's distinguished seed escapes
that same small bad set, at any chosen output coordinate. The actual
XOR reduction is affineSourceReduction; its parity-bias identity shows
that grouping component bits into output coordinates preserves absolute
bias. SourceReduction.Tests indexes every nonempty parity of at most four
outer coordinates into one fixed breaker with t = 4*C - 1 tamperings.
It chooses the honest outer coordinate before the candidate and second
source fixing. Unused proof-side slots have zero leakage and same-length
advice different from the honest advice; the parity mask ignores them.
The resulting estimate bounds the actual XOR reduction at every fixing.
SourceReduction.Sampler composes the actual growing-depth matched extractor
at error 1/16 with the actual padded Gamma neighbor map. For
b = 2^24*L and requested output width d, it has outer width 8b,
candidate width s = gammaBlockSeedBudget b, source entropy
2^(2*(clog 2 (d+1)+64)+14)*L+1, test allowance 2^(-5b), and failure
probability 1/2. Only the explicit growing-matched and Gamma numerical
guards are assumed. Its source XOR-linearity is unconditional. One total
uniform FP evaluator implements each sampled position and always returns
exactly d bits, including at invalid parameters.
The complete finite construction uses N = 2^(8b), C = 2^s, injective
binary advice of length a = 8b+s, and target exponent q = 54b+s+10.
The bad-test threshold is gamma = 2^(-(17b+10)). The exact identity
N^4*C*(2^(-q)/gamma) = 2^(-5b) pays the common-test union bound.
Every selected set meets 100*m^2*(2*gamma) <= 1, and, for b >= 5,
the discard allowance gives m > 0 and N-m <= sqrt(m)/8.
sourceReductionExtractor_flat proves that the majority of this actual
XOR reduction extracts at error 35/72, with source threshold 2^k,
where k is the maximum of the actual affine leakage and sampler reserves.
The only premises are L > 0 and the two numerical sampler guards. No
sampler, affine-security, parity-bias, or source-dependent construction is
supplied by the caller. This closes the finite composition of
Chattopadhyay--Liao Lemma 5.4 and the majority argument. The subsequent
asymptotic and uniform layers supply the remaining choices.
Set L = clog 2 (n+1) and r = clog 2 (L+1)+1. The actual Gamma candidate
width satisfies s <= 2^41*r^3; its full count remains C = 2^s.
The checked finite bounds give growing depth at most 2^42*r^3, matched
guard overhead at most 2^90*r^6, and complete source entropy at most
2^(2^44*r^3). Exponentiating a fixed polynomial in the iterated logarithm
is still o(n). Consequently both numerical guards eventually hold,
k = o(n), and the source threshold is eventually feasible within the
input cube. This construction does not claim a polynomial support threshold
or the sharper entropy parameters of Li's theorem.
sourceReductionRuntime implements the actual binary enumeration, sampler,
affine calls, XOR, and majority, with its two counts supplied in unary.
Its execution theorem needs only exact counts and the growing sampler guard;
its FP theorem is unconditional. The length-indexed evaluator generates
the outer count exactly as (2^clog 2 (n+1))^(2^27) and caps the candidate
count at n+1. The actual candidate count is o(n), so the cap is
eventually inactive. The affine seed width is computed from the supplied
count, keeping the entire program polynomial-time even before that point.
The resulting fixed family eventually equals the finite semantic extractor.
Balanced padding preserves FP and is exactly balanced at every positive
length. Construction.Hardness applies the proved cutwidth theorem and
shifts to the full padded length to obtain the displayed unconditional bound.
The one-shot primitive alone has finite seed cost of order ell+e+log n;
the checked recursion supplies the larger polylogarithmic output with
logarithmic total seed length.
The separate NearHalving schedule supplies the linear-output extractor
needed for the amplification neighbor map Γ. For depth h, reserve Q,
and local error exponent E, it starts with the unchanged input and uses
u = 16*(h+1),
k(i) = 2^(h-i)*(8*h+8+(h-i))*Q,
ell = (8*h+7)*Q,
M = 2^h*ell.
The exact accounting identity 9*M + 2^h*Q = 8*k(0) keeps a constant
fraction of the source entropy as output. The sufficient reserve inequality
12*(u+1)*T + 4*E ≤ Q, where T bounds the initial condenser budget,
pays every splitting inequality at the actual rounded widths. Intermediate
payloads have at most twice the original source width.
For the named Gamma family, set
L = clog 2 (b+1),
R = clog 2 (L+1),
h = log 2 b - 3*R - 15,
E = h+4,
Q = ceil(b / (2^h*(8*h+7))).
GammaBlockSizeGuard b is the explicit condition 3*R+15 ≤ log 2 b.
eventually_gammaBlockSizeGuard proves it for all sufficiently large b.
Under that guard, the finite arithmetic proves M≥b, k(0)≤2b, the
full reserve inequality, and an actual total seed length at most 2^27*L^3.
gammaBlockExtractor_weighted then gives retained-seed strong extraction
on 8b input bits, at support threshold 2^(2b) and error 1/4, keeping
the first b output bits. Its ordinary flat-source corollary is
gammaBlockExtractor_flat. No caller-supplied extractor or field instances
occur in these statements. This is a conservative finite specialization of
the CGL recursive construction, with an explicit cubic-logarithmic seed
bound; it does not claim the sharper seed dependence of their general theorem.
The runtime uses the actual variable-rate block condenser and the shared
one-shot leaf extractor. Its size proof counts numeric workspace, payload,
block count, and unused seed suffix. 2^h≤b+1 certifies parameter generation
on every input, while an explicit zero-iteration fallback handles failure of
the size guard. Exact codecs and loop correctness identify the runtime with
the statistical map; both final seeds use fixed-width slices, so extra
trailing bits are ignored. The retained-seed padding theorem preserves the
strong error even for tests that inspect those unused bits.
gammaBlockExtractorEval_mem_FP certifies the single total evaluator on
pair source seedWord, inferring b as the source length divided by eight.
gammaBlockPaddedExtractor reads that actual program on a Boolean seed of
the simple computed width gammaBlockSeedBudget b = 2^27*L^3.
gammaBlockPaddedExtractor_eval identifies its entire output with the
paired evaluator for every b. Under the guard, its weighted strong and
ordinary flat guarantees hold for every source at threshold 2^(2b),
with all bits of the padded seed uniformly sampled. The padding prefix is
proved to give exactly the original semantic Gamma output.
The standard advice correlation breaker and the complete actual affine
correlation breaker are proved with explicit finite parameters and total
uniform polynomial-time evaluators. The affine theorem covers all tamperings
from the original-source hypotheses, using the executed first phase and
all repeated rounds. Its leakage and bad-seed theorem and the linear-sampler
component-parity estimate are also proved. The actual global sampler,
fixed-test indexing, majority composition, asymptotic parameters, and uniform
bounded enumeration complete the construction of a concrete P hard family
with sublinear log-threshold. The deterministic (4-ε)n endpoint is
sourceReductionHardFamily_eventually_lt_size.
Bisection.exists_bisectionBound proves the
Monien–Preis conclusion: for every
ξ > 0, all sufficiently large simple cubic graphs on n vertices have
a balanced cut of at most (1/6 + ξ) n edges. The checked
Fomin–Høie reduction
then gives exists_pathwidthBound with no graph assumption.
The local helpful-set proof uses a connected-cluster argument developed in
this formalization, replacing the source proof's marked-tree reorganization.
Let B be the simple black graph and R a loopless red multigraph on the
same vertices, with degree B + degree R = 3 at every vertex. Parallel red
edges retain distinct identities. For M > 0, let U be the union of black
components of size at most M, and let W be its complement.
If a red edge has both endpoints in U, its endpoint components give a
positive set of size at most 2 M. Otherwise partition W into connected
clusters P of size at most 3 M, with M · number_of_clusters ≤ 2 |W|.
If every cluster had at most as many red edges into U as black edges
leaving it, connectivity and the degree sum would give
2 M |E(R)| ≤ (M + 4) |W| ≤ (M + 4) |V|.
Consequently, density (M + 4) |V| < 2 M |E(R)| forces a cluster with a
surplus. Attach the original small black components reached by those red
edges. Their black cuts are empty, and the resulting positive set has at
most 3 M (1 + 3 M) vertices. Repeated attachments and parallel edges are
covered by the incidence-counting proof.
For a normalized cubic side of cut density above 1/3 + ξ, suppression
gives red density above 1/2 + 3ξ/2. Taking 4 ≤ 3ξM and lifting the positive
set gives a helpful set of at most 12 M (1 + 3 M) vertices. Only the first
boundary-normalization phase is needed; reversing it multiplies the size
by at most three. Thus Bisection.exists_bounded_helpful gives the uniform
bound 36 M (1 + 3 M) for arbitrary cubic sides. Accumulation and
logarithmic-cost rebalancing complete the bisection argument.
The thin-path, weighted-tree, and restoration developments remain reusable APIs. The later color-swap and leaf-reorganization steps of the original route are not prerequisites for this proof.
| Step | Formal development |
|---|---|
| Cut counting | Network.card_accepting_le_of_realized in Algebraic.LowerBound.Cutwidth.Network: for 1 < K, a network computing a K-rectangle-free function, with a vertex ordering on whose charged edge sets (Network.charged: the cut before a vertex and its incident edges) satisfying assignments realize at most P bit patterns (Network.realized), either accepts fewer than K · 2 ^ (n − n') inputs, where n' inputs are read, or accepts at most ` |
| Signal generators | Wiring.determines_of_generators, Wiring.card_realized_le_two_pow_generators, and Wiring.card_accepting_le_of_generators in Algebraic.LowerBound.Cutwidth.Wiring.Signals: in the wiring network, one edge per generator of an edge set determines it, where a carried signal is a generator unless it is a gate both of whose argument signals are carried by the set; so a vertex ordering whose charged edge sets have at most w generators gives the bound with P = 2 ^ w. No layout theorem bounding generators is proved; the assembly charges edges. |
| Wiring graph | Wiring.network, Wiring.network_computes, Wiring.loopless, Wiring.maxDegreeLE_three, Wiring.connected, and the counts Wiring.card_edge_sub_card_vertex, Wiring.card_vertex_le_two_mul_size in Algebraic.LowerBound.Cutwidth.Wiring. In particular, ` |
| Boundary transition | PathDecomposition.exists_between_of_crossing: the induced graph on the two cut boundaries has a path decomposition starting and ending with the respective boundaries, with bags of size at most the number of crossing edges plus one. |
| Endpoint deletion | PathDecomposition.exists_endsAt_of_delete restores a deleted boundary vertex once all its neighbors are in the terminal bag, then appends the prescribed endpoint subset. |
| Tree component | boundary_reduction gives the large-boundary induction alternatives: a vertex with at most one outside neighbor, or a tree component outside the boundary. complement_card_edges_lt and exists_tree_component_of_card_edgeFinset_lt prove the counting step. |
| Tree decomposition | exists_tree_centroid leaves components of at most half the tree's size. PathDecomposition.exists_of_components concatenates their decompositions, and exists_addVertex restores the centroid at a cost of one vertex per bag. PathDecomposition.exists_tree and exists_forest give bags of size at most Nat.clog 2 n + 1. |
| Endpoint assembly | PathDecomposition.exists_glue concatenates induced decompositions whose adjoining bags contain every shared vertex. exists_pad and exists_attach add a subgraph along a fixed boundary. |
| Subcubic endpoints | PathDecomposition.exists_subcubic_endsAt completes the endpoint induction for every prescribed X, with bags of size at most max X.card (n / 3 + 1) + Nat.clog 2 n + 1. No bisection hypothesis is needed for this lemma. |
| Bisection assembly | PathDecomposition.exists_of_cut joins both sides through their boundary graph. exists_of_balanced_cut gives bags of size at most max b ((n + 1) / 6 + 1) + Nat.clog 2 n + 1, where b is the cut size. |
| Bisection to pathwidth | BisectionBound.exists_pathwidthBound turns BisectionBound ξ N₀ into PathwidthBound (1 / 6) (ξ + δ) N₁ for ξ ≥ 0 and δ > 0. pathwidthBound_of_bisectionBound preserves the quantification over every positive slack. |
| Cut improvement | helpfulness_eq_sub, helpfulness_add, and Bisection.two_moves_le_zero give exact accounting for the two moves. Bisection.exists_min_bisection provides a minimum balanced cut, including odd graph orders. |
| Local helpful sets | helpfulness_eq_degree_sum counts outside neighbors and internal edges. one_le_helpfulness_singleton covers a subcubic vertex with two crossing edges; one_le_helpfulness_of_connected_boundary covers three or more connected boundary vertices. |
| Normalization configurations | Bisection.exists_helpful_of_boundary_pair_three_neighbors, exists_helpful_of_shared_boundary_neighbor, and exists_helpful_of_boundary_neighbor_configuration construct the remaining witnesses with bounds five, seven, and eleven. helpfulness_union_boundaryLift_of_closed supplies the common closure argument. |
| Switching neighbor | Excluding helpful sets of at most eleven vertices gives outside_eq_one_of_no_small_helpful, boundary_degree_le_one_of_no_small_helpful, and exists_switch_neighbor. The latter finds the interior neighbor with at most one boundary neighbor needed for either normalization switch. |
| One normalization switch | Switchable and switchEdges describe replacing two disjoint edges by two absent edges. exists_boundary_switch and exists_three_neighbor_switch construct valid configurations. switchEdges_degree, switchEdges_cut, and switchEdges_boundary preserve the relevant invariants. |
| Local reverse transfer | helpfulness_switchEdges gives the exact indicator formula. exists_restore_boundary_switch and exists_restore_three_neighbor_switch extend a moved set by at most two or four vertices without losing helpfulness. An enlargement completes a pair with exactly one previously selected endpoint. |
| Boundary-edge normalization | Bisection.exists_independent_boundary_or_small_helpful gives either a helpful set of size at most 33 or a cubic graph with the same cut and boundary, an independent boundary, and one outside edge per boundary vertex. Every moved set transfers back with at most a factor-three size increase and no loss of helpfulness. This completes the first normalization phase, including its uniform reverse bound. |
| Complete normalization | Bisection.exists_no_three_neighbors_or_small_helpful completes the second phase with a factor-five reverse bound or a helpful set of at most 55 vertices. exists_normalization_or_small_helpful combines both phases for any cubic side: either a helpful set of at most 165 vertices exists, or a graph with the same cut and boundary has an independent boundary, one outside edge per boundary vertex, and at most two boundary neighbors per interior vertex. Every moved set transfers back with a factor-fifteen size bound and no loss of helpfulness. |
| Boundary lift | Bisection.helpfulness_boundaryLift proves that adding all adjacent boundary vertices gives helpfulness equal to internal red edges minus external black edges. exists_helpful_set_of_red_surplus bounds the lifted size by four times the witness size. These statements require an independent boundary with one outside neighbor per vertex. |
| Small black components | exists_small_tree_component_of_edge_deficit gives a tree component of at most M vertices when `(M + 1) |
| Suppressed graph | Bisection.exists_boundarySuppression constructs a loopless red multigraph indexed by boundary vertices. BoundarySuppression.degree_sum, internalEdges_card, and boundaryInterior_cut_card prove the exact correspondences. BoundarySuppression.exists_helpful_set_of_positive transfers a positive witness to a helpful set with at most four times as many vertices. |
| Positive red/black sets | RedBlack.exists_positive_of_component_edge gives a set of size at most 2 M from a red edge joining black components of size at most M. exists_positive_of_thin_walk uses gap averaging to select three nearby red attachments and produces a positive set of size at most 8 M + 1. These prove the first two constructions of Monien–Preis's core lemma. |
| Connected clusters | RedBlack.ConnectedPartition.exists_partition partitions a connected subcubic graph of order greater than M > 0 into connected sets of size at most 3 M, with M · number_of_parts ≤ 2 · order. |
| Red density | RedBlack.exists_positive_of_density produces a positive set of size at most 3 M (1 + 3 M) from `(M + 4) |
| Bounded helpful sets | Bisection.exists_bounded_helpful gives size at most 36 M (1 + 3 M) when 4 ≤ 3ξM and cut density exceeds 1/3 + ξ. |
| Sharp graph bounds | Bisection.exists_bisectionBound and exists_pathwidthBound prove the sharp asymptotic cubic bisection and pathwidth bounds for every positive slack. |
| Weighted trees | WeightedTree.sum_nonneg_of_leaf_nonneg gives the forest weight inequality. exists_adjacent_pair_lt_of_sum_lt shifts it by a threshold, and exists_adjacent_pair_le proves Monien–Preis's weighted-tree light-pair lemma for natural-number weights. |
| Edge restoration | RedBlack.positive_restore_cut transfers positivity from a graph with a deleted black cut to the original graph by adding the isolated set. It counts only new internal red edges and allows overlap with empty black cut. positive_restore_two_boundary covers an added set with at most two boundary edges. |
| Simultaneous restoration | RestorationFamily records disjoint regions with black cuts of size at most two and closed red attachments. RestorationFamily.exists_positive_restore bounds the enlarged witness by ` |
| Closed core witnesses | RestorationFamily.exists_positive_of_closed_core creates positivity when a closed core set absorbs one entire nonempty region boundary. The degree version gives the same `(1 + d L) |
| Adjacent core witnesses | RestorationFamily.exists_positive_of_restricted_core_adj applies restoration to adjacent actual core pieces. exists_positive_of_light_core_forest and exists_positive_of_light_core_tree turn their explicit weight hypotheses into a positive witness of size at most 2 M (1 + d L). |
| Cycle selection | RedBlack.exists_delete_to_bridges preserves reachability while leaving every retained designated edge a bridge. cycle_contains_boundary_of_meets_region shows that a cycle entering a connected degree-two region uses every boundary edge. exists_isolate_regions_without_cycles selects at most the original cycle rank many regions to isolate and excludes all cycles through a supplied family with distinct chosen boundary edges. |
| Accumulation | Bisection.exists_helpful_set_of_margin proves the iteration and its size bound, assuming the bounded local helpful-set lemma. abs_helpfulness_le_mul_card controls the cut change by the maximum degree times the number of moved vertices. |
| Rebalancing | Bisection.exists_subset_cut_le selects a subset of every requested size with cut at most `max cut(S) ( |
| Local-to-global reduction | Bisection.exists_bisection_of_helpful and exists_bisectionBound_of_helpful derive the finite and asymptotic sharp bisection bounds from the bounded local helpful-set lemma alone. They use a gain of Nat.clog 2 n + 3; the maximum in the rebalancing bound handles overshoot. |
| Compression | Multigraph.Compression in Algebraic.LowerBound.Cutwidth.Compression: merging adjacent blocks until the quotient is simple and 3-regular, with quotient_isRegularOfDegree and the excess bound card_blocks_add_le. |
| Median ordering | MedianOrdering.card_cutFinset_key_lt_le in Algebraic.LowerBound.Cutwidth.MedianOrdering: a path decomposition with bags of size at most p + 1 gives a vertex ordering of a cubic graph with prefix cuts at most p + 2. |
| Expansion | Compression.exists_linearOrder and Multigraph.orderingBound_of_pathwidthBound in Algebraic.LowerBound.Cutwidth.Expansion: PathwidthBound p ξ N₀ implies OrderingBound (2 p) (2 ξ) (N₀ + 9). Multigraph.orderingBound_of_cutwidthBound orders the quotient by a cutwidth key instead: CutwidthBound c ξ N₀ implies OrderingBound (2 c) (2 ξ) (N₀ + 8). cutwidthBound_of_pathwidthBound converts a pathwidth bound to a cutwidth bound with the same coefficient. |
| Gaussian layout | Gaussian.sum_unitKernel_mul_ge, Gaussian.gaussPi_between_le, Gaussian.pi_deviation_le, and Gaussian.exists_cutwidthBound in Algebraic.LowerBound.Cutwidth.Gaussian: every large simple cubic graph has prefix cuts at most ((3/π)(3 − 2√2) + ξ) h; Multigraph.exists_orderingBound_gaussian gives the ordering coefficient (6/π)(3 − 2√2), at most 20/61. |
| Gaussian pathwidth | Gaussian.gaussPi_between_le_arccos, Gaussian.sum_arccos_star_le, Gaussian.exists_pathDecomposition_of_edgeScore, and Gaussian.exists_frontier_pathwidthBound in Algebraic.LowerBound.Cutwidth.Gaussian: every large simple cubic graph has pathwidth at most ((3/(2π)) arccos ((1 + 2√2)/4) + ξ) h; Multigraph.exists_orderingBound_frontier gives the ordering coefficient (3/π) arccos ((1 + 2√2)/4) ≤ 9/32. |
| Assembly | lt_size_of_orderingBound and eventually_lt_size_of_orderingBound in Algebraic.LowerBound.Cutwidth.FourN give the coefficient 1 + 1/A from any ordering coefficient A > 0; lt_size_of_log_bounds and eventually_lt_size_of_rectangleFree are the coefficient-four case and handle subexponential thresholds; the original polynomial-threshold entry points remain available. |
| Extraction | FlatSumsetExtractor.balanced, FlatSumsetExtractor.rectangleFree, FlatSumsetExtractor.card_accepting_ge, and eventually_hard_of_flatSumsetExtractor in Algebraic.LowerBound.Cutwidth.Extractor. |
| Balanced padding | FlatSumsetExtractor.balancePad_rectangleFree doubles the threshold for any error below 1/2; card_accepting_balancePad proves exact balance and balancePadEval_mem_FP preserves any supplied FP evaluator. eventually_lt_size_balancePad_of_flatSumsetExtractor and its nondeterministic counterpart give the lower bound at the full padded length. |
| Majority components | Extractor.majorityEval_mem_FP and the margin lemmas prove evaluation and robustness. signSum_first_moment through signSum_fourth_moment derive raw moment bounds from ParityBiasBound. fourthMoment_positive_tail_of_approx and its negative counterpart give tail mass at least 1/36 from approximate normalized moment bounds. |
| Nondeterministic circuits | Network.forget in Algebraic.LowerBound.Cutwidth.Forget drops witness ports, keeping the multigraph; nondet_eventually_lt_size_of_rectangleFree gives the same (4 − ε) n bound for circuits on n + m inputs with arbitrary m, computing f as an existential projection. The polynomial-threshold pathwidth entry point remains nondet_eventually_lt_size_of_pathwidthBound. |
| Average case | Wiring.trace_eq_of_agree_backward in Algebraic.LowerBound.Cutwidth.Direction, the one-sided count Network.card_accepting_inter_le in Algebraic.LowerBound.Cutwidth.Balanced, and eventually_card_agree_le_of_balanced in Algebraic.LowerBound.Cutwidth.AverageCase: a circuit with at most (4 − ε) n gates agrees with a (K, ν)-balanced function on at most (1/2 + 3ν) 2ⁿ + 2 ^ ((1 − ε/24) n) inputs. See the average-case note. |
A Network is a multigraph with a local check at every vertex and a port
for every variable it reads. For a linear order on the vertices and a prefix
L, the past set of a cut assignment σ consists of the assignments to the
variables read in L that extend to an edge assignment satisfying the checks
of L and agreeing with σ on the cut; the future set is defined
symmetrically. Gluing shows that the past and future sets of one cut
assignment form a one-rectangle, so one of them has fewer than K elements.
Each accepted input is charged to the first vertex at which its past set
reaches size K. Its key is that vertex together with the bits on the cut
before the vertex and on the vertex's at most three incident edges, at most
w + 3 bits. Inputs with the same key are determined by an element of the
small past set before the vertex and the small future set after it, giving
at most (K − 1)² inputs per key and at most |V| · 2 ^ (w + 3) keys.
Variables not read by the network are never queried, so the past set of the
whole vertex set consists of the accepted inputs restricted to the read
variables. If that set is smaller than K, the lemma returns the bound
K · 2 ^ (n − n') for n' read variables instead; the assembly rules this
case out with the support lemma.
The formal lemma charges a vertex by the number of bit patterns that
satisfying assignments realize on its charged edges, not by their number:
the keys are restrictions of actual satisfying assignments, so any subset of
the charged edges that determines the rest bounds the keys by a power of two.
Counting every edge gives the classical 2 ^ (w + 3). In the wiring network
all edges of one signal carry the same bit, and a gate both of whose argument
signals cross the cut carries a function of their bits, so one edge per
generator determines the charged set and the bound holds with
2 ^ (generators) in place of 2 ^ (w + 3)
(Wiring.card_accepting_le_of_generators). Using this requires a layout
theorem that bounds the generators of every prefix cut of one ordering, in
place of the edge bound (2p + 2ξ)(M − N)⁺ + O(log N) below; none is proved,
and the hardness side cannot supply the gain, since at the charging vertex the
realized pattern already determines the input up to (K − 1)² choices and no
cut realizes more than 2 ^ n patterns.
Only wires with a path to the output gate become vertices, so the graph is
connected without pruning the circuit. A signal feeding f ≥ 2 slots is
routed through a chain of f − 1 copy vertices; slot i attaches to copy
min(i, f − 2), so the last copy carries the last two slots. This gives
M − N = s' − n' for s' reachable gates and n' reachable inputs, and at
most three edges at every vertex. Every signal except the output feeds a
slot. Charging a signal and its copy vertices to its outgoing slots gives
N ≤ 2s' + 1 ≤ 2s + 1. This bound also applies with arbitrarily many declared
witness inputs.
Gate vertices check that their outgoing edge carries the gate's function of
its two slot bits, the output gate checks that this value is 1, copy
vertices check that their incident edges agree, and input vertices carry the
variable on their outgoing edge. The circuit's own evaluation satisfies every
check, and a satisfying assignment agrees with the evaluation on every edge by
induction along the topological order, so the network accepts exactly the
circuit's accepting inputs.
A Compression is a set of blocks, each an ordered list of original
vertices, forming a partition. Two blocks merge when an edge joins them and
one has boundary at most two or they are joined by parallel edges; the larger
block is listed first. The invariants are that every block has boundary at
most three, every proper prefix of a block has boundary at most
3 ⌈log₂ |block|⌉, and the number of blocks plus the number of edges inside
blocks is at least the number of vertices. When no merge applies and at least
two blocks remain, connectivity forces every block to have boundary exactly
three with at most one edge to each other block, so the quotient graph on the
blocks is simple and 3-regular, and its vertex count h satisfies
h + 2N ≤ 2M.
Given a path decomposition of the quotient, every edge receives a position in
a bag containing its endpoints, distinct across edges and increasing with the
bag index. Each vertex has three incident positions; vertices are ordered by
the middle one. For a prefix ending at v, a crossing edge below the median
of v is the unique low edge of its later endpoint, one above it is the
unique high edge of its earlier endpoint, and the median of v is one edge.
Consecutiveness places every charged vertex in the bag of that median edge,
so the cut has at most one more edge than the bag.
Listing the vertices block by block in that order, each block in its own
order, every lower set is a union of whole blocks plus a prefix of one block.
Its cut is at most the quotient cut of the block prefix plus the prefix
boundary of the partial block, giving
(p + ξ) h + N₀ + 2 + 3 ⌈log₂ N⌉ + 3 ≤ (2p + 2ξ)(M − N)⁺ + 3 log₂ N + N₀ + 9
for a pathwidth coefficient p; the proved p = 1/6 gives 1/3 + 2ξ.
For an ordering coefficient A > 0, let θ = min(ε, 1/A),
η = A² θ / 2, and k = ⌈log₂ K⌉. A circuit with s ≤ (1 + 1/A − θ) n
gates whose output is a gate reads more than n − k inputs, so the cut bound
is at most (A + η)((1/A − θ) n + k) + O(log n), and
(A + η)(1/A − θ) ≤ 1 − A θ / 2. Comparing 2 ^ (n − 2) accepted inputs
with |V| · 2 ^ (w + 3) · K ² gives A θ n / 2 ≤ O(log n + log K), which
fails for large n under the sublinear logarithm hypothesis. For A = 1/3
this is the coefficient-four bound. A circuit whose output is an
input wire depends on one coordinate and is excluded by the support lemma.
The asymptotic conditions are discharged by eventually_mul_logb_add_lt
(log₂ n = o(n)) and the source-entropy hypothesis. The polynomial-threshold
corollaries use logb_isLittleO_of_eventually_le_pow.