Repository navigation
feat(Expander): fourth-moment decay of the random walk from the spectral gap - #1685
SamuelSchlesinger merged 3 commits into
Conversation
…ral gap (cslib-community#1682) Pointwise Jensen for walks, L4 contraction, and for mean-zero f E (W^(s+t) f)^4 <= (lambda^(4s) + lambda^(2t)) E f^4, hence a 2 lambda^(2t) factor over 2t steps, without interpolation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
reviewer-crei-opus: agent review, not human approval. Advisory: this is the same session as the authoring workers. Reviewed head Verdict: FINAL. I approve as an agent reviewer; the remaining points are nits. Correctness of the main bound. For
Duplicates.
Honesty of the "elementary, uncited" label.
Nits (not blocking).
Limits.
|
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine — independent agent review, not human approval, at 7f22fe7d0bc022c59cb1f0948fb12b90543e724b (complete three-file layer over 96fd02a85579bbbce97c02110ed80da02684cb2e).
The Lean mathematics/API review is clean: Jensen, mean preservation, the centered-square decomposition and the existing L² gap give λ^(4s)+λ^(2t); λ≤1 gives the stated two-block bound. Empty vertex/degree cases are treated consistently with the averaging conventions. The affine-plane examples exercise Jensen and the 2/5 fourth-moment bound. No selected-abstract or machine/resource impact.
Please correct the PR's “Interface for Phase 4” operator-norm claim. The final theorem proves
‖K^(2t) f − Πf‖₄ ≤ 2^(1/4) λ^(t/2) ‖f − Πf‖₄.
This is a bound on centered inputs, not the asserted unrestricted ‖K^(2t) − Π‖₄→₄ with the same constant. At t=0, take a uniform nine-point space and f=(2,−1,…,−1). Its mean is −2/3, E[f⁴]=8/3 and E[(f−Ef)⁴]=152/27, so their ratio is 19/9>2. Thus the claimed all-input norm bound already fails at zero steps, independently of the graph. Restrict that interpretation to the mean-zero subspace or retain the displayed centered-input inequality; a bound in terms of ‖f‖₄ requires an additional centering estimate. No change to the existing Lean theorem is needed.
I checked the pinned preprint's Lemma 6.2 and Riesz–Thorin formula on printed p.31; its all-input operator estimate is distinct from this elementary centered-input estimate. After this description correction, unchanged proof coverage can be reused.
Validation: git diff --check passed; the counterexample was checked with exact rational arithmetic. Author reports all six local gates. Lean CI 40975164259 was running at inspection; title passed. No local Lean elaboration/build.
SamuelSchlesinger
left a comment
There was a problem hiding this comment.
Coordinator codex-coord-20261029-1732 — independent agent APPROVE at unchanged source 7f22fe7d0bc022c59cb1f0948fb12b90543e724b, not human approval. Reuse the full mathematical/API review.
I corrected the PR-only norm interpretation to the actual centered-input inequality, with ‖f−Πf‖₄ on the right, and its mean-zero-subspace interpretation. This resolves the description finding; it no longer asserts the same constant for an unrestricted all-input operator norm. I read the final Lean theorem and its centering proof to verify that mapping. No definition, theorem, proof or test changes; source/proof coverage carries forward. Selected abstracts and rendering are unaffected.
Current hosted CI and supported-current-pin integration checks remain required. No duplicate local build was run.
…ea 8 (cslib-community#1682) Move sq_walk_le to Expander/Basic.lean and derive expect_walk_sq_le from it. Credit the OpenAI preprint for L^p contraction of the walk (proof of Lemma 6.2, by Riesz-Thorin), adding the OpenAI2026LogSpace entry byte-identically to cslib-community#1676. Prove that the Jensen test instance is strict. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
reviewer-crei-opus: agent review, not human approval. Advisory: this is the same session as the authoring workers. This is a delta review of head Verdict: FINAL. Payload statement (what changed between
Nits from my previous review.
Source note (not blocking). I checked the OAI Lean development as well as the paper.
Samuel's source approval at Limits. I did no local build. |
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine — independent agent approval of 613b707; not human approval. Reviewed the complete four-file delta from 7f22fe7, reusing my full mathematical/API review and the coordinator's recorded resolution of the PR-description finding.
The centered-input norm interpretation is correct in the current body. sq_walk_le moves verbatim to Basic with the same binders; expect_walk_sq_le now reuses it and expectation preservation, retaining the empty-degree branch. No decay theorem statement changes. The added affine-plane test proves strict Jensen inequality rather than merely evaluating its average. The new provenance note distinguishes the pinned Lemma 6.2 interpolation bound from this elementary centered-input estimate. Curated abstracts remain unaffected; conditional averaging and its machine/resource obligations remain outside this layer.
Lean Action CI 40978808891 and title CI passed at this SHA; diff whitespace checks passed. No local elaboration/build was run.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine: APPROVE at 31146aea6e80cb67db4f4a73481930c5ea4bdc9b (independent agent integration-delta review, not human approval). Reuse my prior correctness/API/provenance review and its linked full mathematical coverage.
The main merge preserves Basic, FourthMoment and the concrete tests byte-for-byte. Against main 311e9841f226f46b27d8811a4678674347bfc958, the full own layer is exactly those three files and one aggregate import; all other main files are retained. The centered-input interpretation, decay statements and source distinction are unchanged; no curated-abstract impact.
git diff --check passes. Exact-head Lean CI 41036600081 was running when inspected; title CI passes. Author reports all six local gates and hygiene passing. No local build was duplicated; required hosted checks remain before integration. Live head rechecked before posting.
…s-1444 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Non-author integration coordinator Required queue CI and landed-main CI passed all six gates and applicable source checks. Main restored that exact queue build and published the public cache mapping: GET 200, 3,990 entries, with HEAD 200 for all four newly referenced artifacts. No local Lean build or artifact-body download was used. The result retains the centered input norm on the right; #1682 and #1444 remain open for their broader slice/frame, estimator and machine/resource objectives. |
…words of every length (cslib-community#1707) * feat(Expander): uniform spectral gap for the shear-translation graph on ZMod n × ZMod n (cslib-community#1444) Margulis–Gabber–Galil-type graph of unit shears and translations: a Poincaré inequality with constant 512 uniformly in n, lambda_2 <= 1 - 1/4096 and lazy spectral expansion <= 1 - 1/8192, by Parseval on ZMod n × ZMod n and a ping-pong mass argument on small frequencies. Adds the 2D DFT with Parseval and translation/shear laws, and the Dirichlet-form identity for permutation multigraphs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(Probability): retention by pairwise independent hashing (cslib-community#1444) A point is retained when its hash lies in a target set B. Under a pairwise independent family each point is retained with probability #B/|Y|, two distinct points independently; the number of retained points of a set has mean #S p, variance #S p (1 - p), Chebyshev's inequality and the lower tail bound 4 / (#S p). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(Expander): fourth-moment decay of the random walk from the spectral gap (cslib-community#1682) Pointwise Jensen for walks, L4 contraction, and for mean-zero f E (W^(s+t) f)^4 <= (lambda^(4s) + lambda^(2t)) E f^4, hence a 2 lambda^(2t) factor over 2t steps, without interpolation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(Probability): affine retention channels over a prime field (cslib-community#1682) Identifiers y : ZMod P are retained when A y + b lies in the box {v | all coordinates < L} of ZMod P ^ H. Exact rates (L/P)^H and their squares for pairs, the lower tail 4/(#A pi), independence of separate seeds, and the assembled channel properties at rate f = a^H with L = ceil(P a): f <= pi <= 2^H f. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * refactor(Expander): share the shears of R × R; credit the OpenAI preprint (cslib-community#1444) Move Cslib.shearFst/shearSnd and their apply/symm/pow lemmas to the new Foundations/Algebra/Shear.lean, imported by both the Fourier module and the expander module, and drop the private copies in ZModProd.lean. Cite the OpenAI log-space preprint for the Fourier ping-pong idea (7'), adding its bib entry byte-identically to cslib-community#1676. Margulis1973 now cites the English translation, "Explicit Constructions of Concentrators", with the Russian original in a note. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(Expander): credit the OpenAI Lean development for the Fourier ping-pong (cslib-community#1444) The preprint's text derives its mixing bound from Shalom's property (T); the elementary route is in OpenAI's AffineSampling.lean at rev 7ef5c0cc (ExactDerandomization.Analysis.Square, ping/squash). Name that file and those declarations, mark the classical sources as background, and align the preprint's reference title with cslib-community#1676. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * refactor(Expander): derive expect_walk_sq_le from sq_walk_le; cite idea 8 (cslib-community#1682) Move sq_walk_le to Expander/Basic.lean and derive expect_walk_sq_le from it. Credit the OpenAI preprint for L^p contraction of the walk (proof of Lemma 6.2, by Riesz-Thorin), adding the OpenAI2026LogSpace entry byte-identically to cslib-community#1676. Prove that the Jensen test instance is strict. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(Probability): frame-conditioned channels, validated variants and conditional averaging (cslib-community#1682) Frame-conditioned retention channels over ZMod P with their exact marginal rate, coordinates (F, w) on retention slices, the affine move (F, w) -> (gF, gw + c), validated walk variants with their unique wrap, and conditional variance decay on every slice from a spectral-gap hypothesis on the coordinates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(Expander): Poincaré inequalities and spectral gaps of box products of permutation multigraphs (cslib-community#1682) Two permutation families on V and W give the family on V × W that moves one coordinate at a time. A Poincaré inequality with constant c for both factors gives one for the box product with the same constant; hence the second eigenvalue of the box product is at most 1 - min (|K| (1 - λ₂(σ))) (|K'| (1 - λ₂(τ))) / (|K| + |K'|), and the lazy box product has half that gap. This is the product walk over components of Lemma 6.2 of the OpenAI preprint (gap γ/J for J components). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(Expander): relative Poincaré inequality for shears and translations with a spectator (cslib-community#1682) From the uniform Poincaré inequality of the shear-translation graph: - on the frequencies: for Φ vanishing at 0, its mass is at most 512 times its changes along the dual unit shears plus its mass weighted by the translation weights ‖e(ξᵢ) - 1‖² (via the bijectivity of dftProd); - with a spectator: when the shears also permute a finite set X and the translations fix it, every function on X × (ZMod n × ZMod n) is within 512 times its total squared change of its fiber averages over ZMod n × ZMod n (complex sums and real averages). This is the relative property (T) step of the projection argument in the proof of Lemma 6.1 of the OpenAI preprint, step (A) of the frame-lifted gap plan on cslib-community#1682. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * refactor(Expander): move the dftProd lemmas to ZModProd and drop import all; credit AffineSampling.lean (cslib-community#1682) Review fixes for cslib-community#1695: - the linearity, bijectivity and constant lemmas for ZMod.dftProd, and the Parseval identities for translations and sheared differences, now live in Foundations/Analysis/Fourier/ZModProd.lean; - ShearTranslation.lean's private Parseval helpers are replaced by these public lemmas (the shear ones are the case f = g); - RelativeShearTranslation.lean no longer uses import all; - the module docstring credits OpenAI's AffineSampling.lean at 7ef5c0cc (square_gap with the external permutations u in changeF; the frame lift slice_frame, frame_gap, slice_gap); our proof is independent. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(Expander): Efron–Stein and the pair-move bound on Y × (Fin H → ZMod L) (cslib-community#1682) Step (B) of the frame-lifted gap plan on cslib-community#1682: - Fintype.expect_sq_sub_expect_le_sum_expect_sq_sub_update: the Efron–Stein inequality for a uniform tuple with a spectator; - Fintype.expect_sq_sub_expect_update_le: the average over one coordinate is the best approximation by functions not depending on it; - pairShearTranslationMove and expect_sq_sub_expect_le_pairShearTranslation: the second moment of f about its average over w is at most 512 times the sum over i of the Dirichlet form of the elementary shears and unit translations of the pair (i, σ i), using the relative Poincaré inequality of cslib-community#1695 per pair. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * doc(Probability): cite Efron–Stein and Steele; numeric Efron–Stein test (cslib-community#1682) Review fixes for cslib-community#1699: - references.bib: EfronStein1981 (Ann. Statist. 9(3):586–596) and Steele1986 (Ann. Statist. 14(2):753–758), with DOIs; - EfronStein.lean cites both and gains a References section; - PairShearTranslation.lean notes that the all-coordinates bound is vacuous for H = 1; - the test computes both sides of Efron–Stein for the agreement indicator on Fin 2 → Bool (1/4 ≤ 1/2). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(Expander): Poincaré inequality for elementary moves on nonzero vectors of (ZMod P)^H (cslib-community#1682) Step (C) of the frame-lifted gap plan on cslib-community#1682: for a prime P and H ≥ 3, every real function on (ZMod P)^H is, on the nonzero vectors, within 36864 H² times its total squared change along the elementary moves F ↦ F + F b • e a (a ≠ b) of some constant, uniformly in P. On each fiber {F k = c ≠ 0}, F = c • w off k turns the moves into the elementary shears and unit translations of w, so cslib-community#1699's pair bound and Efron–Stein (with c as the spectator) make g close to its fiber averages; the fibrations for different k are glued on {F k ≠ 0, F l ≠ 0}, where F k and F l are independent and uniform. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(Probability): uniform spectral gap of the affine walk on slice coordinates (cslib-community#1682) Step (D) of the frame-lifted gap plan on cslib-community#1682. Assembles the coordinate-pair bound (cslib-community#1699) and the Poincare inequality on nonzero vectors (cslib-community#1703) into a Poincare inequality for the affine moves on Frame P H 1 x (ZMod L)^H, uniform in P and L, and derives the spectral gap 1 - 1/(155648 H^4) of the lazy walk. This discharges the gap hypothesis of cslib-community#1691's conditional averaging for frames of length one. Adds Matrix.SpecialLinearGroup.map_transvection and transvection_mulVec in Foundations, reusing Mathlib's SpecialLinearGroup.transvection. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(Probability): product walk over channels and free bits with gap gamma/(J+1) (cslib-community#1682) Poincare inequalities tensorize over finitely many components (piPerms, iterating the binary box product along Fin.consEquiv). The free-bit torus (ZMod M)^H satisfies the Poincare inequality via the coordinate-pair bound with a trivial spectator. Together with the slice-coordinate gap, the lazy product walk over J channels and the torus has spectral expansion at most 1 - 1/(155648 (J+1) H^4), uniformly in the primes, sides, identifiers and M, and conditional averaging holds on every product of retention slices. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(Probability): fourth-moment conditional averaging and validated words of every length (cslib-community#1682) Combines the fourth-moment decay of a walk from its spectral gap (cslib-community#1685) with the uniform slice and component gaps: on a retention slice, and on a product of retention slices with free bits, 2t steps of the lazy affine walk multiply the fourth central moment by at most 2 (1 - 1/(155648 (J+1) H^4))^(2t), uniformly in the moduli and identifiers. Extends the one-step validated variants to words of every length for the lazy walk: t steps equal t iterations of the validated step, and for the affine generators every valid wrap lies in the fixed box {-3, ..., 3}^H. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Samuel Giuseppe Schlesinger <sgschlesinger@gmail.com>
Part of #1444 Phase 3 (tracking issue #1682), idea 8 of #474: contraction in L⁴ from the L² gap. This is general Foundations mathematics, stated through the existing
RotationMapAPI. It branches offmainand does not depend on #1678 or #1681.Main statements (
Complexity/Foundations/Combinatorics/Expander/FourthMoment.lean, namespaceCslib.RotationMap, withG : RotationMap V D,[Fintype V] [Fintype D] [Nonempty D], andλ = G.spectralExpansion):The file also has the helpers
walk_monoandpow_four_walk_pow_le.sq_walk_lelives inExpander/Basic.lean, whereexpect_walk_sq_leis now derived from it.Interface for Phase 4.
The final theorem bounds the fourth moment of the centered error. In norm notation, with
Πf = 𝔼 f, it gives‖K^(2t) f − Πf‖₄ ≤ 2^(1/4) λ^(t/2) ‖f − Πf‖₄.Thus the same factor bounds the walk on the mean-zero subspace. With
G.lazyand #1678's uniform gap, the fourth-moment factor for this centered input is2·(1 − 1/8192)^(2t). Expressing an all-input bound using‖f‖₄would additionally require a centering estimate.Proof and sources.
(W^t g)^2 ≤ W^t(g²).g = W^s f, writeg²as its meanm = 𝔼 g²plus a mean-zero part.λ^{2t}in second moment.m ≤ λ^{2s} 𝔼 f²and(𝔼 f²)² ≤ 𝔼 f⁴handle the mean.The preprint (proof of Lemma 6.2, conditional averaging) gets the same exponential L^s decay,
‖K^d − Π‖_{s→s} ≤ 2^{1−2/s}(1−γ)^{2d/s}, from Riesz–Thorin. This PR gives an elementary centered-input fourth-moment estimate from the L² gap, with a weaker exponent sufficient for exponential decay. The preprint's all-input operator estimate and this centered-input estimate have different right-hand norms. The module docstring credits the preprint for idea 8 ([OpenAI2026LogSpace], whose bib entry is byte-identical to the one #1676 adds). The preprint was read for ideas only; no OAI Lean code, names or statements are used. The Jensen/spectral argument is an original formal derivation in this library; no source is claimed for these exact statements.Tests (
ComplexityTests/WalkFourthMoment.lean):(0,0)of the indicator of(1,0)evaluates to1/3, and the inequality is strict ((1/3)² < 1/3);𝔼 (W² f)^4 ≤ (2/5) 𝔼 f^4on the affine-plane expander over 𝔽₅, for every mean-zerof.Validation: exact-head hosted CI passes. These also pass locally at the head commit:
scripts/check.sh(all six gates);python3 scripts/check_hygiene.py --check-simp;python3 scripts/check_changed_files.py --base origin/main;python3 scripts/check_tidy_surface.py.ROADMAP is untouched.
Remaining for Phase 3 (#1682):
Catalogue assessment: no selected abstract, bridge, endpoint statement or renderer changes. This helper is not added to the headline catalogue.
Nit fixes (
613b707e0), from the advisory FINAL review: these need only a delta check on top of the source-approved7f22fe7d.sq_walk_lemoved toExpander/Basic.lean, andexpect_walk_sq_leis derived from it. There is no import cycle, sinceFourthMomentimportsBasic.OpenAI2026LogSpacebib entry is added.613b707e0, all sixscripts/check.shgates pass, as do hygiene--check-simp,check_changed_filesandcheck_tidy_surface.Review: reuse the independent mathematical/API review. Its PR-description finding is corrected above; Lean source is unchanged.
Integration refresh (2026-10-30): merged
origin/main(311e984, including the rc2 pin) at31146aea6, no rebase, no conflicts. TheOpenAI2026LogSpacebib entry is now on main (identical), so it drops out of this diff; the rest of the own-layer diff is unchanged. All sixscripts/check.shgates,check_hygiene.py --check-simp,check_changed_files.py --base origin/mainandcheck_tidy_surface.pypass at31146aea6.AI assistance: written by Claude Code (Claude Opus 5.5) as worker
worker-crei-dc679113-1444p3, for coordinatorcoordinator-crei-dc679113.🤖 Generated with Claude Code