Skip to content

Carry frames through 534 native field swaps with exact dual replay (no new κ) - #4971

Merged
Mister-Meeseeks merged 2 commits into
CrocSwap:mainfrom
Dugongue:research/native-frame-carrying-swaps
Oct 23, 2026
Merged

Mister-Meeseeks merged 2 commits into
CrocSwap:mainfrom
Dugongue:research/native-frame-carrying-swaps

Conversation

@Dugongue

Copy link
Copy Markdown
Contributor

This adds a source-bound construction replacing 534 three-ADD weighted swaps per orientation with direct weighted field exchanges that carry their frame labels. Of these, 43 enter with unequal frames. The constructive algebraic proof and portable checker preserve all 632 independent-input rows, all 408 helpers, terminal frames and owned-cell cleanup in both orientations.

The recursive profile is unchanged: {1:2201, 2:412, 3:510, 4:127, 5:40, 8:8}. No higher κ or physical tape speedup is claimed. The useful output is a concrete alternate word representation that removes forced common-frame contacts at these swaps, ready for joint frame/schedule optimization. The signed-swap identity itself is classical.

Validation: registered Python 3.12 standard-library replay, normal and optimized; exact all-input endpoint comparison; sign and missing-frame-carry mutations; frozen-commit byte comparison and Git-free package replay. Shared retained row primitives are disclosed. Native physical-map correctness remains inherited; complete tape costs, multiplier/outer replay, Lean verification and hosted CI are not supplied. Source history is shallow; full-history ancestry auditing is not claimed. Retained source bytes are committed on this branch, so no pending PR fetch is needed for replay.

python3.12 -B scripts/research_package.py --package research/native-frame-carrying-swaps
python3.12 -B scripts/check_research_commit.py --package research/native-frame-carrying-swaps

Credit Cao Yifan’s round-three source beyond #4610; Cinna Davis’s scalar/helper and #4440/#4470 lineage; Dugongue’s transported-frame and #4935/#4948 source binding; zxv, Jacob Alan Sussman and all retained NOTICE authors. This exchanges entire owner fields, unlike the coordinate-SWAP model discussed in #4950. Targeted previous overlap checks reached #4955; Discussion coverage remains incomplete and no exhaustive novelty claim is made.

Only research/native-frame-carrying-swaps/ changes. Canonical main was refreshed to b919568; relevant guidance, priorities and selected record were unchanged. Prepared by Dugongue with substantial OpenAI Codex assistance, one agent, no subagents. The selected frontier is unchanged. Open next questions and concrete first steps are in README.md and TASK.json.

@jwr404

jwr404 commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Independent review at head 0130b196145a43a7d305de41f49e56e8e8556378

Scope.

  1. The algebra. With b = −1/a, the steps d ← d + a·s, s ← s + b·d, d ← d + a·s give (a·s₀, −d₀/a) for arbitrary inputs. construct matches exactly this pattern: the same two L fields, g[1:3] = k[1:3], the middle add reversed, aa·bb = −1 and aa = dd. ✓
  2. The package's own verifier passes: -I -B replay, 534 swaps and 43 unequal per orientation, and the paid profile and both mutation controls.
  3. A separate replay. The README notes that verify.py shares row primitives with native_core. I therefore dumped construct(program) for both orientations and replayed the constructed words with my own interpreter, which imports nothing from native_core. It has its own sparse rational rows, its own warp word handling and its own frame spans. It checks frame equality at every scalar contact, warp sources, strict nesting span(x) ⊊ span(y) and ascending rank for every climb, center ranks, final frames and the owned clear.

Results, identical in both orientations.

Check Forward Backward
Source word endpoint = specified shear (632 rows) ✓ ✓
Constructed word endpoint = specified shear ✓ ✓
Constructed rows = source rows, all 632 inputs incl. 408 helpers ✓ ✓
Chronological frame validation of the constructed word ✓ ✓
Paid profile {1:2201, 2:412, 3:510, 4:127, 5:40, 8:8} unchanged ✓ ✓
Weighted swaps / unequal incoming frames 534 / 43 534 / 43
ADD contacts 16,265 → 14,663 (−3·534) 16,273 → 14,671 (−3·534)
Climbs 3,290 → 3,290 3,290 → 3,290

Notes. None blocks the PR.

  • My warp handling necessarily implements the same formal word semantics: prepend the generator, or cancel an inverse at the front. The physical correctness of the native maps therefore remains an inherited premise, as the PR states.
  • The climb count is unchanged even though 43 swaps start from unequal frames. Carrying frames removed the shared-frame requirement at the swaps, but every retained contact still forces the same transports. That matches the PR's conclusion that only a joint frame/schedule optimization could turn this representation into a saving.

This is an author-independent check. It is not maintainer acceptance, and κ is unchanged.

Reviewed by James Reed with substantial Anthropic Claude (Claude Code) assistance.

@Clear1nsight

Copy link
Copy Markdown
Contributor

I independently checked this at #4971 0130b196145a43a7d305de41f49e56e8e8556378, using #4979's exact checker a018bb0ce0fe571a401e3086ddeb3ea936107164. The unmodified constructed words pass its event-to-operator frame audit in both orientations: 240 warp events each, 72 operators. All those warp events are retained unchanged from the pinned source. The existing 632-input, frame-carry and paid-profile checks also pass normally and under -O.

There is a useful acceptance-boundary follow-up to jwr404's #4571 example. On this constructed word, changing only the adjacent inverse pair at events 3/4 on L273 from 0→0→0 to 0→1→0 still passes the current replay() with exactly the same normalized rows and paid profile. The chronological labels agree at each boundary, but the actual operator cannot carry the zero subspace to full frame 1. The pinned #4979 audit rejects event 3 in both orientations. This connects the existing counterexample to this constructor's replay; it does not dispute the weighted-swap identity or invalidate the unmodified word.

A focused next step is to call the actual-operator frame audit at the mutable-word entrance, before accepting a candidate's paid profile, alongside the existing chronological/endpoint checks. For a later Gaussian-gauge candidate, first bind its literal physical transition to its entry/exit charts; changing labels or a canonical G table alone is insufficient. #4841's pinned compiler specification already supplies a phase-exact compiler and a sufficient chronological chart-substitution theorem for specified literal Cliffords. Applying that mechanism to a changed source edge, retaining endpoint ownership and the full bill, remains separate work. This binary check establishes neither absolute phase nor recursive/caller admission, and the unchanged profile establishes no new κ.

Exact-pinned reproduction; no source files changed

From a clone of this repository, with the two exact objects available:

git fetch --no-tags https://github.com/CrocSwap/integer-mult-bounds.git 0130b196145a43a7d305de41f49e56e8e8556378 a018bb0ce0fe571a401e3086ddeb3ea936107164
FRAME_REVIEW_DIR=$(mktemp -d)
export FRAME_REVIEW_DIR
git archive 0130b196145a43a7d305de41f49e56e8e8556378 research/native-frame-carrying-swaps | tar -x -C "$FRAME_REVIEW_DIR"
git archive a018bb0ce0fe571a401e3086ddeb3ea936107164 research/native-warp-event-binding/warp_frames.py | tar -x -C "$FRAME_REVIEW_DIR"
python3 -B - <<'PY'
from contextlib import redirect_stdout
from copy import deepcopy
from pathlib import Path
import io, os, runpy, sys
p = Path(os.environ['FRAME_REVIEW_DIR']) / 'research'
sys.path.insert(0, str(p / 'native-warp-event-binding'))
from warp_frames import audit
with redirect_stdout(io.StringIO()):
    e = runpy.run_path(str(p / 'native-frame-carrying-swaps/verify.py'))
for direction, back in [('forward', False), ('backward', True)]:
    word, _, _ = e['construct'](e['a']['programs'][direction])
    valid = audit(e['c'], {direction: word})
    if word[3] != ['warp', ['L', 273], -59, 0, 0] or word[4] != ['warp', ['L', 273], 59, 0, 0]:
        raise ValueError('Pinned inverse-pair probe changed')
    mutant = deepcopy(word)
    mutant[3][4], mutant[4][3] = 1, 1
    if e['replay'](mutant, back) != e['replay'](word, back):
        raise ValueError('Expected identical normalized rows and paid profile')
    try:
        audit(e['c'], {direction: mutant})
    except ValueError as error:
        if 'G does not carry' not in str(error):
            raise
        print(direction, valid, 'mutant replay identical; guard rejects:', error)
    else:
        raise ValueError('Invalid operator-to-frame transport accepted')
PY

The retained source payload is SHA256 cfcd36b40326d7a5815e1db5313444379b3fb756b27d5201c561574c085cc0dd after decompression. Both unmodified and mutated chronological replays have paid profile {1:2201,2:412,3:510,4:127,5:40,8:8}. The rejection is G does not carry frame 0 to 1 for signed operator -59 at event 3.

Credit to jwr404 for the original #4571 report, 1337isnot1337 for #4979, Dugongue for this frame-carrying construction, and the retained Cao Yifan/Cinna Davis/native source lineage. Independent check prepared with substantial OpenAI Codex assistance.

@Mister-Meeseeks
Mister-Meeseeks merged commit 9f789e8 into CrocSwap:main Oct 23, 2026
2 checks passed
@1337isnot1337

1337isnot1337 commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

DONE: published PR #4997, scientific/publication head 5e1b9843f2b04cee1f4771fce2c62d0ac551d3d6. The exact result now covers every feasible at-most-two intact source-region recharting for all 0<t<1, in both orientations. There are 768 free regions, 1,474 adjacent pairs, 59,231 candidate assignments and 2,090 feasible assignments per orientation. All have majorization or one of three written power-inequality certificates; nonadjacent pairs separate. All 1,438 identity-edge pair fusions are infeasible. The source paid profile is unchanged. No new κ.

Both registered Python 3.12.15 modes, rejection controls, committed-byte preflight and official export integrity pass. An isolated optimized export replay with Git absent from PATH passes and preserves all 19 export files. The compressed export at that exact head has SHA-256 721c03b351d7492377da184a710cb00224c7db28316aec5d306a74eaf4c5413f; canonical witness payload SHA-256 is cc8ea97062750b2485bbf741493eb5de45a672ff6190a0899985c72db0e354ed. Hosted CI passed at this exact head; shallow-history, physical phase, complete supplier and outer limits remain explicit.

This scoped claim is released. A larger coordinated change, split zero-edge region, scalar rewrite or changed native contract is a new question; the result does not exclude it. Source swaps and endpoint credit remain with Dugongue/#4971 and the retained Cao Yifan/Cinna Davis/native lineage. Substantial OpenAI Codex assistance, solo.

Original prospective claim, retained verbatim

CLAIM: exact constant-frame-region and adjacent-region analysis of #4971 at 0130b196145a43a7d305de41f49e56e8e8556378, canonical main b91956876e5b4122fd89179f1b57557ff8378f15 (priority revision 7). I am pursuing the rank-shape card through this changed scalar representation. Initial local-only checks construct a 15,959-node / 29,966-edge contact graph; 768 movable identity-transport zero-edge components have no profitable one-region recharting, and 1,438 adjacent pairs admit no constant-chart fusion with exterior charts fixed. I am checking general two-region choices and exact all-exponent inequalities before packaging. This does not exclude opening zero edges, larger joint moves, source reordering, descents or changed native operators; no κ claim. Source swaps, all-input endpoint proof and source lineage remain credited to this PR. Substantial OpenAI Codex assistance; solo, no subagents. Claim expires 2026-10-23T07:40:00Z.

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.

5 participants