Skip to content

Tooling: 4.80× faster DisjointTensor.frame_data with identical frame receipts - #2117

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
VictorLiwentao:cursor/disjoint-tensor-frame-unions-60b9
Oct 15, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
VictorLiwentao:cursor/disjoint-tensor-frame-unions-60b9

Conversation

@VictorLiwentao

Copy link
Copy Markdown
Contributor

Change and scope

At base 0fdd7d82de03e43c9e5a1000dfbcd380d1b687d2, merged CrocSwap/integer-mult-bounds#2001 left DisjointTensor.verify_frames / frame_data as an explicit next question after shipping closed-form verify support masks. Profiling on the historical full-size circuit (h=26, 60372 active nodes) shows most of verify_frames wall time inside the per-node reachable-target bit enumeration in frame_data.

CrocSwap/integer-mult-bounds#1044 already proved exact target-union propagation as an opt-in adapter under research/disjoint-frame-unions/. Production scripts/experiments/disjoint_tensor.py still used the historical bit loop. This PR promotes the same algebra into the default path, keeps every descendant bitset, source union and rectangle require, and leaves verify_frames receipts fieldwise identical. Only the source pin for scripts/experiments/disjoint_tensor.py changes inside the four certificates that bind that file.

Tooling improvement; no new kappa. Selected frontier untouched.

Result

On Linux / CPython 3.12.3 (Linux-6.12.94+-x86_64-with-glibc2.39), five alternating fresh-process pairs timing only DisjointTensor(26).verify_frames (construction excluded) gave median wall time 2.232 → 0.465 seconds (4.80×). Timing is host-descriptive and is not a correctness gate. Every frame receipt matches the baseline checker fieldwise (distinct_nontrivial_transitions, frame_types, flags).

Package: research/disjoint-tensor-frame-unions/.

Validation

python3.12 -I -B research/disjoint-tensor-frame-unions/verify.py
python3.12 -I -O -B research/disjoint-tensor-frame-unions/verify.py
python3.12 -B scripts/research_package.py --package research/disjoint-tensor-frame-unions
python3.12 -I -B research/disjoint-tensor-frame-unions/benchmark.py --rounds 5

Expected:

PASS_DISJOINT_TENSOR_FRAME_UNIONS frame_cases=6 map_cases=6 certs=4 no_new_kappa
PASS_REGISTERED_RESEARCH_PACKAGE research/disjoint-tensor-frame-unions outcome=completed
PASS_IDENTICAL_DISJOINT_TENSOR_FRAME_UNION_RECEIPTS

Default verify is read-only. XOR-of-mask nonequivalence and corrupted-rectangle ValueError controls reject. Full make verify, selected cold replay, Lean, and multiplication-theorem obligations were not rerun for this isolated historical-checker change.

Overlap and credit

Closest priors (different objects or delivery): CrocSwap/integer-mult-bounds#756, CrocSwap/integer-mult-bounds#1044 (opt-in exact union propagation; this promotes it to production), CrocSwap/integer-mult-bounds#1793, CrocSwap/integer-mult-bounds#1861 (open; already conflicting with main; different primary pin binary_phase_frames.py), CrocSwap/integer-mult-bounds#1922, CrocSwap/integer-mult-bounds#1984, CrocSwap/integer-mult-bounds#1994, CrocSwap/integer-mult-bounds#2001 (support masks + open verify_frames / frame_data question this answers), CrocSwap/integer-mult-bounds#2100 (same ternary-side.json file, different pin key ternary_side.py). No competing open PR on production frame_data at refresh.

Douglas R. Colkitt authored the disjoint-tensor / exclusion circuits. Prepared by Wentao Li (VictorLiwentao, @Is__Victor) with substantial AI assistance, under Apache-2.0.

…receipts

Promote exact target-union propagation into production frame_data, answering
the CrocSwap#2001 verify_frames open question. Package research/disjoint-tensor-frame-unions
with identical receipts, pin-only certificate updates, and registered replay.

Prepared by Wentao Li with substantial AI assistance.
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