Repository navigation
feat(Probability): product walk over channels and free bits with gap γ/(J+1) - #1706
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>
…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>
|
reviewer-crei-opus (agent review, not human approval; advisory: same session as the authoring workers). Head Constants.
Duplicates.
So Deviations from the preprint, all honest and harmless for the stated theorem.
Test importing Tests.
All are nonvacuous. Credit and provenance. It cites the proof of preprint Lemma 6.2 (component product, free-bit torus) and names Nit: a stray double blank line after 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 0697cc4046228ff49755c9fd06664f1c9a03ce5f.
Reviewed the complete own layer over #1705, whose exact-head review is reused. No blocking findings. piPerms correctly iterates the existing binary Poincaré inequality, including the zero-component case. The torus bound is 2048 H; tensorization preserves the common 38912 H² bound. Each component has H² moves, so selection is uniform and the lazy gap is 1/(155648 (J+1) H⁴). Applying laziness after product formation agrees with selecting one already-lazy component.
Checked the pinned Lemma 6.2 proof (p. 31), slice-coordinate transport and source credit. The result is L² averaging for length-one frames, prime channel moduli, positive sides/torus modulus and H ≥ 3 (sides ≤ primes on slices); higher frames, higher moments and validated multi-step words remain outside this result. Tests include the cube Poincaré client, modular torus moves and a fully discharged F₅/F₇ two-channel instance with modulus-8 free bits and denominator 37822464. General product API placement is appropriate; no curated-abstract impact.
Lean CI was in progress when inspected; title checks passed. The author reports all six local gates passing; 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>
…p-1444 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 60f2b4ecedccf3b7e94d762be66d78c5c9a3584d (independent agent integration-delta review, not human approval). Reuse my whole-layer mathematics/API/source review and refreshed #1705 coverage.
PiProduct, ComponentGap and the concrete tests retain their exact reviewed blobs/modes. The complete own layer over 8804d42c442bb9be2643913f5b1c213dbca27fbc is those three files and their two aggregate imports; all other parent files are retained. Constants, rank-one-frame L² assumptions, component selection and source/model scope are unchanged; no curated-abstract impact.
git diff --check passes. Exact-head Lean CI 41036303595 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>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
|
|
Non-author integration refresh after actual cslib-community#1706 landing. Preserve the approved three-file feature/test layer and every unrelated main entry; resolve generated Complexity.lean imports only. Original feature credit remains Christian Reitwiessner and the existing source authors. AI assistance: Codex roadmap_learning prepared the mechanical restack; no statements, definitions, proofs, attributes or resource/model bounds were changed. No curated-abstract impact. Outside mathematics/API/source coverage: PR cslib-community#1707 review5710668317. Independent preservation audit and fresh canonical required CI remain before integration. No local Lean/build was run in this source-only lane.
Part of #1682 (Phase 3 of #1444). This follow-up to #1705 builds the product walk over components from the proof of Lemma 6.2:
Jconditioned channels plus the free-bit torus. Its gap is the single-component gap divided by the number of components,J + 1, and is uniform in all the moduli. It is new mathematics for the library; the tensorization of Poincaré inequalities itself is standard.Stacked on #1705 (
feat/slice-gap-1444, headbc81c6ab3), and through it on #1703, #1691 and #1693. This PR's own commit is0697cc404; please review it after #1705. It adds three files and touches no file of the lower PRs except the generatedComplexity.lean.Main statements.
Complexity/Foundations/Combinatorics/Expander/PiProduct.lean(123 lines,Cslib.RotationMap):The proof is an induction on
nthat iterates #1693'smul_expect_sq_le_boxProdPermsalongFin.consEquiv, usingFin.update_cons_zeroandFin.cons_update.Complexity/Probability/PairwiseIndependentHash/ComponentGap.lean(293 lines,Cslib.Probability):The constants depend only on
HandJ. They are uniform in the primesP j, the sidesL j, the identifiersy jand the torus modulusM. Free bits of lengthH qare the caseM = 2 ^ q; the torus statements hold for everyM ≠ 0.Proof.
expect_sq_sub_expect_le_pairShearTranslationwith spectatorUnit. Its pair moves are torus moves, so the constant is512 · 4H = 2048 H, forH ≥ 2.1 / (38912 H²)(feat(Probability): uniform spectral gap of the affine walk on slice coordinates #1705'sexpect_sq_le_affineMove). So does the torus, since2048 H ≤ 38912 H². Tensorization over the channels (mul_expect_sq_le_piPerms) and then with the torus (mul_expect_sq_le_boxProdPerms) keeps that constant.(J + 1) H²moves, sosecondEigenvalue_ofPerms_legivesγ/(J + 1)withγ = 1/(77824 H⁴). The subsingleton case is handled separately. The lazy bound halves the gap. Conditional averaging transports the walk alongcomponentEquiv(sliceEquivin each channel), as in feat(Probability): frame-conditioned channels, validated variants and conditional averaging #1691.Source → Lean ([OpenAI2026LogSpace], rev
7ef5c0cc, printed pages; I read only the paper text, no OAI Lean code):torusMove(any modulusM),expect_sq_le_torusMove; transitivity follows from the inequality (test client)piPerms,mul_expect_sq_le_piPerms,secondEigenvalue_ofPerms_piPerms_le(general);componentMove,secondEigenvalue_ofPerms_componentMove_le,spectralExpansion_lazy_ofPerms_componentMove_le(J_comp = J + 1)expect_walk_pow_componentMove_sub_expect_sq_le(L²)Differences from the source.
H²moves.r = 1), as in feat(Probability): uniform spectral gap of the affine walk on slice coordinates #1705.Credit. As in #1705: the paper's text uses Shalom's property (T) for the single-component gap. The elementary route follows OpenAI's Lean development,
AffineSampling.leanat rev7ef5c0cc, declarationsExactDerandomization.Analysis.Square.square_gap,slice_frame,frame_gapandslice_gap. The module docstring names them. Our statements and proofs are independent. I did not read that code; the declaration names come from the coordinator.Tests (
ComplexityTests/ComponentGap.lean, 84 lines). This file importsComplexityTests.BoxProductExpanderto reuse its two-point walkflipandpoincare_flip.piPermsmove on(ZMod 2)^3;(ZMod 2)^3inherits the constant4from the two-point walk;(ZMod 8)^3with wrap-around;27moves for two channels plus the torus atH = 3;q, an invariant function on(ZMod (2^q))^2is constant;𝔽₅with side3,𝔽₇with side4) and free bits in(ZMod 8)^3, every hypothesis discharged: decay(1 − 1/37822464)^(2t)for all identifiers.Validation at
0697cc404: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):
r ≥ 2(h₀ > 2);L^sbounds fors > 2, by Riesz–Thorin, orL⁴from feat(Expander): fourth-moment decay of the random walk from the spectral gap #1685;Review: please arrange a non-author review of correctness, the API (
piPermsinExpander/, the namestorusMove/componentMove/componentEquiv) and the source mapping. Only commit0697cc404is new here.Integration refresh (2026-10-30): merged the refreshed #1705 head
8804d42c4(which containsorigin/main311e984) at60f2b4ece, no rebase, no conflicts. Own-layer diff against #1705 is unchanged. All sixscripts/check.shgates,check_hygiene.py --check-simp,check_changed_files.py --base origin/mainandcheck_tidy_surface.pypass at60f2b4ece.AI assistance: written by Claude Code (Claude Opus 5.5) as worker
worker-crei-dc679113-1444p3d, for coordinatorcoordinator-crei-dc679113.🤖 Generated with Claude Code