Skip to content

feat(Probability): uniform spectral gap of the affine walk on slice coordinates - #1705

Merged
SamuelSchlesinger merged 26 commits into
cslib-community:mainfrom
chris-ai1:feat/slice-gap-1444
Oct 31, 2026
Merged

SamuelSchlesinger merged 26 commits into
cslib-community:mainfrom
chris-ai1:feat/slice-gap-1444

Conversation

@chris-ai1

@chris-ai1 chris-ai1 commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

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 in P and L, and it discharges #1691's hypothesis hG. 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-1444 merges three open PRs, each by a merge commit (no rebases):

All of them already contain origin/main (0ba8b2e59), and the merges were clean. This PR's own layer is commit bc81c6ab3; please review only that commit, after the lower PRs. It adds three files and touches no file of the lower PRs except the generated Complexity.lean.

Main statements.

Complexity/Foundations/LinearAlgebra/Matrix/Transvection.lean (58 lines). Mathlib already has Matrix.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:

theorem Matrix.SpecialLinearGroup.map_transvection (f : R →+* S) (h : i ≠ j) (c : R) :
    map f (transvection h c) = transvection h (f c)
theorem Matrix.SpecialLinearGroup.transvection_mulVec (h : i ≠ j) (c : R) (v : n → R) :
    (transvection h c : Matrix n n R) *ᵥ v = update v i (v i + c * v j)

Complexity/Probability/PairwiseIndependentHash/SliceGap.lean (415 lines, namespace Cslib.Probability):

def Frame.equivNeZero [Fact P.Prime] : Frame P H 1 ≃ {v : Fin H → ZMod P // v ≠ 0}
theorem Frame.card_one [Fact P.Prime] : Fintype.card (Frame P H 1) = P ^ H - 1
theorem Frame.mapSL_transvection_apply_zero (h : a ≠ b) (F : Frame P H 1) :
    (Frame.mapSL (SpecialLinearGroup.transvection h 1) F).1 0 = RotationMap.elementaryMove a b (F.1 0)
theorem exists_expect_sq_sub_le_mapSL_transvection [Fact P.Prime] (hH : 3 ≤ H) (g : Frame P H 1 → ℝ) :
    ∃ m : ℝ, 𝔼 F, (g F - m) ^ 2 ≤ 36864 * H ^ 2 *
      ∑ p : {p : Fin H × Fin H // p.1 ≠ p.2}, 𝔼 F, (g (Frame.mapSL (SpecialLinearGroup.transvection p.2 1) F) - g F) ^ 2

def affineGenerator H : {p : Fin H × Fin H // p.1 ≠ p.2} ⊕ Fin H → SpecialLinearGroup (Fin H) ℤ × (Fin H → ℤ)
  -- inl (a, b) ↦ (1 + E_ab, 0),  inr i ↦ (1, e_i)
def affineMove P H L r k : Equiv.Perm (Frame P H r × (Fin H → ZMod L)) :=
  coordMove (affineGenerator H k).1 (affineGenerator H k).2
theorem card_affineGenerator_index : Fintype.card ({p : Fin H × Fin H // p.1 ≠ p.2} ⊕ Fin H) = H ^ 2

theorem expect_sq_le_affineMove [Fact P.Prime] [NeZero L] (hH : 3 ≤ H)
    (f : Frame P H 1 × (Fin H → ZMod L) → ℝ) (hf : 𝔼 p, f p = 0) :
    𝔼 p, f p ^ 2 ≤ 38912 * H ^ 2 * ∑ k, 𝔼 p, (f (affineMove P H L 1 k p) - f p) ^ 2
theorem secondEigenvalue_ofPerms_affineMove_le [Fact P.Prime] [NeZero L] (hH : 3 ≤ H) :
    (ofPerms (affineMove P H L 1)).secondEigenvalue ≤ 1 - 1 / (77824 * H ^ 4)
theorem spectralExpansion_lazy_ofPerms_affineMove_le [Fact P.Prime] [NeZero L] (hH : 3 ≤ H) :
    (ofPerms (affineMove P H L 1)).lazy.spectralExpansion ≤ 1 - 1 / (155648 * H ^ 4)
theorem expect_walk_pow_sliceGraph_affineMove_sub_expect_sq_le [Fact P.Prime] [NeZero L]
    (hH : 3 ≤ H) (hL : L ≤ P) (y : ZMod P) (f : RetentionSlice P H 1 L y → ℝ) (t : ℕ) :
    𝔼 A, (((sliceGraph L hL y (ofPerms (affineMove P H L 1)).lazy).walk ^ t) f A - 𝔼 B, f B) ^ 2 ≤
      (1 - 1 / (155648 * H ^ 4)) ^ (2 * t) * 𝔼 A, (f A - 𝔼 B, f B) ^ 2

The last theorem is #1691's expect_walk_pow_sliceGraph_sub_expect_sq_le with G the lazy affine walk and hG discharged. The constant depends only on H. The moves are #1691's coordMove by definition, so walk_sliceGraph_ofPerms_eq (the validated variants) applies to affineGenerator, for the non-lazy walk.

Proof. For f of mean zero, write g F = 𝔼 w, f (F, w). Then 𝔼 f² = 𝔼 g² + 𝔼 (f − g)².

  • Box part (step 1). Apply feat(Expander): Efron–Stein and the coordinate-pair bound for shears and translations #1699's expect_sq_sub_expect_le_pairShearTranslation with Y = Frame P H 1, ρ i j the action of 1 + E_ij on frames, and partners σ i ≠ i. Each of its pair moves is an affine move, so 𝔼 (f − g)² ≤ 512 · 4H · Dir(f).
  • Frame part (step 2). Frame.equivNeZero turns feat(Expander): Poincaré inequality for elementary moves on the nonzero vectors of (ZMod P)^H #1703's masked averages over (ZMod P)^H into averages over frames. The zero vector is fixed by the moves, so both sides scale by |Frame| / P^H, which cancels. This gives exists_expect_sq_sub_le_mapSL_transvection, applied to g. Since 𝔼 g = 0, 𝔼 g² ≤ 𝔼 (g − m)². By Jensen's inequality, the change of g along 1 + E_ab is at most that of f along the affine move, because the move acts on w by a bijection.
  • Moves (step 3). affineMove_inl and affineMove_inr identify the moves pointwise: (F, w) ↦ ((1 + E_ab) F, w + w_b e_a) and (F, w) ↦ (F, w + e_i). The general input is transvection_mulVec.
  • Gap (step 4). Combining gives 38912 H². Then secondEigenvalue_ofPerms_le with |K| = H² (card_affineGenerator_index), and the lazy bound spectralExpansion_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):

Preprint Lean
Lemma 6.1, p. 30: "Let S consist of the elementary matrices with a single ±1 off the diagonal, acting linearly, and the translations by ±e_i" affineGenerator (forward generators; the inverses come from ofPerms), affineMove
Lemma 6.1, p. 30: the lazy operator K_H = I/2 + (1/(2m)) ∑_{g∈S} ρ(g) has a spectral gap depending only on H (via Shalom's property (T)) expect_sq_le_affineMove, secondEigenvalue_ofPerms_affineMove_le, spectralExpansion_lazy_ofPerms_affineMove_le: only for the action on Frame P H 1 × (ℤ/L)^H, gap 1/(155648 H⁴), proved elementarily
Proof of Lemma 6.2, p. 31: coordinates (F, w), action (F, w) ↦ (MF, Mw + c) mod P and mod L; "This action is transitive" affineMove is #1691's coordMove; transitivity is not stated separately, it follows from the gap (test client)
Lemma 6.2, p. 31: ‖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.lean at rev 7ef5c0cc, declarations ExactDerandomization.Analysis.Square.square_gap, slice_frame, frame_gap and slice_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.

Tests (ComplexityTests/SliceGap.lean, 93 lines):

  • a transvection on an integer vector;
  • three concrete affine moves on Frame 5 3 1 × (ZMod 4)^3, with wrap-around modulo 5 on the frame and modulo 4 on the box coordinate;
  • the counts |Frame 5 3 1| = 124 and 9 generators for H = 3;
  • conditional averaging on every retention slice of 𝔽₅^3 with side 3, every hypothesis discharged: decay (1 − 1/12607488)^(2t);
  • a client deriving transitivity: for every prime P and every L, a function on Frame P 3 1 × (ZMod L)^3 invariant under the affine moves is constant;
  • step 5 with feat(Expander): spectral gap of box products of permutation multigraphs #1693: for all primes P, P' and sides L, L', the lazy box product of the affine walks of two channels has spectral expansion at most 1 − 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/main and python3 scripts/check_tidy_surface.py pass locally. ROADMAP is untouched.

Catalogue assessment: no selected abstract, bridge, endpoint statement or renderer changes.

Remaining for Phase 3 (#1682):

Review: please arrange a non-author review of correctness, the API (the names affineGenerator/affineMove, Frame.equivNeZero, the placement of the transvection lemmas in Foundations/LinearAlgebra/Matrix) and the source mapping. Only commit bc81c6ab3 is new here.

Integration refresh (2026-10-30): merged the refreshed parents #1691 ae99b483b, #1703 efd5aa27b and #1693 3860f88e0 (each contains origin/main 311e984) at 8804d42c4, no rebase; merging #1691 first avoids the RetentionChannel.lean add/add conflict, after which all merges were clean. Own-layer diff against the merged parents is unchanged. All six scripts/check.sh gates, check_hygiene.py --check-simp, check_changed_files.py --base origin/main and check_tidy_surface.py pass at 8804d42c4.

AI assistance: written by Claude Code (Claude Opus 5.5) as worker worker-crei-dc679113-1444p3d, for coordinator coordinator-crei-dc679113.

🤖 Generated with Claude Code

chris-ai1 and others added 16 commits October 29, 2026 23:17
…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>
…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>
@chris-ai1

Copy link
Copy Markdown
Collaborator Author

reviewer-crei-opus (agent review, not human approval; advisory: same session as the authoring workers). Head bc81c6ab33076a50ac4b0c25f39fc26888ae39ee, own commit bc81c6ab3 only. It sits on the merges of #1703 0e293465b, #1691 53de6a3f6 and #1693 a9e19a53a, which have their own reviews. Verdict: FINAL. No blocking findings.

Constant chain.

  • Masked to Frame. expect_ite_eq shows that the masked average over (ZMod P)^H is exactly c·𝔼_Frame, with c = |Frame|/P^H. In exists_expect_sq_sub_le_mapSL_transvection both sides pick up the same c: the left side by expect_ite_eq, the right side because the moves fix 0 (h0). So c cancels via le_of_mul_le_mul_left, with no loss of a factor 2, and feat(Expander): Poincaré inequality for elementary moves on the nonzero vectors of (ZMod P)^H #1703's 36864 H² carries over unchanged.
    • Frame.equivNeZero (linearIndependent_unique_iff) and Frame.card_one = P^H − 1 are correct.
    • mapSL_transvection_apply_zero identifies 1 + E_ab on frames with elementaryMove a b.
  • Box part. feat(Expander): Efron–Stein and the coordinate-pair bound for shears and translations #1699's pair bound with Y = Frame P H 1 (a Type, as feat(Expander): Efron–Stein and the coordinate-pair bound for shears and translations #1699 requires), ρ i j = mapSL (transvection (i≠j) 1) and partner σ i ≠ i. All four pair moves are literally affine moves: inl (i,σi), inl (σi,i), inr i, inr σi, verified by simp in hpair. That gives 512·4·H·D = 2048 H·D.
  • Frame part. g F = 𝔼_w f(F,w) has mean 0, so 𝔼g² ≤ 𝔼(g−m)². Jensen (sq_expect_sub_expect_le) applies because affineMove (inl p) is prodCongr of a frame permutation and a bijection of w, and only the inl moves are used, so the frame Dirichlet form is ≤ D.
  • Total. 2048 H + 36864 H² ≤ 38912 H² for H ≥ 1. ✓
  • Spectral bounds. secondEigenvalue_ofPerms_le with c = 1/(38912 H²) and |K| = H² (card_affineGenerator_index: H(H−1)+H) gives 1 − 1/(77824 H⁴). The lazy walk halves the gap, giving 1/(155648 H⁴). In the test, 155648·81 = 12607488 ✓.

Moves equal coordMove. affineMove is defined as coordMove (affineGenerator k).1 (affineGenerator k).2, so #1691's lemmas apply directly. affineMove_inl/_inr give the explicit pointwise forms ((1+E_ab)F, w + w_b e_a) and (F, w + e_i) via transvection_mulVec.

hL : L ≤ P. It is only passed through to #1691's sliceGraph/expect_walk_pow_sliceGraph_sub_expect_sq_le, where the retention side must fit inside ZMod P. That is appropriate, and the gap itself (expect_sq_le_affineMove, the eigenvalue bounds) needs only [NeZero L], uniform in P, L and y.

Mathlib reuse. It reuses Matrix.SpecialLinearGroup.transvection and transvection_coe. Mathlib (local copy) has only transvection_mulVec_single_self/_other and nothing for general vectors or ring maps, so transvection_mulVec and map_transvection are not duplicates. They are good upstream candidates. Nit: they are global @[simp] lemmas in a Mathlib namespace, so recheck for name clashes on the next Mathlib bump.

Tests. I checked the following by hand:

  • the transvection example: 1 + 2·(−3) = −5;
  • the frame move (1,0,4) ↦ (0,0,4), using 1+4 ≡ 0 mod 5;
  • the box move 3+2 ≡ 1 mod 4, and the translation 3+1 ≡ 0 mod 4;
  • the counts 124 and 9.

Beyond those:

Credit and provenance. The docstring cites preprint Lemmas 6.1/6.2. It names AffineSampling.lean @ 7ef5c0cc (Square.square_gap, slice_frame, frame_gap, slice_gap) with "not consulted". It states the limits: r = 1, one channel, L².

Nit: a stray double blank line before nontrivial_frame_one.

Limits: I ran no Lean build, so I rely on the PR's check.sh and hosted CI. I did not re-review #1691, #1693, #1699 or #1703. The Mathlib duplicate check used the local Mathlib checkout, not necessarily the exact rc2 pin.

@edemaine edemaine left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

chris-ai1 and others added 8 commits October 30, 2026 09:27
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 edemaine left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

SamuelSchlesinger commented Oct 31, 2026 •

Copy link
Copy Markdown
Collaborator

Non-author coordinator Codex roadmap_learning published the audited normal restack at 3537ac9771e4f0ba213b491c64a5329bffb21ace, using an ordinary fast-forward after fresh ownership and head guards. Independent preservation audit confirmed all three original source/test modes and blobs, the complete original bc81c6ab3 nonaggregate patch, all nine direct/side-parent files and every unrelated main entry. Only generated imports were resolved; the checkpoint has 3,151 canonical imports.

Fresh required PR CI passed all six gates. Actual checkout 0782bf13 merges source 3537ac97 into accepted main b48b310f; its complete tree 6bcc9151 equals the audited checkpoint, with the original feature patch, reviewed payloads, pins and every unrelated main entry exact. Under the validated coordinator-fix rule, APPROVE 3537ac9 for this generated-import restack (agent review, not human approval). The outside mathematics/API/source review is reused for the unchanged feature and credit. Abstract assessment: no statement, definition, proof, model/resource scope, catalogue or renderer change in the restack.

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 238913b4 is terminal SUCCESS with all six gates. It restored exact-head MQ 41160134172, attempt 1, without rebuilding library/test modules and published at 02:59:00.7323151 UTC.

Public-cache closeout: the published map has 4,249 unique entries (191,218 bytes; SHA-256 b6887ad262da9aeb553f9927e851c9305b7459d89a4ba374f87abea0204964b6). All 27 new artifact references versus the verified saved #1862 baseline return HEAD 200 with positive lengths; unchanged references reuse that verified chain. One finalized log and map GET, zero artifact bodies or repeated baseline GETs. Source, queue, actual landing and usable-cache follow-through are complete.

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.
@SamuelSchlesinger
SamuelSchlesinger added this pull request to the merge queue Oct 31, 2026
Merged via the queue into cslib-community:main with commit b0e7dcf Oct 31, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants