Repository navigation
feat(Probability): affine substitution invariance of frame-conditioned channels - #1711
Conversation
…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>
… 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>
…d channels Lemma 3.1, item 4, of the OpenAI preprint: substituting alpha*y + beta (alpha != 0) into a frame-conditioned channel multiplies its coefficient columns by an invertible upper-triangular binomial matrix, so it permutes the frame-conditioned channels (FrameChannel.affineSubst, affineSubstEquiv), and the joint law of all evaluations of one or several independent channels is unchanged (dens_eval_comp_affine, dens_pi_eval_comp_affine). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine (independent agent review, not human approval): APPROVE at b70b78ed7d8920d38318c0e4ffc04c4afc13c3df.
Reviewed the complete three-file own layer and clean merge, reusing #1691's exact-head coverage. No blocking findings. The binomial expansion has the correct coefficient orientation; its triangular matrix has diagonal α^(k+1), so α ≠ 0 preserves linear independence even in small characteristic. Injectivity recovers the frame coefficients and then the constant column. The resulting finite permutation, and its componentwise product, preserve every event on all evaluations.
Checked the mapping against pinned Lemma 3.1(4) and its proof (pp. 9–10). The result assumes prime P and nonzero α, with arbitrary H/r; for nonempty channel spaces use r ≤ H. It is a distributional invariance theorem, with radix-padding specialization left implicit and no machine/resource claim. The rank-two F₅ evaluation and independent-channel tests are nonvacuous; the F₃ counts (2 unchanged, 4 under a constant map) demonstrate why α ≠ 0 matters. API placement/reuse is appropriate; no curated-abstract impact.
Lean CI, title and diff-whitespace checks passed. 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>
…tution-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 04d684ebcb6b84aaed46fd2b7fb1fe1f7b1cd67b (independent agent integration-delta review, not human approval). Reuse my whole-layer mathematics/API/source review and the refreshed #1691 parent review.
The parent merge preserves FrameSubstitution and its concrete tests byte-for-byte. Its entire own layer over ae99b483b6ec4ae26efb95173e1f20c0f1393c50 is exactly those two files and one aggregate import; all other parent files are retained. The nonzero-affine substitution hypotheses, distributional scope and source mapping are unchanged; no curated-abstract impact.
git diff --check passes. Exact-head Lean CI 41034510120 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.
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
|
|
Part of #1682 (Phase 3 of #1444).
This PR proves item 4 of Lemma 3.1 (the rank-channel estimates) for the frame-conditioned channels of #1691. If every identifier
yis replaced byαy + βwithα ≠ 0, the joint law of all channel evaluations stays the same. This holds for one channel and for any finite family of independent channels. It is new mathematics for the library, following the ideas of the preprint. Items 2–3 and the detector-interface instance are in #1710.Stack. This PR depends only on #1691; it is independent of #1710 and of #1696/#1698. The branch is #1691 (
feat/conditional-averaging-1444@53de6a3f6, on #1688 → #1681), merged withorigin/main@0ba8b2e59(the rc2 bump) without rebasing. Please review only this PR's own commit,b70b78ed7.Construction. Let
A = (a₀, F)be a channel, withA.eval y = a₀ + ∑ j, y ^ (j + 1) • F j. Substitutingαy + βgives a new channel:a₀ + ∑ j, β ^ (j + 1) • F j;F' k = ∑ j, B k j • F j, whereB k j = C(j+1, k+1) α^(k+1) β^(j−k).The matrix
Bis upper triangular with diagonalα^(k+1), so it is invertible. HenceF'is again a frame (Fintype.linearIndependent_iffwithvecMul_injective_iff_isUnit). The map is injective bymulVec_injective_iff_isUnit, so it is a permutation of the finite channel space (Finite.injective_iff_bijective). This means no inverse substitution and no composition law are needed. The value identity is the binomial theorem (add_pow).Band the helpers about it are private.Main statements (
Complexity/Probability/PairwiseIndependentHash/FrameSubstitution.lean, 215 lines; all under[Fact P.Prime]):Source → Lean ([OpenAI2026LogSpace], revision
7ef5c0cc, printed pages; only the preprint text was read, and no OAI Lean code was opened):yby the same injective affine mapαy + βleaves the joint law of all evaluations unchanged, providedα ≠ 0inF_P; in particular, so does a common fixed padding suffixdens_eval_comp_affine(one channel),dens_pi_eval_comp_affine(independent channels, any event on all evaluations)α, …, α^{h₀−1}, so it preserves the frame conditionFrameChannel.affineSubst(with the private triangular matrix andlinearIndependent_substColumns),FrameChannel.eval_affineSubstFrameChannel.affineSubst_injective,FrameChannel.affineSubstEquiv(a permutation of the conditioned space)Differences from the source. The statements are ours. Uniform measure is preserved because the map is an injective self-map of a finite set; the paper instead argues through the change of variables. The radix-padding remark (
αa power ofD₀, withP > D₀) is not formalized separately: it is the special caseα = D₀^mwithβthe suffix.Tests (
ComplexityTests/FrameSubstitution.lean, 63 lines):𝔽₅:eval_affineSubsttogether withdecidegives the value(3, 1)at3.𝔽₃², and a pair of independent channels.𝔽₃,decidecounts show thaty ↦ 2y + 1(which swaps0and1) keeps the joint retention count of{0, 1}at 2 of 6. The constant mapα = 0raises it to 4 of 6, so the hypothesisα ≠ 0is needed.Validation at
b70b78ed7, all passing locally: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(baseline unchanged);python3 scripts/parallel_defs.py(no candidates).ROADMAP is untouched. There is no catalogue or abstract impact.
Remaining. With #1710, Lemma 3.1 is complete for frame-conditioned channels. The rest of #1682 is unchanged: frames of length ≥ 2 for the gap,
L^sfors > 2, and validated words for the product walk.Review. Please arrange a non-author review of
b70b78ed7: correctness, API (naming, placement) and the source mapping above.Integration refresh (2026-10-30): merged the refreshed #1691 head
ae99b483b(which containsorigin/main311e984) at04d684ebc, no rebase, no conflicts. Own-layer diff against #1691 is unchanged. All sixscripts/check.shgates,check_hygiene.py --check-simp,check_changed_files.py --base origin/mainandcheck_tidy_surface.pypass at04d684ebc.AI assistance: written by Claude Code (Claude Opus 5.5) as worker
worker-crei-dc679113-1444p3e, for coordinatorcoordinator-crei-dc679113.🤖 Generated with Claude Code