LeanPool.AsymptoticTrianglePacking.Internal — the Efron–Stein (bounded-differences) variance #
inequality on a finite Bernoulli cube
This file is elementary and self-contained: no measure theory, only Finset sums. For a finite
index type ι and p ∈ [0,1] the Bernoulli cube is the finite set ι → Bool weighted by
wt p ω = ∏ i, (if ω i then p else 1 − p),
with expectation Exp p f = ∑ ω, wt p ω · f ω. The main result is
LeanPool.AsymptoticTrianglePacking.Internal.Cube.variance_le_sum_sq_diff :
Exp p f² − (Exp p f)² ≤ ∑ i, p(1−p)·Exp p ((D i f)²),
where D i f ω = f (ω[i ↦ true]) − f (ω[i ↦ false]) is the discrete derivative in coordinate i.
This is the Efron–Stein / tensorization-of-variance inequality; Mathlib has no form of it.
The proof is the usual one-coordinate-at-a-time argument, organised through the averaging operator
avgOne p i f ω = p·f (ω[i ↦ true]) + (1−p)·f (ω[i ↦ false]), which satisfies
Exp p (avgOne p i f) = Exp p f,Exp p f² − Exp p (avgOne p i f)² = p(1−p)·Exp p ((D i f)²)(the exact one-coordinate variance decomposition), and henceExp p (avgOne p i f)² ≤ Exp p f²,D i (avgOne p j f) = avgOne p j (D i f)fori ≠ j.
Averaging over a duplicate-free list exhausting ι turns f into the constant Exp p f, and the
telescoping sum of the second bullet is exactly the statement.
The weighted cube #
The Bernoulli(p) weight with coordinate i omitted.
Equations
- LeanPool.AsymptoticTrianglePacking.Internal.Cube.wtc i p ω = ∏ j ∈ Finset.univ.erase i, if ω j = true then p else 1 - p
Instances For
The expectation of f on the Bernoulli(p) cube.
Equations
Instances For
The one-coordinate averaging operator #
The discrete derivative of f in coordinate i.
Equations
- LeanPool.AsymptoticTrianglePacking.Internal.Cube.D i f ω = f (Function.update ω i true) - f (Function.update ω i false)
Instances For
Averaging f over coordinate i.
Equations
- LeanPool.AsymptoticTrianglePacking.Internal.Cube.avgOne p i f ω = p * f (Function.update ω i true) + (1 - p) * f (Function.update ω i false)
Instances For
The basic splitting of a cube sum along one coordinate.
The expectation, split along one coordinate.
The exact one-coordinate variance decomposition.
Averaging over a list of coordinates #
Averaging over every coordinate in a list.
Equations
Instances For
The Efron–Stein inequality #
Efron–Stein on the Bernoulli cube. The variance of f is at most p(1−p) times the sum
over coordinates of the mean square discrete derivative.
Linearity, products and the variance identity #
The centred second moment of f is Exp f² − (Exp f)².
Efron–Stein, in centred form.
Second moments of weighted sums of coordinates #
The pair correlation of two coordinate indicators: p on the diagonal, p² off it.
The second moment of a nonnegatively weighted sum of coordinate indicators.
LeanPool.AsymptoticTrianglePacking.Internal — stability of the covered set under a single-edge #
flip
The one remaining analytic input of the tight-band nibble (see
LeanPool.AsymptoticTrianglePacking.Internal.Tight.SharpRound) is the
SHARP per-vertex safe-degree variance bound
Var(safeDeg(v)) ≤ C(r)·(γΔ + κγΔ),
i.e. a bound with NO term of the shape c·γ^a·Δ². The Bonferroni route of
LeanPool.AsymptoticTrianglePacking.Internal.Tight.SafeDegreeVariance leaves a residue Θ(γ³Δ²),
which is a constant factor (depending
on the target β) too large to iterate.
This file provides the key COMBINATORIAL input of the bounded-differences (Efron–Stein) route to
that bound: the round's covered set is locally stable — flipping the retention status of a single
edge e only moves vertices that lie on e itself or on a retained edge meeting e.
Concretely, with
flipInfluence R e = insert e (R.filter (fun f => ¬ Disjoint f e)),
LeanPool.AsymptoticTrianglePacking.Internal.mem_roundMatching_insert_iff_erase says that every
edge outside flipInfluence R e belongs
to roundMatching (insert e R) exactly when it belongs to roundMatching (R.erase e), and hence
LeanPool.AsymptoticTrianglePacking.Internal.covered_insert_sdiff_subset /
LeanPool.AsymptoticTrianglePacking.Internal.covered_erase_sdiff_subset bound the symmetric
difference of the two covered sets by ⋃ (flipInfluence R e). For an r-uniform hypergraph this
has at most r·(1 + #{f ∈ R : f meets e}) vertices
(LeanPool.AsymptoticTrianglePacking.Internal.card_biUnion_flipInfluence_le), so the safe degree at
v moves by at most
∑_{u} codeg(v,u) over that set
(LeanPool.AsymptoticTrianglePacking.Internal.abs_safeDegree_sub_le_codegree_sum).
Summing p·𝔼[(ΔsafeDeg)²] over the edges e and using ∑_{u ≠ v} codeg(v,u)² ≤ κ(r−1)deg(v)
gives exactly O_r(γΔ(1 + κ)), the sharp bound — the arithmetic is recorded in the header of
LeanPool.AsymptoticTrianglePacking.Internal.Tight.SharpRound.
placeholder-free and axiom-clean [propext, Classical.choice, Quot.sound].
The influence set of a single edge #
The edges whose membership in the round matching can be affected by flipping the retention
status of e: the edge e itself, and the retained edges meeting e.
Equations
- LeanPool.AsymptoticTrianglePacking.Internal.flipInfluence R e = insert e ({f ∈ R | ¬Disjoint f e})
Instances For
Local stability of the round matching. An edge outside the influence set of e is in the
round matching of insert e R exactly when it is in the round matching of R.erase e.
Stability of the covered set #
The flip only moves few vertices. For an r-uniform hypergraph the influence set of e
spans at most r·(1 + #{f ∈ R : f meets e}) vertices.
The safe degree moves by at most a codegree sum #
If two covered sets differ only inside D, the safe degrees at v differ by at most the number
of edges at v meeting D away from v.
The number of edges at v meeting a set D away from v is at most ∑_{u ∈ D} codeg(v,u).
The bounded-differences estimate for the safe degree. If the covered sets C, C' differ
only inside D, then the safe degrees at v differ by at most ∑_{u ∈ D \ {v}} codeg(v,u).
The safe degree is stable under a single-edge flip. Flipping the retention status of e
changes the safe degree at v by at most the codegree sum over the vertices spanned by the
influence set of e.
The squared codegree sum. With all codegrees at v bounded by κ,
∑_{u ≠ v} codeg(v,u)² ≤ κ·(r−1)·deg(v) — the weight that drives the Efron–Stein estimate.
LeanPool.AsymptoticTrianglePacking.Internal — the SHARP per-vertex safe-degree variance #
This is the one analytic input the iterable nibble round was missing. The Bonferroni route of
LeanPool.AsymptoticTrianglePacking.Internal.Tight.SafeDegreeVariance bounds the variance of
safeDeg(v) by
Δ²((r−1)²ε₂ + 2(r−1)³q_hi(q_hi²+ε₂)) + q_hi κ(r−1)Δ ≈ 2γ³Δ²; the Θ(γ³Δ²) residue is a constant
factor too large to iterate. Here we prove the sharp bound
Var(safeDeg(v)) ≤ 2p·r²κΔ²·(1 + prΔ + (prΔ)²),
i.e. ≈ 2rγκΔ at the nibble retention p = γ/(rΔ) — with NO Δ² term.
The route is bounded differences (Efron–Stein). Everything happens on the explicit Bernoulli cube
Finset V → Bool of LeanPool.AsymptoticTrianglePacking.Internal.Tight.CubeVariance, where the
Efron–Stein inequality
LeanPool.AsymptoticTrianglePacking.Internal.Cube.centred_sq_le_sum_sq_diff is available. The
combinatorial input is
LeanPool.AsymptoticTrianglePacking.Internal.Tight.FlipStability: flipping the retention of a
single edge k moves the covered set only
inside k ∪ ⋃ {f ∈ R : f meets k}, so the safe degree at v moves by at most
edgeWeight k + ∑_{f ∈ R, f meets k} edgeWeight f, edgeWeight f = ∑_{u ∈ f∖v} codeg(v,u).
Squaring, taking expectations and summing over k produces exactly the three terms above.
The cube picture of a round #
The safe degree at v as a function on the cube.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The codegree weight of an edge as seen from v: ∑_{u ∈ f∖v} codeg(v,u).
Equations
- LeanPool.AsymptoticTrianglePacking.Internal.edgeWeight H v f = ∑ u ∈ f.erase v, ↑(Hypergraph.codegree H v u)
Instances For
The edges of H meeting k.
Equations
- LeanPool.AsymptoticTrianglePacking.Internal.meets H k = {f ∈ H | ¬Disjoint f k}
Instances For
The random part of the flip bound: the total codegree weight of the retained edges meeting
k.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Elementary bounds on the codegree weight #
Double counting: ∑_{f ∈ H} edgeWeight f = ∑_{u ≠ v} codeg(v,u)·deg(u).
At most rΔ edges meet a given edge.
A sum over a biUnion is at most the sum of the sums, for a nonnegative summand.
The flip bound #
The codegree weight of the vertices spanned by a family of edges is at most the total codegree weight of the family.
The bounded-differences bound. Flipping the retention of k moves the safe degree at v
by at most edgeWeight k + flipWeight k.
The second moment of the flip weight #
The variance bound #
The sharp per-vertex safe-degree variance bound.
LeanPool.AsymptoticTrianglePacking.Internal — the VARIANCE of the safe degree #
The tight round of LeanPool.AsymptoticTrianglePacking.Internal.Tight.TightRound controls the safe
degree through the LOSS WEIGHT
∑_{u} codeg(v,u)·1[u covered] and the PAIR COUNT correction. The pair count has mean ≍ Δγ² and
is handled by Markov, which forces the upper tolerance s ≳ Δγ²/θ — first order in γ once the
exceptional fraction θ is pushed down to the ≍ γ demanded by a γ^{-1}log(1/β)-round schedule,
and therefore not summable over the schedule.
This file removes that bottleneck by treating the safe degree DIRECTLY:
safeDeg(v) = ∑_{e ∋ v} X_e, X_e = 1[(e∖v) ∩ covered = ∅],
and bounding its variance. The covariance of two edge indicators is exactly
Cov(X_e, X_{e'}) = ℙ(S_e ∩ S_{e'}) − ℙ(S_e)·ℙ(S_{e'}), S_e = ⋃_{u ∈ e∖v} {u covered},
(safeIndicator_covariance_eq) and the two-sided second-order estimates give
Cov(X_e, X_{e'}) ≤ (r−1)²ε₂ + Q_e·B_{e'} + Q_{e'}·B_e + |(e ∩ e')∖v|·q_hi
(safeIndicator_covariance_le), with Q_e = ∑_{u ∈ e∖v} q_u ≤ (r−1)q_hi the first-order weight,
B_e ≤ (r−1)²(q_hi² + ε₂) the Bonferroni correction and ε₂ the pair excess. The crucial point is
that the Θ(γ²) terms CANCEL: ∑_{u,u'} ℙ(u,u' covered) ≤ Q_eQ_{e'} + (r−1)²ε₂ is matched by the
Bonferroni lower bound ℙ(S_e)ℙ(S_{e'}) ≥ Q_eQ_{e'} − Q_eB_{e'} − Q_{e'}B_e.
Summing over the deg(v)² pairs and using ∑_{u≠v} codeg(v,u)² ≤ κ(r−1)deg(v):
Var(safeDeg(v)) ≤ Δ²((r−1)²ε₂ + 2(r−1)³q_hi(q_hi² + ε₂)) + q_hi·κ·(r−1)·Δ
(safeDegree_variance_le). In the nibble regime q_hi = γ/r, ε₂ ≤ 2κγ/(rΔ), κ ≤ γΔ/(2048r)
this is ≈ 2γ³Δ², so Chebyshev at a deviation t = ε·γΔ — a factor ε below the first-order
per-round degree gain — has failure probability ≈ 2γ/ε². This is a decisive improvement on the
pairCount route (whose tolerance is first order in γ), but see the caveat on
safeDegree_variance_le_codegree: the residual Θ(γ³Δ²) term is still a constant factor too large
for the round to be iterated, and removing it requires a third-order Bonferroni estimate.
placeholder-free and axiom-clean [propext, Classical.choice, Quot.sound].
The covariance of two edge indicators #
The product of two safe indicators is the indicator of the intersection of the safe events.
The covariance of two edge indicators.
𝔼[X_e X_{e'}] = 1 − ℙ(S_e) − ℙ(S_{e'}) + ℙ(S_e ∩ S_{e'}).
The covariance of two edge indicators.
Cov(X_e, X_{e'}) = ℙ(S_e ∩ S_{e'}) − ℙ(S_e)·ℙ(S_{e'}).
A union bound for the intersection of two unions #
ℙ((⋃_{i∈s} f i) ∩ (⋃_{j∈t} g j)) ≤ ∑_i ∑_j ℙ(f i ∩ g j).
The quantitative covariance bound #
The covariance bound for two edge indicators. With covering rates at most qhi, pair
excesses at most ε₂ and at most n non-v vertices per edge,
Cov(X_e, X_{e'}) ≤ n²ε₂ + |(e ∩ e')∖v|·qhi + 2·(n·qhi)·(n²(qhi² + ε₂)).
The crucial point is that the first-order Θ(n²qhi²) terms CANCEL between the pairwise union bound
for ℙ(S_e ∩ S_{e'}) and the second-order Bonferroni lower bound for ℙ(S_e)·ℙ(S_{e'}).
The variance of the safe degree #
The mean of the safe degree, written as the sum of the edge-indicator means.
Equations
- LeanPool.AsymptoticTrianglePacking.Internal.safeDegMean ρ v = ∑ e ∈ H with v ∈ e, ∫ (ω : Ω), LeanPool.AsymptoticTrianglePacking.Internal.safeIndicator ρ v e ω
Instances For
The centred safe degree has an integrable square (it is a bounded random variable).
The centred second moment of the safe degree as a double sum of covariances.
The variance bound for the safe degree. With deg(v) ≤ Δ edges at v, at most n
other vertices per edge, covering rates at most qhi, pair excesses at most ε₂, and the
codegree-controlled overlap budget ∑_{e,e'∈H_v} |(e ∩ e')∖v| ≤ Ksum,
Var(safeDeg v) ≤ Δ²·(n²ε₂ + 2n³qhi(qhi² + ε₂)) + Ksum·qhi.
The codegree budget for the overlap sum #
∑_{e,e' ∋ v} |(e ∩ e')∖v| = ∑_{e ∋ v} ∑_{u ∈ e∖v} codeg(v,u) ≤ deg(v)·n·κ: the overlap
budget in safeDegree_variance_le is controlled by the codegree, NOT by Δ².
The codegree-tightened variance of the safe degree. Combining
safeDegree_variance_le with the codegree budget sum_pair_overlap_le_codegree:
Var(safeDeg v) ≤ Δ²(n²ε₂ + 2n³qhi(qhi²+ε₂)) + Δ·n·κ·qhi.
In the nibble regime n = r−1, qhi = γ/r, ε₂ ≤ 2κγ/(rΔ), κ ≤ γΔ/(2048r) the right-hand side
is ≈ 2γ³Δ², i.e. o(γ²Δ²): the standard deviation ≃ √2·γ^{3/2}Δ is a factor √γ below the
first-order per-round degree gain ≃ γΔ/8, so Chebyshev at deviation t = ε·γΔ gives a bad
fraction ≈ 2γ/ε² per round.
Caveat for the iteration: a schedule that covers a c ≃ γ/(8r) fraction per round needs the bad
fraction to be ≪ c, i.e. 2γ/ε² ≪ γ/(8r) — a condition on CONSTANTS that no choice of γ can
satisfy (ε ≤ 1). The obstruction is the 2·Q_e·B_{e'} term, which comes from combining a
first-order union bound for ℙ(S_e ∩ S_{e'}) with a SECOND-order Bonferroni lower bound for
ℙ(S_e)·ℙ(S_{e'}); the two errors add rather than cancel. A third-order Bonferroni would replace
Θ(γ³Δ²) by Θ(γ⁴Δ²), making the bad fraction ≈ Cγ²/ε² ≪ γ/(8r) for all small enough γ.
That refinement is NOT part of this file.
LeanPool.AsymptoticTrianglePacking.Internal — the round with a DIRECT safe-degree Chebyshev band #
LeanPool.AsymptoticTrianglePacking.Internal.exists_tight_round_cheb controls the safe degree
indirectly, through the loss weight
(second moment, tolerance t) and the pair count (first moment, tolerance s). The pair count has
mean ≍ Δγ² and can only be handled by Markov, forcing s ≳ Δγ²/θ; combined with the junk budget
that the round schedule can afford, this is not summable over the ≍ γ^{-1}log(1/β) rounds.
Here the safe degree is controlled DIRECTLY by its own variance
(LeanPool.AsymptoticTrianglePacking.Internal.safeDegree_variance_le_codegree), so a single
symmetric tolerance t replaces the pair
(t, s) and no first-moment (Markov) term survives:
#{v : |safeDeg(v) − 𝔼safeDeg(v)| ≥ t} ≤ ∑_v (safeDeg(v) − 𝔼)²/t²,
whose mean is N·Vs/t². Combined with the Chebyshev coverage bound
(LeanPool.AsymptoticTrianglePacking.Internal.prob_coverage_deviation_le) one obtains
exists_safe_round_cheb: an outcome with
- fewer than
aexceptional vertices, every other vertex having its safe degree withintof its mean, and - at least
Q/2covered vertices,
as soon as N·Vs/(t²a) + Cvar/(Q/2)² < 1. With the codegree-tightened variance
Vs ≈ 2γ³Δ² (LeanPool.AsymptoticTrianglePacking.Internal.safeDegree_variance_le_codegree) the
tolerance t ≍ γ^{3/2}Δ already
suffices, which is a factor √γ below the first-order per-round gain ≍ γΔ/8.
This removes the pairCount bottleneck, but it is NOT yet enough to iterate: a schedule covering a
c ≍ γ/(8r) fraction per round needs the exceptional fraction a/N ≈ Vs/(εγΔ)² ≈ 2γ/ε² to be
≪ c, a constant-factor condition that no choice of γ satisfies. See the caveat on
LeanPool.AsymptoticTrianglePacking.Internal.safeDegree_variance_le_codegree: closing that gap
needs a third-order Bonferroni estimate,
which would turn Vs ≈ 2γ³Δ² into Vs = O(γ⁴Δ²).
placeholder-free and axiom-clean [propext, Classical.choice, Quot.sound].
The aggregated safe-degree badness #
The aggregated safe-degree badness of an outcome: ∑_v (safeDeg_v − 𝔼safeDeg_v)²/t².
It dominates the number of vertices whose safe degree deviates by t or more.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The number of vertices whose safe degree deviates by at least t is at most the aggregated
safe-degree badness.
The mean of the aggregated safe-degree badness, from the per-vertex variance bound.
The round #
The round with a direct safe-degree band. If the per-vertex safe-degree variance is at
most Vs, the covered-count variance at most Cvar, the expected coverage at least Q > 0, and
N·(Vs/t²)/a + Cvar/(Q/2)² < 1,
then there is an outcome with fewer than a exceptional vertices, all remaining vertices having
their safe degree within t of its mean, and at least Q/2 covered vertices.
LeanPool.AsymptoticTrianglePacking.Internal — the Bernoulli retention carried by the finite cube #
LeanPool.AsymptoticTrianglePacking.Internal.exists_bernoulliRetention produces some probability
space carrying a Bernoulli retention.
For the sharp variance bound of LeanPool.AsymptoticTrianglePacking.Internal.Tight.SharpVariance we
need a space on which the
Efron–Stein inequality of LeanPool.AsymptoticTrianglePacking.Internal.Tight.CubeVariance is
available, i.e. an honest product of
independent coordinates. This file provides it: the cube ι → Bool with the explicit weighted
counting measure
cubeMeasure p = ∑_ω ofReal (wt p ω) · δ_ω,
for which
- integrals are the elementary sums
LeanPool.AsymptoticTrianglePacking.Internal.Cube.Exp(LeanPool.AsymptoticTrianglePacking.Internal.integral_cubeMeasure), - the coordinate events are independent with probability
p(LeanPool.AsymptoticTrianglePacking.Internal.iIndepSet_cubeCoord), hence the cube carries aLeanPool.AsymptoticTrianglePacking.Internal.BernoulliRetention(LeanPool.AsymptoticTrianglePacking.Internal.cubeRetention), and - the Efron–Stein bound holds in integral form
(
LeanPool.AsymptoticTrianglePacking.Internal.cube_centred_sq_le).
The Bernoulli(p) measure on the finite cube ι → Bool.
Equations
Instances For
The finite cube as a measure space.
Equations
- LeanPool.AsymptoticTrianglePacking.Internal.Cube.cubeSpace p = { toMeasurableSpace := MeasurableSpace.pi, volume := LeanPool.AsymptoticTrianglePacking.Internal.Cube.cubeMeasure p }
Instances For
Independence of the coordinates #
Efron–Stein in integral form #
The retention carried by the cube #
The Bernoulli retention on the finite cube. The coordinate events of the cube
Finset V → Bool form an independent family of events of probability p.
Equations
Instances For
LeanPool.AsymptoticTrianglePacking.Internal — the sharp round: transporting the Efron–Stein #
variance to the cube retention
LeanPool.AsymptoticTrianglePacking.Internal.safeDegCube_variance_le
(LeanPool.AsymptoticTrianglePacking.Internal.Tight.SharpVariance) is the sharp per-vertex
safe-degree variance bound on the elementary Bernoulli cube. Here it is transported to the
LeanPool.AsymptoticTrianglePacking.Internal.BernoulliRetention carried by that cube
(LeanPool.AsymptoticTrianglePacking.Internal.cubeRetention), which is the form the
Chebyshev round LeanPool.AsymptoticTrianglePacking.Internal.exists_safe_round_cheb consumes.
The sharp per-vertex safe-degree variance, in integral form.
The sharp round on an active set #
The whole probabilistic content of the sharp round. Everything that is not a deterministic
estimate of the MEAN safe degree Cube.Exp p (safeDegCube K v) is discharged here: the safe degree
is pinned to within t of its mean off an exceptional set of size < a, and the round covers more
than Q/2 vertices, where Q = |A|·δp(1−p)^{rΔ} uses the degree floor only on the active set.
The sharp Chebyshev round on an active set. Given ANY two-sided estimate mlo ≤ mean ≤ mhi
for the mean safe degree on A, and the smallness condition, one round leaves every active,
uncovered vertex outside an exceptional set of size < a with residual degree in
[mlo − t, mhi + t], and covers more than Q/2 vertices.
The variance input is the SHARP Efron–Stein bound
LeanPool.AsymptoticTrianglePacking.Internal.safeDegCube_variance_le:
Vs = 2p·r²κΔ²(1 + prΔ + (prΔ)²), which carries NO Δ² term at p = γ/(rΔ).
The deterministic mean estimates #
Floor for the mean safe degree (union bound on the covering events).
Ceiling for the mean safe degree (second Bonferroni inequality), with the degree floor
used only on the active set A: the drop is carried by the deg(v) − lostDegree K Aᶜ v edges at
v that stay inside A.
LeanPool.AsymptoticTrianglePacking.Internal — assembling the sharp round #
LeanPool.AsymptoticTrianglePacking.Internal.SharpRoundFor
(LeanPool.AsymptoticTrianglePacking.Internal.Tight.SharpRound) is proved here in the regime 2γ ≤ ε, from
LeanPool.AsymptoticTrianglePacking.Internal.exists_sharp_round_band— the probabilistic content (sharp Efron–Stein variance + Chebyshev on the safe degree, cover variance on the active set), andLeanPool.AsymptoticTrianglePacking.Internal.Exp_safeDegCube_ge/LeanPool.AsymptoticTrianglePacking.Internal.Exp_safeDegCube_le— the two deterministic estimates of the MEAN safe degree (union bound and second Bonferroni inequality).
The retention is p = γ/(r⌊Δ⌋₊), the tolerance t = εγ⌊Δ⌋₊/16, the exceptional budget a = θ|V|,
the degree threshold D₀ = 256r/(α²γ) + 96/ε + 4 and the codegree factor c₀ = θε²γα²/(16384r).
The hypothesis 2γ ≤ ε is what pays for the SECOND-ORDER error of the mean safe degree: the
Bonferroni residue is Θ(γ²Δ) per vertex, while SharpRoundFor allows only εγΔ, so a hypothesis
of the shape γ = O(ε) is unavoidable for a round built from the uniform retention p = γ/(rΔ).
The CONSTANT, however, is not: the exact requirement is that the residue
Δ⌊·⌋(r−1)(r−2)(Δ²p² + κp) ≤ γ²Δ (mean ceiling, Bonferroni)
together with the Chebyshev tolerance t, the codegree term rκγ, and the rounding/(1−p)^{rΔ}
discrepancy γ³Δ + O(1) fit inside εγΔ. Charging γ²Δ ≤ εγΔ/2, γ³Δ ≤ εγΔ/4,
t ≤ εγΔ/16 and the two O(1)-terms εγΔ/32 each leaves 28/32 of the budget used, so 2γ ≤ ε
suffices. This is exactly the regime the tight-band schedule uses:
LeanPool.AsymptoticTrianglePacking.Internal.exists_tightParams
sets ε = 4aγ with a = (r−1)/r ≥ 1/2, hence ε ≥ 2γ.
The discrepancy γ³Δ + O(1) (rather than the γ²Δ + O(1) of the earlier bookkeeping) comes from
the sharp upper bound (1−p)^{rΔ} ≤ 1 − γ + γ²/2
(LeanPool.AsymptoticTrianglePacking.Internal.one_sub_pow_le_quadratic), which cancels
the (1−γ) factor carried by the ceiling drop that SharpRoundFor requests.
Second-order upper bound for (1 − p)^m. For 0 ≤ p ≤ 1,
(1 − p)^m ≤ 1 − mp + (mp)²/2; at mp = γ this is 1 − γ + γ²/2, the bound that cancels the
(1 − γ) factor of the requested ceiling drop.
The rounding/(1−p)^{rΔ} discrepancy of the ceiling drop. With dn = ⌈δ⌉₊, Dn = ⌊Δ⌋₊
and L = (1−p)^{rDn} ≤ 1 − γ + γ²/2, the achieved relative drop dn·L/Dn exceeds the requested one
δ(1−γ)/Δ by at most γ² + 3/Δ in relative terms — i.e. Δ·(dn L/Dn) ≤ δ(1−γ) + γ²Δ + 3.
The survival factor of one round. For m·p = γ with 0 ≤ p ≤ 1, Bernoulli and
LeanPool.AsymptoticTrianglePacking.Internal.one_sub_pow_le_quadratic pin (1 − p)^m between 1 − γ and 1 − γ + γ²/2.
The mean ceiling is monotone in the degree. Replacing the degree D of a vertex by the
global ceiling Dn and its floor by dn can only increase the mean safe degree estimate.
The cover rate of one round. With p = γ/(rD), a floor dn ≥ D/2 and a survival factor
L ≥ 1/2, each active vertex is matched with probability at least γ/(8r).
The second-order (Bonferroni) error of the mean safe degree. With p = γ/(rD) the residue
D(r−1)(r−2)(D²p² + κp) is at most Δγ² + rκγ.
The codegree share of the tolerance budget. At κ ≤ θε²γα²D/(8192r) the codegree term
rκγ of the ceiling drop uses at most a 1/32 of the budget εγΔ.
The ceiling clause of the round, in arithmetic form. The mean ceiling Dn − Sγ(dn−l)d + Err
produced by the Chebyshev band, plus the tolerance t, still fits below the requested ceiling
Δ − Sγ(δ−l)c + εγΔ, where c = δ(1−γ)/Δ is the requested relative drop and d = dn·L/Dn the
achieved one: the five error terms use 1/2 + 1/4 + 1/16 + 1/32 + 1/32 < 1 of the budget.
The numeric smallness condition consumed by
LeanPool.AsymptoticTrianglePacking.Internal.exists_sharp_round_band, at the
parameters of LeanPool.AsymptoticTrianglePacking.Internal.sharpRoundFor_of_two_gamma_le_eps
(tolerance t = εγDn/16, codegree
kn ≤ θε²γα²Dn/(8192r)).
The sharp LeanPool.AsymptoticTrianglePacking.Internal round, assembled, in the regime 2γ ≤ ε — the regime the tight-band
schedule LeanPool.AsymptoticTrianglePacking.Internal.exists_tightParams actually uses (ε = 4((r−1)/r)γ ≥ 2γ).
LeanPool.AsymptoticTrianglePacking.Internal.SharpRoundHyp in the regime 2γ ≤ ε.
This is exactly the body of LeanPool.AsymptoticTrianglePacking.Internal.SharpRoundHyp with the
extra hypothesis 2 * γ ≤ ε; the
witnesses are D₀ = 256r/(α²γ) + 96/ε + 4 and c₀ = θε²γα²/(16384r).
The restriction is not an artefact of the bookkeeping: the mean safe degree of a vertex genuinely
carries a second-order term of size Θ(γ²Δ) (the pairs of neighbours of v inside a single edge
that are covered simultaneously), while SharpRoundFor allows an absolute error of only εγΔ. So
some hypothesis of the form γ = O(ε) is necessary for a round built from the uniform retention
p = γ/(rΔ). The constant 2 is below the schedule's own ratio:
LeanPool.AsymptoticTrianglePacking.Internal.exists_tightParams
sets ε = 4((r−1)/r)γ ≥ 2γ.
LeanPool.AsymptoticTrianglePacking.Internal.SharpRoundHyp in the regime 8γ ≤ ε, a
special case of
LeanPool.AsymptoticTrianglePacking.Internal.sharpRoundHyp_of_two_gamma_le_eps.