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
120 changes: 120 additions & 0 deletions research/norm6-unit-pivot/PROOF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# An integral unit-edge pivot for norm-six features

Produced by Nick Petalas. Apache-2.0. Claim type: scoped algebraic proof.
The kernel and feature identity are credited to Cinna Davis / PR2222, with
the relation-column convention of Krzysztof Wojt / PR5143. Their results are
cited premises. The new step is the integral pivot and resulting denominator.

## Credited interface

Put d=48, q(x)=x^T G x, h_i=G_ii/2 and v=Gy. Before compression, use

| Key | Integral source phi_j(x) | Integral target psi_j(v) |
| --- | --- | --- |
| f_i | (x_i^3-x_i)/3 | v_i^3 |
| l_i | x_i | (v_i^3-4v_i)/3 |
| s_(i,j), i!=j | x_i^2 x_j | v_i^2 v_j |
| t_(i,j,k), i<j<k | x_i x_j x_k | 2v_i v_j v_k |

Integrality follows since u^3-u is divisible by three and
u^3-4u=(u^3-u)-3u. The credited multinomial identity is

```text
sum_j phi_j(x) psi_j(v) = ((x dot v)^3-4*x dot v)/3.
```

There are N0=2d+d(d-1)+binom(d,3)=19,648 features. The relation
r_i(x)=x_i(q(x)-6)/2 has feature coefficients R[i,j] given by

```text
R[i,f_i] = 3h_i
R[i,l_i] = h_i-3
R[i,s_(i,j)] = G_ij
R[j,s_(i,j)] = h_i
R[i,t_(i,j,k)] = G_jk, with the other two entries by permutation.
```

All unlisted entries vanish. Thus R phi=(q(x)-6)x/2 as a polynomial
identity, and R phi=0 on q(x)=6.

## New pivot

For the pinned Gram, H={i:G_ii=8} is

```text
2,3,8,10,11,12,13,15,16,19,21,22,24,25,27,29,30,33,34,35,36,38,39,40,42,47.
```

Every i outside H has a root parent p(i) with epsilon_i=G_i,p(i) in {-1,+1}.
Choosing the least possible root gives this complete certificate:

```text
i: 0 1 4 5 6 7 9 14 17 18 20 23 26 28 31 32 37 41 43 44 45 46
parent: 12 3 3 2 10 3 3 2 3 2 8 15 2 2 3 2 2 2 3 2 8 10
G_ip: -1 1 -1 1 1 1 1 -1 -1 1 1 1 -1 1 -1 1 1 1 1 -1 1 1
```

The pivot set P consists of l_r for r in H and s_(i,p(i)) for i outside H.
Order root rows and root columns first, then other rows and their matching
columns. The pivot matrix is

```text
R_P = [ I B ],
[ 0 E ]
E_ii = epsilon_i,
B[p(i),i] = h_i, with other entries zero.
```

A root linear column has the single coefficient h_r-3=1. A chosen
square-linear column has coefficients epsilon_i in its own row and h_i
in its parent row. Therefore the determinant in this common ordering is
product epsilon_i, of absolute value one. R_P has an integral inverse.

The checker validates all 26 roots and 22 unit edges against the pinned
Gram, computes the determinant independently by rational elimination, and
checks every entry of the integral inverse through coordinate right-hand
sides. These are checks of the new pivot, not a replay of predecessor suites.

## Integral solve and exact substitution

The system R_P^T lambda(v)=psi_P(v) has the explicit integral solution

```text
lambda_r = (v_r^3-4v_r)/3 for r in H,
lambda_i = epsilon_i*(v_i^2*v_p(i) - h_i*lambda_p(i)) for i outside H.
```

Define eta_j(v)=psi_j(v)-sum_i R[i,j]lambda_i(v). Every eta_j is integral
on integral v. The pivot equations make eta_j=0 identically for j in P.
Subtracting lambda^T R phi from the credited feature identity gives

```text
sum_(j not in P) phi_j(x)*eta_j(v)/64
= ((x dot v)^3-4*x dot v)/192
- (lambda(v) dot x)*(q(x)-6)/128.
```

This holds even off the shell. If q(x)=6, its defect term vanishes. Setting
v=Gy proves the claimed kernel identity for every integral norm-six source
and every integral target. The all-input statement rests on polynomial
substitution, rather than finite extrapolation.

Exactly N0-d=19,600 pairs remain. Source features are integral and targets
have integral numerators over 64. PR5143 and PR5132 supply denominator 256
for their different chosen feature sets. This improves the sufficient common
denominator by a factor of four while retaining their term bound. It does
not prove minimal denominator or that every numerator is odd.

## Limits

The new coordinate selection must be used on both sides of a factorization.
Old coefficient arrays cannot be substituted into the new source features.
The original stream's storage and operation bounds do not transfer merely
from the denominator calculation. Fewer coefficient fractional bits do not
by themselves imply fewer physical working bits or a favorable paid invoice.

The geometric interpretation and binary chart remain cited premises. There
is no full-shell rank calculation, full-shell enumeration, completed physical
caller, native realization, restored arbitrary workspace, new kappa or selected
frontier change. All five framework assumptions remain. Discovery stops at
this first improvement; the next useful obligation is a fully charged caller.
121 changes: 121 additions & 0 deletions research/norm6-unit-pivot/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# Norm-six compression with target denominator 64

An explicit integral pivot reduces the common target denominator in the
P48p norm-six feature construction from **256 to 64**, retaining **19,600
factor pairs** and integral source features. This contribution was produced
by Nick Petalas. Apache-2.0.

Claim type: scoped written algebraic proof with an exact finite pivot
certificate and endpoint corroboration. The result concerns coefficient
representability. Optimal denominator, runtime or physical precision savings,
a new kappa and a complete multiplication theorem are unclaimed.

Krzysztof Wojt's [PR5143](https://github.com/CrocSwap/integer-mult-bounds/pull/5143)
provides the predecessor stream with denominator 256. Brian's
[PR5132](https://github.com/CrocSwap/integer-mult-bounds/pull/5132) independently
constructs explicit features with that denominator. These results and the
underlying kernel are cited premises, not audited or replayed here.

## Result

Let G be the pinned integral 48-dimensional P48p Gram matrix and let
q(x)=x^T G x. The credited integer-valued feature family has 19,648 members
and 48 relations x_i(q(x)-6)/2. Choose the 26 diagonal-eight coordinates as
roots. Each remaining coordinate has an entry +1 or -1 to one of these roots.

Remove the linear feature at each root and the square-linear feature
x_i^2 x_parent(i) at every other coordinate. The resulting 48-column relation
minor has determinant of absolute value one. Its integral solve gives

```text
sum_(19,600 retained j) phi_j(x) * eta_j(Gy) / 64
= ((x^T G y)^3 - 4*x^T G y) / 192,
phi_j(x) and eta_j(Gy) are integers.
```

This holds for every integral x with q(x)=6 and every integral y.
[PROOF.md](PROOF.md) gives the full pivot, formulas and substitution proof.
[compression.py](compression.py) implements them without predecessor code.
The feature set changes, so old and new coefficient arrays cannot be
interchanged. The executable validates 48-dimensional coordinates of
magnitude at most 2^20. The written identity has no coordinate cutoff.

## Reproduce

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

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

Another CPython 3.12 path may replace the local interpreter. Direct success
prints `PASS_NORM6_UNIT_PIVOT` and a generated receipt bound to all seven
package files and the Gram hash. No handwritten receipt is used. The only
live external input is the Gram JSON; other pins are historical provenance.
The direct checker also works in a Git-free export with that input.

Verification checks the new pivot by separate exact rational elimination,
all 2,304 entries of its integral inverse certificate, every eliminated
coefficient on 204 target fixtures, 84 complete new shell-source endpoints
containing 1,646,400 records, and 24 off-shell polynomial cases containing
470,400 records. All four feature families contribute nonzero terms in every
off-shell case. Record order, input preservation, 61 nonzero-term omission
controls and nine boundary/solve controls are checked. This corroborates
the written proof without enumerating the full norm-six shell. Optimized
Python retains every mathematical check.

## Scope and decision

Base: canonical main `7c49fe32c55de02c2c873655c804b16e4c3fef0a`, priorities
revision 8, selected PR6030. Source-binding orientation passed. The
`coverage-law-change` card is explicitly changed to this algebraic side
result; its complete producer/consumer acceptance gate remains unmet.

The decision is to retain this one integral-pivot improvement and stop.
The obligation removed is denominator growth during feature elimination.
No further search or physical implementation campaign follows. Acquisition,
native maps, frames, owned state, dirty restoration, precision, tape movement,
stock, compiler closure and the full recursive consumer invoice remain
unknown. Unknown costs are not zero. All five selected framework assumptions
retain their status. Previous stream storage and arithmetic bounds are not
asserted to transfer unchanged.

The [advance claim](https://github.com/CrocSwap/integer-mult-bounds/discussions/1166#discussioncomment-19370220)
records the target. Live source bodies, recent account work, open PRs,
handoffs, reservations, main README searches, merged quantity/object searches
and the overlap helper were consulted. Sparse notes, arbitrary historical
diffs and unpublished work remain coverage limits. Classical unimodular
elimination and polynomial substitution retain their credit.

## Open next questions

Can an actual caller exploit the smaller coefficient scale after source
access, preparation, output delivery and restoration are charged? Start
with one chronological source/target block, its required order and the new
feature set. A complete physical contract and a favorable full invoice are
the blockers. No further denominator search is reserved.

## Credit and implementation limits

Krzysztof Wojt / PR5143 supplies the relation-column formulas and stream.
Cinna Davis / PR2222 supplies the kernel, Gram data, integer-valued features
and retained P48p/lattice/chart lineage. Nick Petalas / PR5084 retains the
19,600-term bound; Brian / PR5132 retains the concurrent explicit construction.
David Ganz / PR4494 and DreamingOfClouds / PR2244 retain their factorization
and rank context. Predecessor files and credit remain unchanged. The new
contribution is the unit-edge pivot and denominator-64 factorization.
Independent human and formal proof-kernel review are unclaimed. No selected
scientific cold replay, native suite, Lean or Docker was run.

Loops have fixed bounds: dimension 48, 19,648 feature candidates, 204 target
fixtures and the enumerated endpoint cases. There is no recursion, network,
subprocess or dynamic code generation. Functions remain below sixty lines.
The immutable plan owns its Gram and parent tuples. Managed Python allocation
is a documented deviation from allocation-free execution; fixed dimensions,
input magnitudes and fixture inventories bound object sizes. Verification
materializes at most 19,600 records at once. Warning-strict normal and optimized
runs are the available interpreter diagnostics; no extra static analyzer is
claimed. This is an indexed integer algorithm, not a physical memory tariff.
42 changes: 42 additions & 0 deletions research/norm6-unit-pivot/SOURCES.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"schema_version": 1,
"base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a",
"files": [
{
"path": "certificates/selected-result.json",
"usage": "provenance",
"git_blob": "d59b5035e7b4cbaa9d688a1d32dd0d6eb79c466a",
"sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa"
},
{
"path": "docs/research/agent-task-catalog.json",
"usage": "provenance",
"git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec",
"sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81"
},
{
"path": "research/norm6-constructive-feature-evaluation/README.md",
"usage": "provenance",
"git_blob": "4d90a8026c154120815f5153cc18879fd8ba138b",
"sha256": "4ebad93c607d1ee2b96d25803e45a2ed507397c91ebd9c8606a352a97b506286"
},
{
"path": "research/norm6-dyadic-decoder/sources/P48p-GRAM.json",
"usage": "input",
"git_blob": "872dff9406881d567882d70882408eaa1e1f8f6c",
"sha256": "e25d51a0a9cdbc897d5db39fb698aa9bbc2f4ce29e8d7add2a44bae8f086add2"
},
{
"path": "research/norm6-streaming-features/PROOF.md",
"usage": "provenance",
"git_blob": "2b347c4c6dd54f683a97e1c239001002bc187be4",
"sha256": "4d7c62c92bd636261ae4d64e83c1d274729f6bb46d323d4a70592e471db35673"
},
{
"path": "research/norm6-streaming-features/README.md",
"usage": "provenance",
"git_blob": "94f52dc23e8c55f19f49fbe59355f3c9d79c871c",
"sha256": "01cbce4bc286c5edd0a93440cc4634b9d10ebad8ae605941dfa6df10093d462b"
}
]
}
99 changes: 99 additions & 0 deletions research/norm6-unit-pivot/TASK.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
{
"schema_version": 1,
"task_id": "coverage-law-change",
"priority_revision": 8,
"base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a",
"original_card": {
"id": "coverage-law-change",
"question": "Can a completed call earn more independent productive target credit without an offsetting paid bill?",
"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"
],
"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": "Use #5599 as a completed positive control, then choose one uncovered cut/module beyond an applicable frozen exclusion. Derive independence, saturation and chronological availability rather than counting rational rank alone. Price target credits and all new jobs together, then check compiler and actual caller compatibility. Stop on a nonphysical credit or an unfavorable complete relaxation.",
"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": [
"target credit",
"helper split",
"coverage law"
],
"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": "An explicit unimodular pivot for the fixed P48p norm-six feature relations, giving 19,600 integral-source factor pairs with integral target numerators over 64 instead of the cited 256.",
"scope_change_reason": "A bounded coefficient-ring side result replaces the complete productive-call question. The original native producer/consumer and complete-invoice acceptance gate remains unmet.",
"bottleneck_link": "Removes denominator growth in one exact label-preprocessing interface. No physical cost, target credit or supplier improvement is inferred.",
"budget_minutes": 60,
"stop_rule": "Stop at the first verified denominator improvement; do not optimize further or extend into physical implementation.",
"outcome": "completed",
"evidence": "Written unimodular pivot/substitution proof; determinant -1; all 2304 integral-inverse entries; 204 target cases; 84 new kernel endpoints with 1646400 records; 24 off-shell cases with 470400 records; 61 term-omission and nine boundary/solve controls. Normal and optimized receipts agree.",
"author": "Nick Petalas",
"ai_assistance": "Independent human and formal proof-kernel review are unclaimed.",
"open_questions": [
{
"question": "Can an actual chronological caller exploit the smaller target denominator at favorable complete cost?",
"why_it_matters": "Coefficient representability alone does not remove physical work or establish productive credit.",
"first_step": "Bind one source/target block to the new feature set and charge acquisition, preparation, delivery and restoration.",
"blocked_by": "No physical caller or complete native/frame/owner/tape/stock invoice is supplied."
}
],
"coordination": {
"claim_url": "https://github.com/CrocSwap/integer-mult-bounds/discussions/1166#discussioncomment-19370220",
"upstream_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a",
"priority_revision": 8,
"selected_record_sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa",
"source": "PR #5143",
"source_author": "krzysztofwojt"
},
"environment": {
"python": "3.12.15",
"dependencies": "standard library only",
"local_commands": "VERIFY.json commands timed individually at 1.50 and 1.41 seconds before final documentation edits",
"selected_cold_replay": "not run; source-binding orientation only",
"platform": "macOS-27.0.1-arm64-arm-64bit",
"interpreter": "/Users/nick/git/integer-mult-bounds/.venv/bin/python3.12"
},
"predecessors": [
{
"pr": 5143,
"head": "c7cffff0dd40b7aa787739cf48b6dc7d776ca2d7"
},
{
"pr": 5132,
"head": "08572fdb060e73ecc4cb09a024611039881185f4"
}
]
}
Loading