Skip to content

Conditional κ = 7.45287034630032e-4: PR280's early restoration of 440 cleanup helpers on the gen5 word, after #291's stages - #297

Closed
rohanarun wants to merge 2 commits into
CrocSwap:mainfrom
rohanarun:gen5-early-restore
Closed

rohanarun wants to merge 2 commits into
CrocSwap:mainfrom
rohanarun:gen5-early-restore

Conversation

@rohanarun

@rohanarun rohanarun commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Conditional κ = 46580439664377/(625·10^14) = 7.45287034630032e-4, +5.58 × 10⁻⁷ (+0.075 %) over #291 (7.44728650221677e-4), +0.077 % over #290, +0.157 % over #287, +0.337 % over #285's gen5 word. The bit side binds.

One self-contained package, research/five-stage-gen5-restore/ (#291's package with one added stage), with its own workflow. No existing file is changed.

Full replay: PASS on the committed package (8d82520): all stages (virtual, raw, bit with descent, target, kernel, second descent and restoration; scalar, primes, banks, complex, math, finite), package integrity unchanged (144 files, manifest efcf9097…), PASS_IMMUTABLE_GEN5_KERNEL_ENTRIES_FIVE_STAGE_BANKED_CONSTRUCTION, κ 46580439664377/62500000000000000, ~6 minutes.

Note (posted after #295 appeared): #295 (chafreaky) independently applies the same 440 restorations with the same completion P_σ + I − P_E and (σ, E) charts, plus 8 terminal sinks and #233's complex supplier, and stands above this PR (7.45514e-4 vs 7.45287e-4). This PR remains as the restoration stage composed with #291's second descent (its restoration-only rung, 7.45273e-4 on #290's word, matches #295's restoration-only figure); the two accountings agree.

Change

PR280's early restoration of cleanup helpers, on gen5. #280 (utcorvusvolat-dotcom) restored 440 gen4 helpers early; the gen5 lineage (#285 → #287 → #290 → #291) branched from #276 and never had it. The same census on the gen5 word after the descent, target-square, kernel and second-descent stages finds the same shape: at the first cleanup_gate ADD (record 601,802; no COPY/ERASE follows), 440 helpers a have exactly one later scalar incidence, a write a -= c·b with a donor b unwritten in between, both at 22-dimensional frames whose rational span E is a nondegenerate 23-dimensional frame; all helpers and donors are distinct and disjoint. The write commutes over the integers with every crossed gate (none reads a, writes a or writes b), so restore_transform.py moves it to the cut: a and b advance to E, the unchanged ADD runs there and a retires at E instead of climbing to the full frame; b continues as before. Two rank-2 climbs per pair become three rank-1 climbs: local histogram delta {1: +1320, 2: −880}, local rank mass −440, priced literal stock 1,244,515 → 1,243,415. The transform checks the commutation conditions, the unchanged scalar-event multiset (byte-identical prefix, suffix minus the 440 writes), the exact integer source spans of both operands inside E, nesting, data endpoints, COPY lifetimes, nondegenerate endpoint bases and both reflected ledgers; scalar_check replays all 19,406 columns forward and inverse on the emitted word (row bounds unchanged: 67,127 / 2,360,408).

Admission of helpers that retire below the full frame (RESTORE-PROOF.md). A restored helper with entrance σ (dim 20) and endpoint E (dim 23) changes content only in the residual D_(E−σ) of rank 3 (#280's accounting); its single direction E^⊥ is never touched (all of its frames nest inside E) and is completed together with σ:

  • global_lowering.Lowerer reads every helper endpoint from the actual records, requires it to be declared by the physical census, and emits completions of rank 5·(dim σ + 24 − dim E) = 105; the one-replica identity LIVE·120 − rank mass = 4400 is unchanged (five-stage rank mass 2,746,720);
  • geometry527 checks on an actual restored helper that P_σ + I − P_E and P_E − P_σ are exact commuting projectors over the five windows with traces 105 and 15, product zero, sum the identity;
  • bank_check.census assigns families by the actual residual width dim E − dim σ (the 440 helpers become width-3 families beside gen5's 354 rank-21 entrances) and builds 440 new exact (σ, E) charts — residual rows = integer basis of the G-orthogonal complement of σ inside E, idle row = cleared annihilator of E, source rows = basis of σ — inverted exactly with their factor programs replayed (985 charts); bank_template retiles 3,484 (4³⁰) and 1,191 (3⁴⁰) banks per stage (821,015 banks; all 4,765,800 assignments enumerated; selector calls 932,936,528,400 < 2⁴⁰);
  • math_check/finite_check remove the completions (entrance + idle) from the priced histogram: priced calls 477,380, rank mass 2,482,430, 120·stock − literal mass = 264,000.

Every changed count is a recomputed pinned value in expected/kernel-pins.json (restored_helpers, restore_five_stage_calls, completion_rank_histogram, restored_endpoint_dimension_histogram, bank_families, literal_stock, banks_total, charts, priced_five_stage_calls, scalar_event_sha256, kappa, …); none dropped. Then every stage of #291's verifier runs fresh — virtual, raw, bit (descent, target, kernel, second descent, restoration), scalar, primes, banks, complex, math, finite — with its omitted-stage negative controls.

one invocation, m = 120 #290 #291 this package
five-stage calls 477,859 478,184 480,384
priced calls / rank mass 475,180 / 2,484,630 475,180 / 2,484,630 477,380 / 2,482,430
literal stock, 60 replicas 1,244,515 1,244,515 1,243,415
κ 7.44714499357628e-4 7.44728650221677e-4 7.45287034630032e-4

Not applied: the 7 helpers with two later writes (dim 21 at the cut) and #280's 60 transported dirty entrances.

Verify

python3 -m pip install -r research/five-stage-gen5-restore/requirements.txt
python3 -B research/five-stage-gen5-restore/verify.py --output /tmp/gen5-restore-verification

Python 3.11+, SymPy 1.14.0, a new output directory outside the package; no network; about 6 minutes. Prints PASS_IMMUTABLE_GEN5_KERNEL_ENTRIES_FIVE_STAGE_BANKED_CONSTRUCTION with the pinned κ.

Scope and credits

Exactly #291's hypotheses and conditional interfaces (all-size compiler, weighted chart, restored rows, selectors, routing, prime supply, precision/recovery, complex symbolic correctness, analytic reduction). No new Lean build. #285, #287, #290 and #291 are open; their stages are inherited unchanged and not re-proved.

utcorvusvolat-dotcom (#280): the early-restoration rule and its integer commutation argument, and the rank-3 endpoint accounting this package admits in the Python five-stage package; Dugongue (#283): endpoint-aware composition on gen4; chafreaky (#290, #282, #284): the collective response-kernel stage and the pin plumbing; DreamingOfClouds (#285, #276): the gen5/gen4 bit words and their packages; eumemic (#268, #244, #234 lineage): the target-prefix mechanism, the common-frame retiming and the package machinery; hcg890 and Jacob Sussman (#234): the five-stage layout; Evan McKinney (#197): completed banks. Prepared by Rohan Arun with Anthropic Claude assistance; Apache-2.0; lineage in NOTICE.md.

🤖 Generated with Claude Code

@rohanarun
rohanarun marked this pull request as ready for review October 10, 2026 10:02
…pers on the gen5 word (κ 7.45287034630032e-4)

Rebased onto main so the PR carries only this package (the predecessor packages it was stacked on are in their own PRs).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The "Verify research artifacts" workflow (make joint-dual-verify) fails on main
and on every open pull request since the root Makefile and README changed
(AssertionError: Makefile in joint_dual_compose.check_sources). Regenerated with
scripts/experiments/pin_joint_dual_sources.py; verify_joint_dual.py and
tests/test_joint_reclaim.py pass (16 tests) under Python 3.11. The joint-dual
certificates only change in their recorded source-manifest hash.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit a45747d)
@rohanarun

Copy link
Copy Markdown
Contributor Author

CI note: the only failing check here was the repo-wide 'Verify research artifacts' job (make joint-dual-verify), which fails on main itself because the root Makefile/README changed while research/joint-dual/SOURCE.json pins their digests (see #318). To make this PR's checks green now, the branch carries that same one-line repin commit (research/joint-dual/SOURCE.json and the two joint-dual certificates' recorded manifest hash) — no package content changes; it can be dropped once #318 or an equivalent fix lands on main.

@Mister-Meeseeks

Copy link
Copy Markdown
Contributor

Thank you @rohanarun. This contribution is now retained on main in the scoped 100-PR review and contributor credits.

Contribution: 440 early restorations on the alternate gen5 lineage.

Review and limits: Source-bound complete Linux replay. Its tested merge has different root repository wrappers, but every contributed package file matches; that context is recorded.

The complete original source, notices and relevant execution evidence are retained through the pinned source archive. The review distinguishes fresh local runs, source-bound historical Linux CI and prior exact-head review; it does not claim 100 fresh full mathematical audits. Closing this historical PR as reconciled. This preserves parallel and cumulative credit without replacing the selected frontier or promoting priced research targets to completed constructions.

Reviewed head: 2006a8f9288fd7222ae3dc3aeb2e817bbb403be0. Publication: 50d768818f579d4e165b4c257c6ee25bca300802.

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.

2 participants