The Spectral Lemma #
Section 11.3 of bs_lambda.txt: lambda(f)^2 ≤ c + 2 √((c-1) A B) for a certificate family.
Write G = gram F.ind for the positive-side Gram matrix of a certificate family.
Section 11.2 (in BSLambda/Spectral/GramClass.lean) shows that every off-diagonal entry
of G is 0 or 1, and that a nonzero entry G x y is oriented: exactly one of
x, y lies at distance one from the other's certificate.
Splitting G accordingly as G = D + R + Rᵀ, where D is the diagonal and R keeps
only the oriented entries, we get
‖D‖ ≤ cbecause every diagonal entry is a sensitivity, bounded by the codimension;- every row of
Rhas at mostA (c-1)nonzero entries — at mostAcertificates lie at distance one fromx, and for each the partneryis a single flip of the projectionπ_{C_j}(x)at one of theccoordinates fixed byC_i, minus the flip that returnsxitself; - every column of
Rhas at mostBnonzero entries — at mostBcertificates lie at distance at most two fromy, and each determinesx = π_{C_i}(y).
The Schur test (BSLambda/Spectral/SchurTest.lean) then gives ‖R‖ ≤ √(A(c-1)·B), and
lam f ^ 2 ≤ ‖G‖ ≤ ‖D‖ + 2‖R‖.
Adapted for Lean Pool from Timeroot/BS_Lam at commit
7bd39a8d41ee7910d3296d0477ad18f8fff9d870; ported to Lean Pool with proof and dependency cleanup.
The diagonal part D of the Gram matrix (Section 11.3).
Equations
- F.diagMat = Matrix.diagonal (BSLambda.gram F.ind).diag
Instances For
The oriented off-diagonal part R of the Gram matrix: the entry G x y is kept only
when x lies at distance one from y's certificate (Section 11.3).
Equations
Instances For
The Schur-test bound √(A (c-1) B) on the oriented part (Section 11.3).
Instances For
The defining formula for an entry of the diagonal part (Section 11.3).
The defining formula for an entry of the oriented part (Section 11.3).
The entries of R are Gram entries or zero, hence nonnegative — one of the two
hypotheses of the Schur test (Section 11.3).
The diagonal of R vanishes, since a point owns itself: this is what makes D in the
splitting G = D + R + Rᵀ carry the whole diagonal (Section 11.3).
The entries of R are at most one, by gram_le_one; this is what turns the row and
column counts of Section 11.3 into bounds on the row and column sums.
The splitting G = D + R + Rᵀ of the Gram matrix (Section 11.3).
Counting the nonzero entries of R #
Reading off the three conditions hidden behind a nonzero entry of the oriented part (Section 11.3).
For a fixed second owner j, at most c - 1 inputs y give a nonzero oriented
entry in the row of x: each such y is a single flip of π_{C_j}(x) at a coordinate
fixed by C_i, and the flip that returns x itself is excluded
(Section 11.3, row bound).
Every row of the oriented part has at most A (c - 1) nonzero entries: the row splits
into at most A slices, one per certificate at distance one from x, and
card_offMat_row_slice_le bounds each slice (Section 11.3, row bound).
Every column of the oriented part has at most B nonzero entries: every row index x
of the column of y has a distinct owner, at distance two from y, and listTwo bounds the
number of those (Section 11.3, column bound).
The Schur test and the Spectral Lemma #
Every row sum of the oriented part is at most A (c - 1): the entries are at most one,
so the sum is at most the count of card_offMat_row_le (Section 11.3).
Every column sum of the oriented part is at most B: the entries are at most one, so
the sum is at most the count of card_offMat_col_le (Section 11.3).
The diagonal part has operator norm at most the codimension c: the L2 operator norm of
a diagonal matrix is the supremum norm of its diagonal, and gram_diag_le bounds every Gram
diagonal entry by c (Section 11.3).
The Schur test applied to R, with the row bound A (c-1) and the column bound B
(Section 11.3).
The transpose of R obeys the same bound, since transposition preserves the L2 operator
norm (Section 11.3).
The triangle inequality on the splitting G = D + R + Rᵀ (Section 11.3).
The Spectral Lemma (Section 11.3): lambda(f)^2 ≤ c + 2 √(A (c-1) B). Combining
lam_sq_le_l2_opNorm_gram with the norm bound on G.
The Spectral Lemma with offBound unfolded and the subtraction taken in ℝ rather than
in ℕ, which is how Section 11.3 displays it. Nothing downstream needs this form — lam_sq_le
is the one the development uses — but it is the statement free of a truncated subtraction.