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
143 changes: 143 additions & 0 deletions research/three-spectrum-shear/PROOF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# Three character values already force six calls

Let C have character spectrum {1,i,-1}. For any finite complex role space,
let N be square-zero of rank three. Require the complete endpoint

S(z) = I + (z-1)N, z in {1,i,-1}.

Every input coordinate, including every helper, is arbitrary and dirty.
Allowed free gates are constant invertible complex role matrices. Each paid
gate applies C or C^-1 to one role. The constants are shared across characters.
The minimum number of paid calls is six.

This settles Open next question 1 in Richard Hoekstra's PR1318. Its normalization,
direction-span split and target-image loop method are inherited and credited.
The new observation is that the independent-direction exclusion needs only the
two active values i and -1. No fourth character is required.

## Normalize and split

At z=1 the product of constant gates must be identity. Absorb the constants into
conjugations to write a k-call word as

F(z) = R_k(z)...R_1(z),
R_j(z) = I + (z^epsilon_j-1)a_j b_j,
b_j a_j=1, epsilon_j in {+1,-1}.

These rank-one idempotents need not be self-adjoint. This normalization is the
one in PR1318 and allows arbitrarily many restored dirty helpers. Rank(F-I)<=k
and det F(i)=i^(sum epsilon_j)=1. Thus k>=3 and k is even. Any word with fewer
than six calls must have exactly four, with all signs equal or two of each.

Put Y=im N and V=span(a_1,...,a_4). Then Y is contained in V, dim Y=3,
and N vanishes on Y. Hence dim V is three or four. If dim V=4, the restriction
N|V factors through V/Y, so rank(N|V)<=1.

## Independent directions: the new two-value exclusion

Choose a_j=e_j for j=1,...,4, extending to a basis of the entire role space.
Later factors change only their own rows. Row one of the endpoint forces

(z^epsilon_1-1)b_1 = (z-1)N_row1.

If epsilon_1=-1, dividing by z-1 gives N_row1=-z^-1 b_1 at both z=i and -1.
The two scalars differ, so b_1=0, contradicting b_1 a_1=1. Thus epsilon_1=+1.
Apply the same argument to F^-1=S^-1=I-(z-1)N, with the directions in reverse
order. It forces epsilon_4=-1. In particular both all-equal sign patterns are
excluded. The only remaining patterns are ++-- and +-+-.

For ++-- put g=z-1 and d=b_2 a_1. The first two endpoint rows give

N_row1=b_1,
N_row2=b_2+g d b_1.

The values g(i) and g(-1) differ. Hence d b_1=0, so d=0 and N_row2=b_2.
In the first two columns these two rows have determinant
b_1 a_1 * b_2 a_2 - b_1 a_2 * b_2 a_1 = 1.
Thus rank(N|V)>=2, a contradiction.

For +-+- row two instead gives

N_row2 = -d b_1 + z^-1(d b_1-b_2).

Again the two active values force b_2=d b_1. Idempotence gives
1=b_2 a_2=d b_1 a_2, so d is nonzero. Direct multiplication, now as an identity
for every nonzero z, yields

R_2 R_1 = I+(z-1)M_1,
M_1=(a_1-d a_2)b_1, M_1^2=0, rank M_1=1.

The inverse word has the same alternating sign pattern. Its first pair
therefore gives R_3^-1 R_4^-1=I+(z-1)M_tilde. Inverting this square-zero
shear gives R_4 R_3=I+(z-1)M_2, where M_2=-M_tilde has rank one and square zero.
Consequently

F(z)=I+(z-1)(M_1+M_2)+(z-1)^2 M_2 M_1.

At z=i and -1, divide F(z)-S(z) by z-1 and subtract. This gives M_2 M_1=0
and then N=M_1+M_2. Its rank is at most two, the final contradiction.
This is the new exclusion that closes the three-value question.

## Directions spanning Y: the inherited loop method at two active values

For completeness, the PR1318 target-image argument is written with its actual
sample points. Restrict all factors to Y, where their product is identity.
Every a_j lies in the span of the other three. Otherwise a covector annihilating
the other three detects a nonzero jth rank-one update after an invertible prefix,
contradicting identity on Y. The unique dependency therefore uses all four.
Write a_1=e_1,a_2=e_2,a_3=e_3 and a_4=(c_1,c_2,c_3), with all c_j nonzero.
Let f_j=b_j|Y. From R_3 R_2 R_1=R_4^-1, row one says

(z^epsilon_1-1)f_1=(z^-epsilon_4-1)c_1 f_4.

Evaluation at i and -1 forces epsilon_4=-epsilon_1 and f_1=c_1 f_4.
Row two excludes epsilon_2=epsilon_1, since it would give
f_2+(z^epsilon_1-1)(f_2 a_1)f_1=(c_2/c_1)f_1 at two distinct scalars,
forcing both f_2 a_1=0 and f_2 a_1=c_2/c_1.
Thus epsilon_2=-epsilon_1 and f_2=-(c_2/c_1)f_1.
The determinant on Y forces epsilon_3=epsilon_1. The first pair is a shear;
substituting it in R_3 R_2 R_1=R_4^-1 and comparing the two active values gives
f_3=(c_3/c_1)f_1. Rescale the directions and use them as coordinates to obtain

a_1=e_1, a_2=e_2, a_3=e_3, a_4=e_1-e_2+e_3,
f_1=f_2=f_3=f_4=(1,1,1).

For each outside input column the remaining covector entries are arbitrary
complex beta_1,...,beta_4. Write B(z) for its outside-to-Y transfer and
H(z)=B(z)/(z-1), t=z^-1. Direct multiplication gives the following inherited
canonical coefficient formulas.

For +-+-:

H_1=t beta_1+(1-t)beta_2-(1-t)beta_3-t beta_4,
H_2=-beta_2+(1-t)beta_3+t beta_4,
H_3=t(beta_3-beta_4).

Equality H(i)=H(-1) forces beta_1=beta_2 and beta_3=beta_4. Every constant
transfer column lies in span(e_1-e_2), which has dimension one.

For -+-+:

H_1=-beta_1+(1-t)beta_2-(1-t)beta_3+beta_4,
H_2=t beta_2+(1-t)beta_3-beta_4,
H_3=-beta_3+beta_4.

Equality forces beta_2=beta_3. Every constant transfer column lies in
span(e_1,e_2-e_3), which has dimension two. Neither pattern can have rank three.
The argument applies to any finite number of outside and helper roles because
the same image bound holds separately for every outside column.

## Attainment and scope

For one source x and target y use C on x, then y+=x, then C^-1 on x,
then y-=x. The endpoint is x restored and y+=(C-I)x for arbitrary dirty x,y.
Apply this independently to three pairs: six calls attain the bound. Every
rank-three square-zero N has this canonical shear form after a constant basis
change. The six-call construction therefore covers every N in the theorem.

This is a scoped written proof. The checker corroborates its two-value
coefficient constraints, canonical image bounds and literal six-call endpoint
using exact Q(i) arithmetic. It is not exhaustive enumeration of arbitrary
complex projectors, a proof-assistant formalization, or a multiplication theorem.
Other phase functions, extra character-dependent gates, clean-input contracts,
physical tariffs and supplier admission are outside the theorem.
104 changes: 104 additions & 0 deletions research/three-spectrum-shear/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Three values already force six same-phase calls

This contribution is produced by Nick Petalas. New work is Apache-2.0.
Independent human and formal proof-kernel review are unclaimed.

For a phase operator C with spectrum {1,i,-1}, three independent transfers
`y_j += (C-I)x_j` require exactly **six C/C^-1 calls**, even with arbitrary
constant invertible complex role mixing and any finite number of restored
dirty helpers. Equivalently, the complete map `I+(z-1)N` for any rank-three
square-zero N has minimum six in this alphabet.

This is a scoped algebraic proof with exact finite corroboration. It answers
Open next question 1 in Richard Hoekstra's [PR1318](https://github.com/CrocSwap/integer-mult-bounds/pull/1318),
which proves the four-value floor and leaves the three-value case open.
The new first/last-row argument excludes four independent phase directions
using only i and -1. The inherited target-image loop method needs those same
two active values. [PROOF.md](PROOF.md) gives the complete argument and credits
the inherited normalization, span split and canonical loops. No predecessor
verifier is imported or replayed. No literature-priority claim is made.

Deleting the -i character therefore does not create the proposed four-call
shortcut. Six direct calls attain the bound with all source, target and helper
columns handled as arbitrary dirty inputs. This does not change a selected
supplier, physical tariff or kappa. Extra character-dependent gates, different
phase functions and clean-input contracts are outside the theorem.

## Reproduce

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

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

Other machines can substitute their CPython 3.12 interpreter. Expected direct
output is `PASS_THREE_SPECTRUM_SHEAR minimum=6 loops=2 collapse_cases=81 upper_samples=6 controls=9 no_new_kappa`.

The checker uses exact Q(i) arithmetic. It constructs both four-call canonical
loops on all basis inputs, imposes equality at i and -1 by exact elimination,
and obtains constant-transfer image ranks one and two. It tests the new pair
collapse on 81 explicit rational cases. Six literal eight-role upper endpoints
include two restored dirty spectator roles. The nine controls cover six omitted
calls, the single-active-value boundary, a nonidempotent factor and zero phase.
These are finite checks of the written proof's core, not enumeration of all
complex projectors or all circuits. The all-dimension lower bound is the proof.

`RESULT.json` is generated by the verifier and binds its mathematical fields to
the package and inherited-input hashes. To regenerate without overwriting it:

```sh
python3.12 -W error -B research/three-spectrum-shear/verify.py --write /tmp/three-spectrum-result.json
python3.12 -W error -B research/three-spectrum-shear/verify.py --certificate /tmp/three-spectrum-result.json
```

Source pin availability, metadata validation and passing CI are distinct from
scientific approval. No native phase/compiler, finite-precision, fixed-tape,
physical hosting, supplier-admission, outer theorem or Lean replay is run.

## Provenance and overlap

Base canonical main is `624de9dc66858af0945e5f8a0942488d62280d43`, priority revision 7.
`SOURCES.json` pins the current card, selected record and PR1318 proof/README
bytes. The PR1318 head is `5cc2496bbdae91e1f5d96d2ae340b42d2d776f24`.
The `complex-new-helper-inventory` card is explicitly changed to this open
algebraic interface question; its historical packing experiment is not the
question being answered. The current selected source-binding control passed.

The [advance claim](https://github.com/CrocSwap/integer-mult-bounds/discussions/1166#discussioncomment-19134000)
follows live open/merged PR and body searches, distinctive all-main README
searches, active Discussions, recent account submissions and a local question
reservation. Sparse local notes, arbitrary diffs and unpublished work are
coverage limits. Search absence is not a novelty certificate. No matching open
PR was identified by the targeted PR1318/object searches at claim time.

Credit Richard Hoekstra for PR1318's four-value theorem, canonical loop method,
normalization, upper construction and explicit open question. Retain the
Swapnil Jain/Douglas Colkitt register/restoration lineage and the distinct
context contributions named in PR1318's unchanged NOTICE: Jeremy Diviney
PR836/PR800, David Govea PR720, Sagar Thakrar PR990 and Richard Hoekstra PR1235.
No predecessor source code is copied into this package.

## Verification implementation limits

Power-of-Ten rules 3 and 9 have narrow Python-runtime deviations in `exact.py`
and `verify.py`. Fraction objects, matrix entries, JSON parsing and Python
arithmetic dispatch allocate or dispatch dynamically. Matrix order is capped
at eight, loop alphabets and products have fixed finite bounds, and no search
queue or recursion is used. Receipt inputs are trusted committed package files,
not a service input. Inspectable direct arithmetic and exact endpoint checks
compensate for these runtime constraints. A fixed-capacity native arithmetic
engine would be a separate implementation if runtime guarantees were needed.
All functions fit within 60 physical lines. Warning-strict normal/optimized
replays are the available diagnostics; no optional linter is required.

## Open next questions

Can a separately paid additional character-dependent gate reduce the complete
three-source transfer bill? First specify the extra phase gate and its tariff,
then exhibit a complete dirty-restoring word. No such extra gate, physical
invoice or supplier is provided here. Extending a search in the same alphabet
cannot beat the proved call floor.
Loading