LeanPool.AsymptoticTrianglePacking.Internal — the joint matching probability of TWO edges #
The variance of the safe degree (LeanPool.AsymptoticTrianglePacking.Internal.safeDegree) is
controlled by the covariance of the
covering events of two vertices, and the cancellation that makes that covariance small requires the
exact joint law of two edges entering the round matching:
- two edges that meet can never both be matched (
prob_two_matched_of_not_disjoint); - two disjoint edges
f, gare both matched exactly when both are retained and no edge ofconflicts f ∪ conflicts gis retained, an event of probabilityp²(1−p)^{|conflicts f ∪ conflicts g|}(prob_two_matched_disjoint); - since
|A ∪ B| = |A| + |B| − |A ∩ B|and1 − (1−p)^k ≤ kp, this differs from the productp(1−p)^{c(f)} · p(1−p)^{c(g)}of the two individual matching probabilities by at most|conflicts f ∩ conflicts g|·p³(prob_two_matched_le).
The last statement is the quantitative brick: summed over the edges at two distinct vertices, the
error carries a factor of the CODEGREE
(LeanPool.AsymptoticTrianglePacking.Internal.sum_conflicts_inter_card_le), which is what makes
the nibble's residual degrees concentrate.
placeholder-free and axiom-clean [propext, Classical.choice, Quot.sound].
The general retention pattern probability. For disjoint families T, C ⊆ H, the event
that every edge of T is retained and no edge of C is has probability p^|T|·(1−p)^|C|.
Two intersecting edges are never both in the round matching.
The joint matching event of two edges. Both f and g are matched exactly when
both are retained and nothing in conflicts f ∪ conflicts g is.
The joint matching probability of two disjoint edges.
The joint matching probability against the product of the individual ones. The two differ
by at most |conflicts f ∩ conflicts g|·p³ — the brick that produces the codegree factor in the
variance of the safe degree.
LeanPool.AsymptoticTrianglePacking.Internal — the conflict-overlap count at two distinct vertices #
Pure Finset combinatorics, no probability. The variance estimate for the safe degree needs the
following triple count: summing, over the edges f through u and the edges g through a
DIFFERENT
vertex u', the number of edges conflicting with both, one gets a bound carrying a factor of the
CODEGREE κ:
∑_{f ∋ u} ∑_{g ∋ u'} |conflicts f ∩ conflicts g| ≤ 4 r² κ Δ².
(The corresponding statement at u = u' is false — there the sum is of order Δ³ — which is
exactly
why the residual degree of a vertex does not concentrate while its SAFE degree does.)
Proof. Writing S = ∑_{h ∈ H} a(h)·b(h) with a(h) = #{f ∋ u : h ∈ conflicts f} and
b(h) = #{g ∋ u' : h ∈ conflicts g} (conflictCountAt), split on whether u' ∈ h:
∑_{h ∈ H} a(h) = ∑_{f ∋ u} |conflicts f| ≤ Δ·rΔ;- for
u' ∉ h, everyg ∋ u'meetinghdoes so at a vertexw ≠ u', sob(h) ≤ r·κ; - for
u' ∈ handu ∈ hthere are at mostcodeg(u,u') ≤ κsuchh, anda(h), b(h) ≤ Δ; - for
u' ∈ handu ∉ hthere are at mostdeg(u') ≤ Δsuchh,a(h) ≤ rκandb(h) ≤ Δ.
placeholder-free and axiom-clean [propext, Classical.choice, Quot.sound].
The number of edges through x that conflict with a given edge h.
Equations
- LeanPool.AsymptoticTrianglePacking.Internal.conflictCountAt H x h = {f ∈ {f ∈ H | x ∈ f} | h ∈ Hypergraph.conflicts H f}.card
Instances For
conflictCountAt is bounded by the degree of x.
If x ∉ h, then every edge through x conflicting with h meets h at a vertex ≠ x, so
conflictCountAt is bounded by a sum of codegrees.
With uniformity and a codegree bound: if x ∉ h, then conflictCountAt H x h ≤ r·κ.
Double counting: summing conflictCountAt H x · over all edges gives the total conflict count
of the edges through x.
The total conflict count of the edges through x is at most Δ·rΔ.
The double sum of conflict overlaps, written as a single sum over edges.
The conflict-overlap count at two DISTINCT vertices. ∑_{f ∋ u} ∑_{g ∋ u'} |conf f ∩ conf g| ≤ 4 r² κ Δ², where Δ bounds the degrees and κ the codegrees of distinct pairs.
LeanPool.AsymptoticTrianglePacking.Internal — the CODEGREE-tightened pair excess and loss variance #
LeanPool.AsymptoticTrianglePacking.Internal.pair_excess_le bounds the pair excess
ℙ(u, u' covered) − q_u q_{u'} ≤ 2 r Δ³ p³ + κ p
by trading the crude product bound deg(u)·deg(u')·p² against the exact rates. Its Δ³p³ term is
too lossy for the nibble: fed into
LeanPool.AsymptoticTrianglePacking.Internal.centered_second_moment_le it contributes
(r−1)²Δ² · 2rΔ³p³ ≈ Δ² γ³ to the variance of the loss weight (with p = γ/((r−1)Δ)), i.e. a
standard deviation of order γ^{3/2}Δ, whose Chebyshev failure probability at the natural scale
t = ξγΔ is ≈ γ/ξ² — of the same order as the per-round covering rate ≈ γ, hence useless for
an exceptional set that must be a small fraction of the coverage.
This file replaces that term by a CODEGREE-controlled one:
ℙ(u, u' covered) − q_u q_{u'} ≤ κ p + 4 r² κ Δ² p³ (pair_excess_le_codegree)
for distinct u, u'. The proof is the exact edge-pair decomposition, not a union bound:
{u covered} ∩ {u' covered} = ⋃_{f ∋ u} ⋃_{g ∋ u'} (M_f ∩ M_g)withM_fthe event thatfenters the round matching;- for
f ≠ gthe joint matching probability differs from the productq_f q_gby at most|conflicts f ∩ conflicts g|·p³(LeanPool.AsymptoticTrianglePacking.Internal.prob_two_matched_le— zero whenfandgmeet); - the diagonal
f = goccurs for at mostcodeg(u,u') ≤ κedges, each contributing at mostp; LeanPool.AsymptoticTrianglePacking.Internal.sum_conflicts_inter_card_lesums the conflict overlaps to4 r² κ Δ².
Consequently (centered_second_moment_le_codegree)
𝔼[(loss − 𝔼loss)²] ≤ κ·(r−1)Δ·(Δp) + (κp + 4r²κΔ²p³)·((r−1)Δ)²,
which in the nibble regime p = γ/((r−1)Δ), κ = μΔ is O(r μ γ Δ²) — a factor μ (the relative
codegree, which the nibble hypothesis lets us choose as small as we like) below the previous
O(rγ³Δ²/(r−1)), and it is the bound whose Chebyshev failure probability at scale t = ξγΔ is
O(rμ/(ξ²γ)), i.e. arbitrarily small compared with the covering rate γ.
placeholder-free and axiom-clean [propext, Classical.choice, Quot.sound].
The matching event of a single edge has probability p·(1−p)^{c(e)}.
The joint covering event of two vertices is the union of the joint matching events of the edge pairs through them.
The codegree-tightened joint covering bound. For distinct u, u',
ℙ(u,u' covered) ≤ q_u q_{u'} + codeg(u,u')·p + (∑_{f ∋ u} ∑_{g ∋ u'} |conf f ∩ conf g|)·p³.
The codegree-tightened pair excess. For distinct u, u',
ℙ(u,u' covered) − q_u q_{u'} ≤ κ p + 4 r² κ Δ² p³.
Both summands carry the codegree bound κ; in the nibble regime κ = μΔ, p = γ/((r−1)Δ) this is
O(rμγ/(r−1)), whereas LeanPool.AsymptoticTrianglePacking.Internal.pair_excess_le gives only
O(rγ³/(r−1)³ + μγ/(r−1)).
The codegree-tightened variance of the loss weight.
𝔼[(loss − 𝔼loss)²] ≤ κ·(r−1)Δ·(Δp) + (κp + 4r²κΔ²p³)·((r−1)Δ)².
Compare LeanPool.AsymptoticTrianglePacking.Internal.centered_second_moment_le_params, whose second
factor is Δ²p² + κp: the term
Δ²p² (of order γ² with p = γ/((r−1)Δ)) is replaced by 4r²κΔ²p³ (of order r²μγ³), so the
whole bound acquires the codegree factor κ.
LeanPool.AsymptoticTrianglePacking.Internal — the VARIANCE of the covered count, and Chebyshev for #
the coverage
LeanPool.AsymptoticTrianglePacking.Internal.exists_tight_round_on controls the coverage of a
nibble round by MARKOV applied to the
number of uncovered vertices. That is extremely lossy: it only gives
ℙ(covered ≤ N·q/2) ≤ 1 − q/2,
so the competing badness event has to have probability < q/2 ≈ γ/2, and the Markov bound on the
badness then forces the deviation tolerances t, s to be of the same order as the whole per-round
degree drop γΔ — a band far too wide to be iterated over ≍ γ^{-1}log(1/β) rounds.
This file removes that bottleneck. The covered count Cov = ∑_v 1[v covered] is a sum of
indicators whose pair covariances are exactly the pair excesses controlled by
LeanPool.AsymptoticTrianglePacking.Internal.pair_excess_le_codegree, so
Var(Cov) ≤ N·q_hi + N²·ε₂, (coveredCount_variance_le)
with ε₂ the (codegree-controlled) pair excess. Chebyshev then gives a coverage failure
probability ≤ 4·Var/Q², which in the nibble regime Q ≈ Nγ, ε₂ ≈ μγ is
4/(Nγ) + 4μ/γ,
i.e. ≤ 1/2 as soon as N ≥ 16/γ and μ ≤ γ/16 — INDEPENDENTLY of the deviation tolerances.
placeholder-free and axiom-clean [propext, Classical.choice, Quot.sound].
The centred covered count is the sum of the centred covering indicators.
The centred covered count is square integrable.
The variance of the covered count, as an exact double sum of pair excesses.
The variance bound for the covered count. With covering rates at most q_hi and pair
excesses at most ε₂, the covered count has variance at most N·q_hi + N²·ε₂.
Chebyshev for the coverage. If the mean coverage is at least Q > 0 and the variance is at
most Cvar, the probability that the covered count deviates by Q/2 or more is at most
Cvar/(Q/2)².