Repository navigation
feat(Probability): affine retention channels satisfy the detector interface - #1698
SamuelSchlesinger merged 18 commits into
Conversation
…transition matrices Pure linear algebra for the correction-and-copy hierarchy (cslib-community#1444 Phase 2, ideas 2 and 4 of cslib-community#474), following the OpenAI preprint (2026-09-23), Section 4: the factorization 1 - (C - E + EC) = (1 + E)(1 - C), the corrected inverse, copy splitting intertwined with its projection, and the reward transport identity with the stage error bound. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ly it Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ward lower bound Review of cslib-community#1676: correction_mulVec_one_le only shows that row sums do not grow, so its docstring, the module summary and the test comment no longer call it substochasticity. Add rewardTransport_mulVec_nonneg, the lower half of (4.30), under nonnegative projections, corrections and reward. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Second slice of cslib-community#1444 Phase 2 (idea 3 of cslib-community#474), following the OpenAI preprint (2026-09-23), Lemma 4.1 and Lemma 4.4: the cutoff correction recursion E = phi((C + EC)) on a strictly upper triangular C has a unique fixed point, its iterates increase towards it, and after k iterations the error is at most f e^(1/theta) (L/theta)^k / k!, independently of the size of the matrix. The corrected matrix of a finite iterate is nonnegative and small in fully corrected columns. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review nit on cslib-community#1677: drop the private hockey-stick lemma. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review of cslib-community#1677: the module docstring now bounds the chain count by m.choose k for the actual support size m, as the proof does. 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>
Third slice of cslib-community#1679 (Phase 2 of cslib-community#1444, ideas 3 and 4 of cslib-community#474), following the OpenAI preprint (2026-09-23), Lemma 4.2, Lemma 4.4 and Proposition 4.5: row-sum, entry, domination and support bounds for cutoff corrections; the copy step with explicit split fractions, its density and active-copy bounds; incidence counting; and the one-stage rates that feed the stage bound, given an abstract detector interface. 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>
Add cutoffCorrectionIter_isStrictUpperTriangular, cutoffCorrection_residual_isStrictUpperTriangular and copyStage_isStrictUpperTriangular (for the lexicographic order on Lex (V × Fin (m + 1))), so a stage's output can feed the next stage. Correct two descriptions: the pilot inputs have bounded row sums, not necessarily at most one, and copyStage_mulVec_one_le preserves the row-sum bound, with nonnegativity from copyStage_nonneg. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…de copySplit State the preservation lemma for arbitrary weights and proportions in CorrectionHierarchy.lean, for the lexicographic order on Lex (V × ι), and derive copyStage_isStrictUpperTriangular from it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…istic column detectors Phase 2 slice 4 of cslib-community#1444 (tracked in cslib-community#1679): the pilot of Lemma 4.2 with step-dependent multipliers, the column detector of Lemma 4.3 over an abstract retention-channel interface, and one stage of the hierarchy whose multipliers, copy weights and overloaded set come from the detector, discharging the detector interface of copyStage_rates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…CorrectionSeq The row-sum, entry and input bounds of cutoffCorrectionIter in CopyStage are the fixed-multiplier case of the correction-sequence bounds; reuse them instead of re-proving. Statements are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tectors-affine-1444 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…erface Instantiate RetentionChannels (cslib-community#1696) with the affine channels of cslib-community#1688 at rate a^H, with c_pi = 1, C_pi = C_pair = 2^H and C_var = 4. 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 What is proved.
The constants agree with the docstring and the PR body. Independence between the two channels comes from the interface's product seed space, so using the same channel for X and Y is legitimate. Nonvacuity and tests. The hypotheses are satisfiable whenever Provenance and placement. It cites only the preprint Limits: I did not build anything with Lean, and I relied on the PR's local |
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine — independent agent approval of 0fd3e72; not human approval. Reviewed the complete three-file own layer over merge a7541c6. The merge has no conflict-resolution delta; the separately reviewed #1696 and #1688/#1681 layers carry forward.
All six RetentionChannels fields follow with the stated constants. Injectivity preserves distinct identifiers, finite-set cardinality and retained counts when transferring the lower tail to A.image ident. Using the same channel predicate for X and Y is sound because the detector samples their seeds independently on the product space. The F₅, H=2, a=1/2 instance is satisfiable and plugs into the detector theorem; its J=20 example deliberately exercises the no-flag regime rather than a positive detector.
The source mapping is to the unrestricted affine sampling ingredients and detector assumptions (4.8)–(4.9), not the frame-conditioned estimates still open for #1691. Placement and reuse are appropriate; no curated-abstract or machine/resource impact.
Lean Action CI 40984641793 was running when inspected; title CI and diff whitespace checks passed. No local Lean elaboration/build was run.
Preserve the complete eight-path cslib-community#1696 feature/refactor over actual main 311e984. Resolve four inherited parent files with validated main and retain the original 80b604b CopyStage refactor. All seven nonaggregate own blobs match the reviewed source before the separate credited qualification repair. All unrelated main paths and the canonical import union are retained. The own-layer whitespace check against actual main passes. A first-parent check reports only the unchanged, inherited CuckooHashing EOF blank line; that unrelated main blob is preserved rather than cleaned up here. AI-assisted coordinator integration: codex-coord-20261029-1732. Preflight credit: codex-detectors-1696-refresh-20261030. Validation pending on the canonical WIP; no local Lean build.
…orrection for rc2 Under rc2 the root-namespace add_apply/sub_apply/mul_apply no longer apply to matrices; use the Matrix.* versions, as rc2-refresh/1676 and /1677 do for the lower modules of this stack. Proof-only; no statement changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> (cherry picked from commit 34406a0)
… feat/detectors-affine-1444 Resolves the add/add conflict in RetentionChannel.lean with main's (cslib-community#1688) version. 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). Delta review of head Verdict: FINAL (integration-only delta). Payload (unchanged): Checked:
Limits: I did not run a local build. Hosted |
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine: APPROVE at 5a6439697292404dbe10d9dea22724d9d9142560 (independent agent integration-delta review, not human approval). Reuse my whole-layer review and the refreshed #1696 parent review.
DetectorChannels and its concrete test are byte-identical to approved 0fd3e72a. Relative to parent 915171329b2560084440f987fe8c274bbbfb7380, the entire layer is exactly those two files and one aggregate import; all other parent files are retained. The merged RetentionChannel source is main's already-reviewed version. The unrestricted-channel interpretation, injective identifier transfer and independent product seeds remain unchanged; no new findings or curated-abstract impact.
git diff --check passes. Exact-head Lean CI 41033190052 was running when inspected; title CI passes. No local Lean build was run. Required hosted validation remains before integration. Live head rechecked before posting.
…ion-1444 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Coordinator The exact main/cache handoff restored that queue producer, passed all six gates and applicable checks, and published a mapping and sampled immutable artifacts verified publicly readable. This instantiates unrestricted affine channels with independent product seeds. Frame-conditioned estimates and the iterated hierarchy remain open in #1679/#1444. No selected-abstract impact; source credit is preserved. |
Parents cslib-community#1691, cslib-community#1696 and cslib-community#1698 have landed. The add/add conflicts in KthLargest.lean and ColumnDetector.lean take main's later versions; this PR's own layer does not touch them. Complexity.lean regenerated by mk_all. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
Part of #1679 (Phase 2 of #1444).
Small follow-up to #1696. It shows that #1688's affine retention channels over
𝔽_Psatisfy the detector interfaceCslib.Probability.RetentionChannels. So the detector lemma (Matrix.le_columnDetector,Matrix.lt_card_of_lt_columnDetector) and the detected stage (Matrix.detectedStage_rates) hold for concrete channels. The ideas follow the OpenAI preprint (2026-09-23), (4.8)/(4.9), cited as[OpenAI2026LogSpace]. The preprint is not peer reviewed, and no OAI Lean code was used.Stack. The branch is a merge (merge commit
a7541c6, no rebase) of:feat/detectors-1444, on feat(Foundations): one stage of the correction-and-copy hierarchy #1683 → feat(Foundations): factorial truncation of cutoff corrections #1677 → feat(Foundations): correction factorization and reward transport for transition matrices #1676);feat/retention-channel-1444, on feat(Probability): retention by pairwise independent hashing #1681).Please review only this PR's own commit,
0fd3e72, after those PRs.New module
Complexity/Probability/PairwiseIndependentHash/DetectorChannels.lean(66 lines) with tests inComplexityTests/DetectorChannels.lean(43 lines).Main statement
The constants are rate
f = a ^ H,π = (L/P)^H,c_π = 1,C_π = C_pair = 2^HandC_var = 4. Vertices enter through an injective identifier map. Independence of the two channels comes from the product of their seed spaces, which is built into the interface. The proof unpacksaffineRetains_rates. For the lower tail it transports#{x ∈ A | X s (ident x)}toA.image identby injectivity.retentionChannels_affineRetainsTest. The test uses
𝔽₅,H = 2anda = 1/2(rate1/4,L = 3), with detector rankJ = 20. ThenJ / (4 C_π f) = 5, which is the whole vertex set. Solt_card_of_lt_columnDetectorshows that no column of any matrix on𝔽₅has a detector number above1/4. This exercises the instance and the detector lemma together.Validation at
0fd3e72, all passing locally:scripts/check.sh(all six gates);check_hygiene.py --check-simp;check_changed_files.py --base origin/main;check_tidy_surface.py.ROADMAP is untouched. No catalogue impact.
Limitation. These are the unconditioned affine channels of #1688. The frame-conditioned channels of #1691 would need their own instance of the same interface, with constants divided by the frame probability.
Review. Please arrange a non-author review of this commit.
Integration refresh (2026-10-30). Head
0fd3e72a→5a6439697292404dbe10d9dea22724d9d9142560, a merge commit of the refreshed #1696 head91517132(= main311e9841plus the rc2 qualification repair). It resolves the add/add conflict inRetentionChannel.leanwith main's #1688 version. Payload check: compared with refreshed #1696, this PR adds onlyDetectorChannels.lean, its test (both byte-identical to0fd3e72a) and oneComplexity.leanimport line. Gates onv4.36.0-rc2at5a643969:scripts/check.sh(all 6),check_hygiene.py --check-simp,check_changed_files.py --base origin/main, andcheck_tidy_surface.py(baseline unchanged). All pass.AI assistance: written by Claude Code (Claude Opus 5.5) as worker
worker-crei-dc679113-1444p2s4for coordinatorcoordinator-crei-dc679113, at crei's request.🤖 Generated with Claude Code