Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions research/disjoint-descendant-traversal/PROOF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Exact finite map and complete historical charges

For ordered ground points P, let D_(a,b)(P) send each a-subset input to the
sum of inputs disjoint from each b-subset target. Splitting P into L and R,
the channel with source-left cardinality i and target-left cardinality j
is `D_(i,j)(L) tensor D_(a-i,b-j)(R)`. Applying these two tensor factors in
either order gives the same integer map. This equality holds on arbitrary
inputs and needs no cancellation or approximation.

The constructor changes only subproblems of shape `(n,a,b)=(11,2,2)`.
The pinned planner splits them into five and six ground points. In channel
`(i,j)=(1,1)`, the left-first and right-first unshared costs are both 146;
the constructor checks this equality explicitly. It takes the opposite order
from the planner. All other channels and all root choices stay as in #981.
The argument above proves that every changed subproblem still computes
D_(2,2)(11), and hence the full circuit computes D_(3,3)(22).

Every addition combines disjoint source families. Retaining the first
binary decomposition of an already existing support leaves its integer
coefficient vector unchanged. Pruning unreachable nodes also leaves all
output vectors unchanged. Different factor orders can expose different
previously interned supports, so their equal unshared costs need not give
equal final DAG sizes. The finite checker derives the 30,676 retained
additions from this new DAG. It derives every output vector independently
from the set-theoretic predicate `S intersect T is empty`. This establishes
all 1,540 by 1,540 coefficients, with both zero and nonzero coefficients
included. The count is a certificate of this construction, not a lower bound
on other possible circuits.

The retained compiler gives c+v roles for c additions and v outputs. Here
c=30,676 and v=1,540, giving 32,216 roles. Every compiled operation first adds
its other input roles into its pivot, then adds the pivot into its distinct
fanout roles. It is an invertible integer linear map. Subtract the pivot
from the fanout roles first, then subtract the other input roles from the
pivot to invert it. The slot-alias checks ensure these instructions have
the stated meaning. Thus arbitrary dirty values are permitted in the mixer
and returned by its literal inverse. The clean source-to-output block is
checked separately by full symbolic support replay. The retained twelve-step
signed invocation can therefore reuse this block while cancelling every
initial side value, exactly under its existing boundary contract.

For any active node, let A be the union of ground points of ancestor source
triples, and B the union of reachable target triples. Every such source
triple is disjoint from every such target triple, since coefficients are
positive and every output row has exactly the required support. Thus A and
B are disjoint. The phase enclosure in the pinned
`notes/disjoint-tensor-compression.tex` applies to any such DAG, rather than
only its original factor choices. Source lines, coordinate spaces and target
complements remain nested with the same norm-one residual witnesses.
The retained checker traverses both actual physical orientations of the new
compiled circuit. It checks the case conditions for every transition; it
does not explicitly construct the 104,897 residual bases.

For the complete historical invoice, retain h=22, v=binomial(h,3)=1,540,
intersection-two roles `R2=binomial(h,2)*(4*(h-2)-6)=17094` and h+1 centres.
The source proof gives

```text
R0 = c+v
M = 2c+2*binomial(h,2)*(3*(h-2)-6)
C = J = 4v
S_inv = 4M+2C+4J+18v
S_all = 3v^2*S_inv
W = 2v^3+2v^2*(R0+R2+h+1)
m = h^3
L = 3v^2*h*(h+1)
s = W*m-2v^3+2L
E = 64*(W+m+1)^3
```

These formulas keep every mixer or inverse, source access, injection,
restoration, centre, intersection-two role, join and recursive child in the
same historical contract. The checker evaluates them at the new c, obtaining
`S_inv=409880`, `S_all=2916214224000`, `W=241300813600` and
`s=2569370958862400`. It also checks `2<=s<m^5` and
`4*S_all+8*s+8*W+8*m<E`. Against #981's cited c=30,698, the 22 fewer additions
save 22 roles, 176 steps per signed invocation and
`24*v^2*22=1252204800` steps in the full scalar bound. No new fee is introduced
because the boundary map, frame-enclosure rule and number of calls are the
same. This statement does not transfer the old contract into the selected
P104 supplier or prove its all-size assumptions.
118 changes: 118 additions & 0 deletions research/disjoint-descendant-traversal/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# Twenty-two fewer historical disjoint-triple helper roles

This finite certificate constructs the h=22 disjoint-triple sum map with
**30,676 additions and 32,216 reversible roles**, saving 22 of each against
the 30,698-addition construction in ToikY's [PR #981](https://github.com/CrocSwap/integer-mult-bounds/pull/981).
The complete historical three-stage scalar bound falls by **1,252,204,800**.
There is no new kappa or selected-frontier change.

The new step changes a proper descendant, a domain #981 explicitly excluded.
It preserves #981's root split 11+11, root target-cardinality order
`(1,2,3,0)`, reversed root channel `(1,1)`, point order, summation trees and
first-decomposition support interning. Inside every encountered
`D_(2,2)(11)` subproblem, keep its 5+6 split but reverse the factor order
in channel `(1,1)`. Both orders have the same unshared cost 146.
Different intermediate supports change which decompositions survive global
interning and pruning. [PROOF.md](PROOF.md) gives the exact map and accounting
argument. This is an improvement to this cited historical construction;
no global circuit optimum or broader literature-priority claim is made.

## Evidence and reproduction

From the repository root, with CPython 3.12 and its standard library:

```sh
/Users/nick/git/integer-mult-bounds/.venv/bin/python3.12 -W error -I -B research/disjoint-descendant-traversal/verify.py
/Users/nick/git/integer-mult-bounds/.venv/bin/python3.12 -W error -I -O -B research/disjoint-descendant-traversal/verify.py
/Users/nick/git/integer-mult-bounds/.venv/bin/python3.12 -B scripts/research_package.py --package research/disjoint-descendant-traversal
/Users/nick/git/integer-mult-bounds/.venv/bin/python3.12 -B scripts/check_research_commit.py --package research/disjoint-descendant-traversal --check-source-history
```

Other machines may replace the absolute interpreter path with their CPython
3.12 executable. The final marker is
`PASS_DISJOINT_DESCENDANT_TRAVERSAL additions=30676 roles=32216 no_new_kappa`.
Default replay writes no files. Its computed stdout receipt includes all
package and live-input SHA256 hashes, the environment and elapsed time.
There is no handwritten receipt.

The new checker reconstructs every active integer support from the literal
addition DAG, separately constructs every desired disjointness row and checks
all **2,371,600 coefficient positions**, including zeros. It independently
replays the compiled embedding and checks its source, output, freshness and
slot-alias conditions. The retained frame checker checks both physical
orientations, with 104,897 distinct nontrivial transitions. One dense integer
roundtrip uses deterministic dirty initial values in all 32,216 roles; its
universal justification is the elementary inverse in PROOF.md, not sampling.
Six rejecting controls cover a wrong output, duplicate summand, cycle,
corrupt cached support, missing paid role and aliased fanout. All mutations
are restored before a final successful map and embedding replay.

Predecessor values are cited from #981, not re-established here. Its census
and verifier are not replayed. This package constructs and checks only the
new circuit. The first strict improvement ended the search; no optimality
claim or complete negative census is attached to earlier unsuccessful probes.

## Complete historical bill

The unchanged historical contract retains the intersection-two circuit,
23 centres, joins, source access, weighted injection, all four mixers or
inverses, dirty restoration and all three tensor stages.

| Quantity | Cited #981 | New circuit |
| --- | ---: | ---: |
| Disjoint additions | 30,698 | 30,676 |
| Disjoint reversible roles | 32,238 | 32,216 |
| Total side roles | 49,332 | 49,310 |
| Mixer additions | 86,344 | 86,300 |
| Complete signed invocation steps | 410,056 | 409,880 |
| Complete three-stage scalar bound | 2,917,466,428,800 | 2,916,214,224,000 |
| W | 241,405,164,000 | 241,300,813,600 |
| s | 2,570,482,081,921,600 | 2,569,370,958,862,400 |

Here `v=1540`, `m=10648`, `L=3600088800` and `W*m-s=104350400`.
The verifier computes the new bill and the retained `E=64(W+m+1)^3` guard.
It does not calculate a new logarithmic saving or compose a supplier with
current BIT or outer budgets.

## Scope and limits

Scientific base is canonical main
`de5ec2e7a6074068452f45b1a191b5c72832df4a`, priority revision 8.
The selected binding-only orientation passed. This is a declared change
from `complex-rank-shape-decoder` to a historical circuit side result.
The selected P104 supplier is a different construction. Improving this old
finite invoice does not discharge its compiler, ownership, all-column native,
precision/tape or analytic recovery assumptions. No selected cold replay,
full multiplication theorem, new native kernel, exact h22 residual-basis
construction, all-size compiler or physical rounded multiplier is supplied.
Independent human and formal proof-kernel review are unclaimed.

Only this package is new. [SOURCES.json](SOURCES.json) pins the imported
constructor, its executable dependency closure and the proof and comparison
sources. Frozen predecessors and their credit lines are unchanged.
[VALIDATION.md](VALIDATION.md) records local checks and implementation limits.

## Open next questions

1. Does an explicit physical caller benefit from this descendant sharing
mechanism in a competitive current supplier? Start with one named
disjoint-subset component and its complete boundary invoice. No such
component or compatibility with selected P104 is established here.
2. Can one prove a bound on the benefit of changing a single proper
descendant's factor order under first-decomposition interning? Start with
the two 146-cost factorizations and the supports they create. This package
certifies one example and supplies no universal sharing bound.

These questions are unreserved. TASK.json records the same questions and
remaining blockers.

## Credit

This contribution was produced by Nick Petalas. Apache-2.0.
ToikY's #981 supplies the root recipe and root-traversal improvement;
Curtis Dransfield's #863 supplies the preceding tied-root construction.
Douglas R. Colkitt supplies the disjoint-subset recurrence, support interning,
reversible compiler, phase enclosure and historical signed-invocation and
stopped-recurrence accounting. Their retained notices and predecessor
attribution continue to apply. The new result is the descendant factor-order
change, its 22-role improvement and the accompanying finite certificate.
60 changes: 60 additions & 0 deletions research/disjoint-descendant-traversal/SOURCES.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{
"schema_version": 1,
"base_commit": "de5ec2e7a6074068452f45b1a191b5c72832df4a",
"files": [
{
"path": "certificates/selected-result.json",
"usage": "provenance",
"git_blob": "581f8d87008354eb5b869f7ed9de1317ad837ce8",
"sha256": "2a0220e866417774606e0f991e41b9c1d26b1f43b97857238cf478dbc7d330b5"
},
{
"path": "docs/research/agent-task-catalog.json",
"usage": "provenance",
"git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec",
"sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81"
},
{
"path": "notes/disjoint-tensor-compression.tex",
"usage": "input",
"git_blob": "0e3cad1b933f532cd83d6a3e93114c4c9361e65c",
"sha256": "528cba56872313b8cd63ff11f523a399dfb3c85cae1a764110ae9d26ac9151ac"
},
{
"path": "research/disjoint-joint-ties/README.md",
"usage": "input",
"git_blob": "fbfadd52d6bbfb8d9f4121a5d7bbcc0f4e01a7cd",
"sha256": "10ea35680ee002283a938b7c7afaff8be472f2abbf472f53877ede8e8dcdae74"
},
{
"path": "research/disjoint-joint-ties/circuit.py",
"usage": "input",
"git_blob": "1ac7613e274ac5c8394c0bcbc94c2da0e23a17d5",
"sha256": "2f98e0e21044a7decc7e4dadd2662217626394220e3d62406fff6442ac4a92ba"
},
{
"path": "scripts/binary_phase_frames.py",
"usage": "input",
"git_blob": "c8e4fa71fe60550324f9e43c1dd5ad6d9bf4e2f4",
"sha256": "4148cfa313cf050ed25296e8db36d35871520b8318fd086c7d1facf0c6af67d7"
},
{
"path": "scripts/certify.py",
"usage": "input",
"git_blob": "a773311b726fd1ef98a056f6f76010e872d7908a",
"sha256": "2348d95008276c5d5764f7e028c3918e484582cd589bd4d9b82919161745e53e"
},
{
"path": "scripts/exclusion_circuit.py",
"usage": "input",
"git_blob": "b0e2f3e03d7de791ca936dfd92cee2134c7dd4f5",
"sha256": "f9fbcd6e85e442cbd0926ac0887414e20735b2dc923d2d5822c803ceb46726d3"
},
{
"path": "scripts/experiments/disjoint_tensor.py",
"usage": "input",
"git_blob": "cc85de3024d191b79bf64ced2b39d782854fe491",
"sha256": "23763a4b6086fb3d19f9282fff5c118f53fa52e7a7f17da1bde990bd4cf8b6ac"
}
]
}
97 changes: 97 additions & 0 deletions research/disjoint-descendant-traversal/TASK.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
{
"schema_version": 1,
"task_id": "complex-rank-shape-decoder",
"priority_revision": 8,
"base_commit": "de5ec2e7a6074068452f45b1a191b5c72832df4a",
"original_card": {
"id": "complex-rank-shape-decoder",
"question": "Can a legal decoder or coframe change improve the full signed moment, including changed helper targets?",
"starting_points": [
"docs/research/current-priorities.md",
"docs/research/research-family-status.md",
"certificates/selected-result.json",
"docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md",
"docs/research/recursive-invoice-preflight.md"
],
"methods": [
"Construct and independently check one source-bound instance of the stated first experiment.",
"Seek an exact counterexample or target-specific complete-budget obstruction to that same proposed change."
],
"acceptance_gate": "A source-bound arbitrary-input identity and legal producer/consumer boundary with the complete paid and productive target invoice, including restoration, ownership, native alignment and extra charges. Price under the actual current model; historical ceiling.py assumptions must be established before use. A favorable optimistic relaxation keeps a route open but is not a completed supplier. A scoped local result remains useful; expansion requires the family-level budget gate.",
"first_step": {
"command": [
"python3",
"-B",
"scripts/research_selected_baseline.py"
],
"expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY",
"inspect": "Read revision 8, the selected review and live exact-source handoffs. Then follow this card's bounded first_experiment.",
"scope": "Source-bound orientation only, not a supplier replay or theorem proof."
},
"first_experiment": "Price one complete changed itinerary with both paid and productive histograms. Check #5693/#5698 for overlap and their exact hypotheses before another coframe search. Use the signed invoice preflight where its boundary contract agrees; an inconclusive concave comparison is not a power crossing. Stop if an optimistic complete budget fails at the chosen target or native delivery remains unspecified.",
"bottleneck_link": "Judge the actual current supplier contract and complete signed target/paid bill; frozen-profile ceilings require an applicability proof.",
"allowed_variations": [
"One exact source head, helper/cut region or quantified proposition and changed hypothesis; check live handoffs first. Different seeds are not different scopes."
],
"scope_change_triggers": [
"Changing source head, helper/cut domain, operation alphabet or caller boundary without recording the new scope.",
"Treating an archived proposal or local numerical pass as complete supplier admission."
],
"overlap_terms": [
"coframe",
"signed moment",
"5693",
"5698"
],
"existing_checks": [
{
"scope": "Selected PR5599: complete helper-subspace construction and independent caller replay; five framework assumptions remain.",
"evidence": "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md",
"remaining": "The next experiment must identify uncovered source-specific work. Successor archive intake does not transfer this admission.",
"status": "reviewed",
"source_commit": "09dd0965711ca7eeb169057a420abab1c9052137",
"selected_record_sha256": "2a0220e866417774606e0f991e41b9c1d26b1f43b97857238cf478dbc7d330b5"
}
]
},
"scope_status": "changed",
"actual_scope": "Construct a smaller h=22 historical disjoint-triple circuit by changing a proper descendant factor order while retaining the PR981 root recipe.",
"scope_change_reason": "The selected supplier is a different P104 construction. This is an explicitly historical circuit side result, outside PR981's fixed-descendant search domain, rather than a current coframe or target split.",
"bottleneck_link": "A concrete example of reducing a complete finite helper bill through sharing. It does not improve the selected supplier or change any current admission gate.",
"budget_minutes": 60,
"stop_rule": "Stop and package the first strictly smaller exact circuit; no broader census or subsequent optimization.",
"outcome": "completed",
"evidence": "30,676 additions; 32,216 compiled roles; all 2,371,600 integer coefficient positions and both physical frame orientations checked; six rejecting controls.",
"author": "Nick Petalas",
"ai_assistance": "Independent human and formal proof-kernel review are unclaimed.",
"open_questions": [
{
"question": "Does this descendant sharing mechanism improve an explicit competitive physical caller?",
"why_it_matters": "The historical improvement alone cannot raise the selected bound.",
"first_step": "Identify one disjoint-subset component and write its complete current boundary bill.",
"blocked_by": "No compatibility with the selected P104 supplier is established."
},
{
"question": "How much can changing one proper descendant factor order save under first-decomposition interning?",
"why_it_matters": "An exact sharing bound could guide construction choices.",
"first_step": "Analyze the supports created by the two 146-cost factorizations.",
"blocked_by": "The present evidence is one finite construction, with no universal lower or upper bound."
}
],
"claim_type": "finite certificate",
"claim_url": "https://github.com/CrocSwap/integer-mult-bounds/discussions/1166#discussioncomment-19217762",
"predecessors": [
{
"pr": 981,
"author": "ToikY",
"head": "6c9dc6d180ac0fde42c1c2b0fe549d5a13851cf9",
"contribution": "Root traversal and winning root recipe; descendants explicitly fixed."
},
{
"pr": 863,
"author": "Curtis Dransfield",
"head": "6c0ed3975fda8f0190b34f1b1bbedb33a925d339",
"contribution": "Tied-root factor-order improvement."
}
]
}
Loading
Loading