Skip to content

Recycled bit registers on #147's reduced word: conditional κ = 4.71809569e-4 - #150

Merged
Mister-Meeseeks merged 2 commits into
CrocSwap:mainfrom
DaysSky:research/bit-recycling
Oct 9, 2026
Merged

Mister-Meeseeks merged 2 commits into
CrocSwap:mainfrom
DaysSky:research/bit-recycling

Conversation

@DaysSky

@DaysSky DaysSky commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Based on main (merged #144). It adds research/bit-reuse-147/ and one workflow; no existing file changes. It builds on #147 (hpst3r): that PR's elimination plan is used unchanged, but none of its files are needed, so this branch applies to main directly.

Under #144's retained interfaces, this certifies

T(n) = O(n (log n)^(1 - κ)),   κ = 471809569/10^12 = 4.71809569e-4

That is +1.54% over #147 (4646633/10^10) and +2.36% over the merged #144 (4609169/10^10). #144 is bit-limited, so a bit-side change moves κ directly.

What changes

Only the bit word changes. Starting from #147's reduced PR97 word:

  • Reads run late. The selected deferred reads keep their inherited order, but each runs as late as the word allows instead of in one block after phase 1.
  • Dead registers are reused. A slot that is not an output slot is never touched after its last operation. For 3,338 pairs, such a register is moved from its last frame U_D to the entrance frame sigma_B of a later deferred slot B, where U_D is inside sigma_B, and becomes B. B's inherited read then cancels whatever the donor left. This is jamesyc's Birth-read slot recycling: conditional kappa 1.1038332094346e-4 #124 birth-read operation, applied to the bit word.

Each hand-off removes one physical role, the donor's final step and the recipient's gauge child, and adds one shorter step (993 of the hand-offs have rank zero).

roles R W per vertex coarse bit saving κ
#144 (merged) 28,866 32,408 4617656/10^10 4609169/10^10
#147 27,317 30,859 4655227/10^10 4646633/10^10
this PR 23,979 27,521 472689442/10^12 471809569/10^12

The deficit per vertex (2,024) is unchanged. The largest child falls from 66 to 60. The complex side (4856569/10^10) still has about 2.9% headroom.

The headline keeps the merged atom exponent 1/1000. At 1/2000 (#148, gupt1156) the same row gives 472026274/10^12 = 4.72026274e-4. Th0rgal's composition comment on #147 (#146 + #147 + #148) reports 4.64880716e-4, so this is +1.54% over that at the same atom exponent. #146's min-cut gauge subset is not composed here; #144's own 9,543 selected gauges are used.

Verify

python3 research/bit-reuse-147/verify.py          # stdlib only, about 2 minutes; do not use -O
python3 research/bit-reuse-147/verify.py --all    # also re-checks every inherited frame move, about 9 minutes

verify.py runs these checks:

  1. It reproduces Paired cubes and shared completed cores for conditional kappa = 4.609169e-4 #144's coarse saving, stopped saving and κ exactly on Paired cubes and shared completed cores for conditional kappa = 4.609169e-4 #144's own grid, with Paired cubes and shared completed cores for conditional kappa = 4.609169e-4 #144's functions.
  2. With no elimination and no recycling, the delayed-read word reproduces every histogram of Paired cubes and shared completed cores for conditional kappa = 4.609169e-4 #144's row. Delaying reads changes no charge.
  3. It runs a frame ledger of the frozen plan in execution order. Every scalar gate must find its registers at one common frame, and no register may retreat. The row rebuilt from the actual moves must equal row.json.
  4. It checks all 4,878 adjacent frame pairs that are not already inside one inherited certified chain for exact nesting over Q, with bases rebuilt by check_lifted.py: 3,338 hand-offs and 1,540 target-chain moves. A control must reject mismatched hand-offs.
  5. It runs the literal word on the 23,979 physical registers with all 27,521 inputs as formal variables, over F2 and over Z with the exact integer coefficients, and requires the exact identity. This is complete, with no random vectors. A random replay then confirms that three tampered words break the identity: a recycled read of the register's entrance value, a recycled read taken before its donor's last write, and the inherited inverse order.
  6. It prices the row with Paired cubes and shared completed cores for conditional kappa = 4.609169e-4 #144's assembly (47 constraints, 7 margins). The next grid points are rejected.

price147.py changes one check in #144's code, as #147 does: the bit dimension test accepts R <= 28866.

Checks run on this branch:

  • verify.py passes on macOS (Python 3.12 and 3.14) and on Linux in the fork's CI (Python 3.11 and 3.14): run 37888454305.
  • verify.py --all passes: all 201,824 distinct ledger moves, inherited ones included, are nested exactly over Q.
  • The scalar identity was also checked on all 27,521 formal variables (every data port, target and physical register), over F2 and over Z with integer linear forms. This is complete and uses no random vectors. The second commit adds it to verify.py.
  • An independently written closed-form computation of the child histogram equals row.json.
  • The repository's full verification matrix on the fork: all 45 jobs pass on the first commit d0fc03e (run 37888454329): every make verify-* group on Python 3.11, 3.13 and 3.14, and the three formal jobs.
  • make_plan.py regenerates plan.json byte for byte on this machine.

Not run locally: the complete make verify and the formal targets (the fork's CI runs them).

Scope and limits

PROOF.md gives the argument. Every interface #144 retains stays an assumption. Beyond that:

Credits

The late read timetable, the hand-off of dead bit registers on this word and their verification were prepared by DaysSky, assisted with Claude. No priority over concurrent work is claimed.

On the merged CrocSwap#144 bit branch with CrocSwap#147's 1,549 terminal eliminations,
run the selected deferred reads as late as the word allows and hand
3,338 dead auxiliary registers to later deferred slots whose entrance
frame contains the dead register's frame (the CrocSwap#124 birth-read operation
on the bit word). Physical roles fall from 27,317 to 23,979 and the
coarse bit saving rises to 472689442/10^12.

Adds research/bit-reuse-147 and its workflow; no existing file changes.
verify.py now runs the literal word with every data port, target and
physical register as its own variable, over F2 and over Z, and requires
the exact identity; this is complete and uses no random vectors. The
random replay is kept for the three tamper controls. Retained centres
are excluded as donors (none was used), and the proof note states the
rank-witness remark for hand-offs. No certified value changes.
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