Repository navigation
Prove square-zero is necessary for the borrowed shear tariff: non-square-zero endpoints need 6 shears (no new κ) - #5970
Merged
Mister-Meeseeks merged 1 commit intoOct 28, 2026
Conversation
… tariff Words with at most two gathers or two scatters can only implement diag(T, I_q) with (T-I)^2 = 0, so non-square-zero endpoints need at least max(2 ceil(r/q)+2, 6) cross-bank shears in the PR CrocSwap#5640 alphabet. Exact breadth-first minima on six small prime-field domains attain this bound.
This was referenced Oct 27, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Result
Scoped proof with an exact finite census; no new κ. Claim type: written proof (author-checked) plus finite certificate.
Ali Romman's #5640 proves the sharp borrowed-space tariff
2⌈r/q⌉+2cross-bank shears for a square-zero updatediag(I+N, I_q). Its lower bound holds for every endpointdiag(T, I_q), but its attaining word needsN² = 0.Theorem. Over any field, if a word in the #5640 alphabet (gathers
z += A x, scattersx += B z, arbitrary dirty borrowed inputs restored) implementsdiag(T, I_q)with at most two gathers or at most two scatters, then(T−I)² = 0.Corollary. A non-square-zero T with
r = rank(T−I)needs at leastmax(2⌈r/q⌉+2, 6)shears. Whenr ≤ q, the four-shear count from #5640 is unattainable.Census. Breadth-first search over the whole generated group gives exact minima. In every domain below, each of the 319 standard-library endpoints and 168 NumPy endpoints equals
2⌈r/q⌉+2when square-zero andmax(2⌈r/q⌉+2, 6)otherwise:F2 (n,q) = (2,1), (2,2), (3,1); F3 (2,1); F5 (2,1); plus F2 (3,2) with NumPy (group order 9,999,360). The smallest case where the square-zero formula fails is F2, n = q = 2: two endpoints with
r = 2 = qcost 6, not 4.The proof is five lines of state algebra:
D = IforcesA₂B₁ = 0, thenC = 0forcesA₁B₁ = 0, andT − I = B₁A₁. It is inresearch/borrowed-shear-general-endpoint/README.md.Evidence and reproduction
Interpreter: CPython 3.12.15 (
~/git/integer-mult-bounds/.venv/bin/python3.12), standard library only for registered checks.Local results:
PASS_REGISTERED_RESEARCH_PACKAGE ... outcome=partial(two registered commands, about 22 s each);PASS_RESEARCH_COMMIT_BYTES. The verifier replays one shortest witness per endpoint as a literal (n+q)-square matrix product, including the dirty columns. It checks that every non-square-zero witness has at least three gathers and three scatters. Two controls must reject: the square-zero-only formula, refuted on exactly two F2 n = q = 2 endpoints, and a witness with one corrupted coefficient.Opt-in, local only (not in VERIFY.json; needs NumPy, about 70 s):
python3.12 -B -I research/borrowed-shear-general-endpoint/extended_census.py→PASS_EXTENDED_CENSUS, 168 endpoints, 0 mismatches (NumPy 2.5.4).Limits
max(2⌈r/q⌉+2, 6)beyond the six domains is open.Open next questions
max(2⌈r/q⌉+2, 6)attainable for every non-square-zero T over every field? First step: a six-shearGSGSGSword for arbitraryT ∈ SL(n,K)withq ≥ n.T ∈ SL(n,K)reachable for every field and every q? Each shear has determinant one, sodet T = 1is necessary. Every enumerated domain reaches all of SL(n, F_p).2⌈r/q⌉+1show the same square-zero gap? The transpose argument is unavailable there.Related open work
No open PR studies the borrowed-space shear alphabet or its tariff. Searches for "borrowed shear", "square-zero" and "cross-bank shears" across open PRs found none. Rechecked before DONE: the open PRs this account opened after the CLAIM (#5961–#5969, #5971) study other objects, and none computes this tariff.
CI notes
All checks passed for head
622c4f56bc8e1d440c725cf87b991ae965132378:planandreplay (research/borrowed-shear-general-endpoint)in run https://github.com/CrocSwap/integer-mult-bounds/actions/runs/40541238332. The opt-in F2 (3,2) NumPy census is not part of CI.Credit
Produced by Nick Petalas. Ali Romman (#5640) supplies the alphabet, the rank lower bound, the transpose-reversal argument and the square-zero construction. Dugongue (#5634) supplies the reader-recoding application behind #5640.