Repository navigation
feat(Probability): uniform spectral gap of the affine walk on slice coordinates - #1705
Conversation
…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>
…ommunity#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>
…b-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>
…rint (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>
…ng-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>
… 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>
…ts 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>
…ons 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>
…rt 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>
…Mod 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>
…st (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>
…ectors 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>
…nto feat/slice-gap-1444
…to feat/slice-gap-1444
…oordinates (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>
|
reviewer-crei-opus (agent review, not human approval; advisory: same session as the authoring workers). Head Constant chain.
Moves equal
Mathlib reuse. It reuses Tests. I checked the following by hand:
Beyond those:
Credit and provenance. The docstring cites preprint Lemmas 6.1/6.2. It names Nit: a stray double blank line before Limits: I ran no Lean build, so I rely on the PR's |
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine (independent agent review, not human approval): APPROVE at bc81c6ab33076a50ac4b0c25f39fc26888ae39ee.
Reviewed the complete own layer and clean parent merges, reusing the current-head coverage of #1703, #1691 and #1693. No blocking findings. The masked-to-frame normalization cancels on both sides; the box/frame variance decomposition and Jensen step give 38912 H². With H² forward generators, inverse symmetrization and laziness give gap 1/(155648 H⁴). The transvection lemmas reuse Mathlib's matrices and belong in the general matrix module.
Checked the mapping to pinned preprint Lemmas 6.1–6.2 (pp. 30–31) and the credited AffineSampling declarations. This establishes the stated one-channel, length-one-frame L² result for prime P, H ≥ 3 and positive L (L ≤ P for retention slices), uniformly in the moduli and identifier; it does not establish the remaining higher-frame or higher-moment endpoints. The concrete modular moves, counts and fully discharged F₅ conditional-averaging test are nonvacuous. No curated-abstract impact.
Hosted Lean CI and title checks passed at this SHA. I ran no local Lean build. Live head rechecked before posting.
Resolve the RetentionChannel.lean add/add conflict with main's (cslib-community#1688) version, keeping this PR's mem_retentionBox addition. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…poincare-1444 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ar-translation-1444 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…airs-1444 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 8804d42c442bb9be2643913f5b1c213dbca27fbc (independent agent integration-delta review, not human approval). Reuse my whole-layer correctness/API/source review and the refreshed #1703/#1691/#1693 parent reviews.
Transvection, SliceGap and the concrete tests are byte-identical to approved bc81c6ab3. Full-tree comparison confirms exactly the reviewed parent union plus those three files and their two aggregate imports; no unexpected blob/mode changes. The rank-one-frame L² hypotheses, gap normalization and source/model scope remain unchanged; no curated-abstract impact.
git diff --check passes. Exact-head Lean CI 41036098128 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.
…p-1444 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Non-author coordinator Codex Fresh required PR CI passed all six gates. Actual checkout Scope remains one channel, frames of length one, an L² bound, prime P, H ≥ 3 and positive L, with L ≤ P on retention slices. General frames, higher moments and full estimator/native realization remain outside this result; #1682/#1444/#474 stay open. #1706’s parent has landed; its existing external integration owner retains that follow-up. Required MQ 41159951433 passed all six gates. This PR actually landed at b0e7dcf8 on 2026-10-31 at 02:40:27 UTC. Its sole parent and expected tree match the independently checked physical candidate; the complete original three-file feature patch and reviewed modes/blobs remain exact on actual main. The fixed covering main consumer at Public-cache closeout: the published map has 4,249 unique entries (191,218 bytes; SHA-256 |
Merge actual landed main b48b310 into approved source 8804d42. Resolve only generated imports. Preserve the original complete three-file feature patch, source credit, both cslib-community#1703 parent files, all cslib-community#1691/cslib-community#1693 side-parent guards and every unrelated main entry. Scope remains the one-channel rank-one-frame L2 gap for prime P, H >= 3, positive L and L <= P on slices. Broader cslib-community#1682/cslib-community#1444/cslib-community#474 objectives remain open. AI-assisted non-author integration by Codex roadmap_learning. Static provenance and canonical checks pass; no local Lean build. Frozen checkpoint for independent coordinator audit before publication; canonical required PR CI and its actual tested context remain required.
Part of #1682 (Phase 3 of #1444). This is step (D) of the frame-lifted gap plan posted on #1682. It assembles the coordinate-pair bound (#1699) and the frame Poincaré inequality (#1703) into a spectral gap for the walk of affine moves on slice coordinates
Frame P H 1 × (Fin H → ZMod L). The gap is uniform inPandL, and it discharges #1691's hypothesishG. This is new mathematics for the library: an elementary replacement, for frames of length one, of the paper's property (T) input.Stack. The branch
feat/slice-gap-1444merges three open PRs, each by a merge commit (no rebases):feat/frame-gap-1444, head0e293465b), which is on feat(Expander): Efron–Stein and the coordinate-pair bound for shears and translations #1699 → feat(Expander): relative Poincaré inequality for shears and translations with a spectator #1695 → feat(Expander): uniform spectral gap for the shear-translation graph on ZMod n × ZMod n #1678;feat/conditional-averaging-1444, head53de6a3f6), which is on feat(Probability): affine retention channels over a prime field #1688 → feat(Probability): retention by pairwise independent hashing #1681;feat/box-product-poincare-1444, heada9e19a53a), which is on feat(Expander): uniform spectral gap for the shear-translation graph on ZMod n × ZMod n #1678.All of them already contain
origin/main(0ba8b2e59), and the merges were clean. This PR's own layer is commitbc81c6ab3; please review only that commit, after the lower PRs. It adds three files and touches no file of the lower PRs except the generatedComplexity.lean.Main statements.
Complexity/Foundations/LinearAlgebra/Matrix/Transvection.lean(58 lines). Mathlib already hasMatrix.SpecialLinearGroup.transvection, which is reused; this file adds its action on all vectors (Mathlib only has the action on basis vectors) and compatibility with change of rings:Complexity/Probability/PairwiseIndependentHash/SliceGap.lean(415 lines, namespaceCslib.Probability):The last theorem is #1691's
expect_walk_pow_sliceGraph_sub_expect_sq_lewithGthe lazy affine walk andhGdischarged. The constant depends only onH. The moves are #1691'scoordMoveby definition, sowalk_sliceGraph_ofPerms_eq(the validated variants) applies toaffineGenerator, for the non-lazy walk.Proof. For
fof mean zero, writeg F = 𝔼 w, f (F, w). Then𝔼 f² = 𝔼 g² + 𝔼 (f − g)².expect_sq_sub_expect_le_pairShearTranslationwithY = Frame P H 1,ρ i jthe action of1 + E_ijon frames, and partnersσ i ≠ i. Each of its pair moves is an affine move, so𝔼 (f − g)² ≤ 512 · 4H · Dir(f).Frame.equivNeZeroturns feat(Expander): Poincaré inequality for elementary moves on the nonzero vectors of (ZMod P)^H #1703's masked averages over(ZMod P)^Hinto averages over frames. The zero vector is fixed by the moves, so both sides scale by|Frame| / P^H, which cancels. This givesexists_expect_sq_sub_le_mapSL_transvection, applied tog. Since𝔼 g = 0,𝔼 g² ≤ 𝔼 (g − m)². By Jensen's inequality, the change ofgalong1 + E_abis at most that offalong the affine move, because the move acts onwby a bijection.affineMove_inlandaffineMove_inridentify the moves pointwise:(F, w) ↦ ((1 + E_ab) F, w + w_b e_a)and(F, w) ↦ (F, w + e_i). The general input istransvection_mulVec.38912 H². ThensecondEigenvalue_ofPerms_lewith|K| = H²(card_affineGenerator_index), and the lazy boundspectralExpansion_lazy_le_one_add_secondEigenvalue_div_two.Source → Lean ([OpenAI2026LogSpace], rev
7ef5c0cc, printed page numbers; I read only the paper text, no OAI Lean code):affineGenerator(forward generators; the inverses come fromofPerms),affineMoveK_H = I/2 + (1/(2m)) ∑_{g∈S} ρ(g)has a spectral gap depending only onH(via Shalom's property (T))expect_sq_le_affineMove,secondEigenvalue_ofPerms_affineMove_le,spectralExpansion_lazy_ofPerms_affineMove_le: only for the action onFrame P H 1 × (ℤ/L)^H, gap1/(155648 H⁴), proved elementarily(F, w), action(F, w) ↦ (MF, Mw + c)modPand modL; "This action is transitive"affineMoveis #1691'scoordMove; transitivity is not stated separately, it follows from the gap (test client)‖K^d − Π‖decays on the conditional space with constants "independent of the field size, retention side lengths, … indicated identifiers"expect_walk_pow_sliceGraph_affineMove_sub_expect_sq_le(L², one channel,r = 1)Credit. The paper's text derives Lemma 6.1 from Shalom's property (T). The elementary route follows OpenAI's Lean development:
lean/OAI/Computability/Logspace/AffineSampling.leanat rev7ef5c0cc, declarationsExactDerandomization.Analysis.Square.square_gap,slice_frame,frame_gapandslice_gap. That is, it goes from the two-dimensional gap through coordinate pairs to frames, then assembles the slice gap. The module docstring names these declarations. Our statements and proofs are independent. I did not read that code; the declaration names come from the coordinator.Differences from the source.
h₀ = 2,r = 1), as in feat(Expander): Poincaré inequality for elementary moves on the nonzero vectors of (ZMod P)^H #1703.H ≥ 3, as in Lemma 6.1; the paper'sH ≥ 4satisfies it.L²only.Tests (
ComplexityTests/SliceGap.lean, 93 lines):Frame 5 3 1 × (ZMod 4)^3, with wrap-around modulo5on the frame and modulo4on the box coordinate;|Frame 5 3 1| = 124and9generators forH = 3;𝔽₅^3with side3, every hypothesis discharged: decay(1 − 1/12607488)^(2t);Pand everyL, a function onFrame P 3 1 × (ZMod L)^3invariant under the affine moves is constant;P, P'and sidesL, L', the lazy box product of the affine walks of two channels has spectral expansion at most1 − 1/25214976.Validation at
bc81c6ab3:scripts/check.sh(all six gates),python3 scripts/check_hygiene.py --check-simp,python3 scripts/check_changed_files.py --base origin/mainandpython3 scripts/check_tidy_surface.pypass locally. ROADMAP is untouched.Catalogue assessment: no selected abstract, bridge, endpoint statement or renderer changes.
Remaining for Phase 3 (#1682):
J-component product (channels plus the free-bit torus(ℤ/2^q)^Hwith its own affine action), giving gapγ/J. feat(Expander): spectral gap of box products of permutation multigraphs #1693 gives the binary step, and the test shows two channels. The free-bit component needs the box-only Poincaré inequality, which is feat(Expander): Efron–Stein and the coordinate-pair bound for shears and translations #1699 with a trivial spectator. Then iterate.r ≥ 2(the paper allows2 ≤ h₀ < H). These need a different fibration, as noted on feat(Expander): Poincaré inequality for elementary moves on the nonzero vectors of (ZMod P)^H #1703.L⁴/L^sform on slices (feat(Expander): fourth-moment decay of the random walk from the spectral gap #1685 with feat(Probability): frame-conditioned channels, validated variants and conditional averaging #1691);Review: please arrange a non-author review of correctness, the API (the names
affineGenerator/affineMove,Frame.equivNeZero, the placement of the transvection lemmas inFoundations/LinearAlgebra/Matrix) and the source mapping. Only commitbc81c6ab3is new here.Integration refresh (2026-10-30): merged the refreshed parents #1691
ae99b483b, #1703efd5aa27band #16933860f88e0(each containsorigin/main311e984) at8804d42c4, no rebase; merging #1691 first avoids theRetentionChannel.leanadd/add conflict, after which all merges were clean. Own-layer diff against the merged parents is unchanged. All sixscripts/check.shgates,check_hygiene.py --check-simp,check_changed_files.py --base origin/mainandcheck_tidy_surface.pypass at8804d42c4.AI assistance: written by Claude Code (Claude Opus 5.5) as worker
worker-crei-dc679113-1444p3d, for coordinatorcoordinator-crei-dc679113.🤖 Generated with Claude Code