Skip to content
Open
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
128 changes: 128 additions & 0 deletions research/c3-odd-sign-trace-slot/PROOF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# An odd minus on u keeps the trace -48 on (+1, +1)

This note answers the second open question of the sector-3 payload-involution
certificate: whether one other cross-coset pair, with a different odd sign,
moves the trace `-48` of `X_3` onto another `(u, v)` eigenvalue. The selected
conditional kappa stays `781451/250000000`. Nothing here is a characteristic
polynomial, a basis, or a census of all 3072 cross-coset pairs.

The claim is a **proof**. The joint trace formula is an identity for commuting
involutions. The 512 addresses, the 16 odd signs, and the 16 characters below
are finite sets, and the verifier evaluates the identities on every element of
each set. That evaluation is exhaustive on those sets. It is not a heuristic
search, and it is not a proof that an arbitrary change of mask keeps the trace.

## The pair

The input is the pinned 8-by-112 query, SHA256
`5c6c51fbffc07a683e922f17532fd90262ae9e23cc3560a696002073dd234ef3`.
Bell block `c=3` and the payload involution `X_3`, translation of the address
by 3, are the operators of the degree-881 certificate. The sign group `H` is
the order-16 group of diagonal signs supported on the odd coordinates
`{1, 3, 5, 7}` and positive on the even coordinates. Its characters are the
16 homomorphisms `F_2^4 → {±1}`, indexed by coordinates `(1, 3, 5, 7)`.

The explicit pair from the c=3 sign-split certificate is

| name | permutation | minus signs |
|---|---|---|
| `u` | `(0 2)(4 6)` | coordinates 0 and 2 |
| `v` | `(0 4)(2 6)` | coordinates 0 and 4 |
| `uv` | `(0 6)(2 4)` | coordinates 0 and 6 |

The mask of `u` is 5 and the mask of `v` is 17. These even signs are one legal
opposite-cycle pattern: each 2-cycle is uniformly signed, and the two cycles
carry opposite signs. The odd signs of this pair are all positive. On the
trivial character, `X_3` has joint traces `-48, 16, 16, 16` in the eigenvalue
order `((+1,+1), (+1,-1), (-1,+1), (-1,-1))`. The verifier recomputes that row,
and the other published weight rows, before any sign is changed.

## One odd minus

Let `D` be the diagonal sign that is `-1` only on coordinate 1. Set
`u' = u ∘ D`, with `D` applied first. The permutation of `u'` is still
`(0 2)(4 6)`. Its minus signs are coordinates 0, 1, and 2, so the mask is 7.
The product `u' v` is still `(0 6)(2 4)`, now with mask 67. Both operators are
involutions, they commute, they commute with every element of `H`, they fix
sector 3, and `X_3` commutes with every element of the group they generate.
The group is the same set of 64 signed permutations as the group generated by
the unvaried pair and `H`. In particular `u'` lies in the original coset `uH`.

The joint trace on the character `χ` and the eigenvalues `(ε, δ)` is

tr(X_3 P)
= (1/64) sum_{h in H} χ(h)
[tr(X_3 h) + ε tr(X_3 u' h) + δ tr(X_3 v h) + εδ tr(X_3 u' v h)].

As `h` runs through `H`, so does `Dh`. For the trivial character every
coefficient `χ(h)` equals `+1`, and `{u' h : h in H}` equals `{u h : h in H}`
as sets of 16 operators. The same holds for the product coset, because `D`
commutes with `v`. The four unweighted sums are therefore the sums already
computed for `(u, v)`. The trivial-character traces stay

| `(u', v)` eigenvalue | dimension | trace of `X_3` |
|---|---:|---:|
| `(+1, +1)` | 216 | -48 |
| `(+1, -1)` | 216 | 16 |
| `(-1, +1)` | 216 | 16 |
| `(-1, -1)` | 216 | 16 |

The value `-48` remains the trace on the eigenvalue `(+1, +1)`. The
`+1` eigenspace of `X_3` on that 216-dimensional space still has dimension
`(216 + (-48))/2 = 84`, and the `-1` eigenspace still has dimension 132.
Those dimensions are the same arithmetic as in the unvaried pair. This package
does not list a basis of either space.

The sign change is visible on another character. On the weight-1 character
that is `-1` on coordinate 1 and `+1` on coordinates 3, 5, and 7, the same
reindexing multiplies the `u`-eigenvalue by `χ(D) = -1`. The traces move from
`(36, -12, -12, -12)` to `(-12, -12, 36, -12)`, and the dimension 180 moves
from `(+1, +1)` to `(-1, +1)`. The value `-48` does not occur among those four
traces. The weight-1 character that is `-1` only on coordinate 3 is `+1` on
`D`, and its traces stay `(36, -12, -12, -12)`.

The coordinate trace of `u'` is 2, while the coordinate trace of `u` is 4, so
`u'` is not the same operator as `u` on the whole block. The agreement on the
trivial character is the character average, not an unchanged matrix.

## Every odd sign on this u

The same identity applies to every diagonal sign supported on
`{1, 3, 5, 7}`. There are `2^4 = 16` such signs: one for each subset. The
empty subset is the unvaried pair. The other 15 are the odd-sign patterns on
this `u`, with `v` held at mask 17 and with the even minus signs held on
coordinates 0 and 2. Each pattern preserves the permutation `(0 2)(4 6)`,
keeps the product permutation `(0 6)(2 4)`, and uses the same 64 operators.
On the trivial character, all 16 patterns have `X_3` traces
`-48, 16, 16, 16` in the same eigenvalue order. For every character `χ`, the
traces and dimensions equal the unvaried traces and dimensions at eigenvalue
`(ε χ(D), δ)`.

That is the complete list of odd signs that can be added to this `u` without
changing its even signs. The verifier checks the signed-permutation identity,
the fresh address trace of every element, and the joint formula, for every
pattern and every character.

## What is not claimed

The argument uses this query, Bell block 3, the operator `X_3`, the group
`H`, the permutations of the explicit pair, and odd signs added to `u` only.
It does not change the mask of `v`. It does not evaluate the other legal
even-cycle pattern on the same permutation, the pattern with minus signs on
coordinates 4 and 6. Flipping the sign on the single even coordinate 0 is a
different operation: that signed permutation still preserves the query, and
it sends sector 3 to 470, so it is not an endomorphism of this block.

The degree-16 polynomial of a weight-4 summand, and the question of whether a
nontrivial odd-sign pattern splits that polynomial, are untouched. The
characteristic polynomial of the 84-dimensional `X_3 = +1` subspace is
untouched. No trace of `Z_508` was recomputed. A trace that stays equal to
`-48` on one joint space does not say that every cross-coset pair has this
trace, and it does not say that no other mask can move it. The selected
conditional kappa is unchanged.

The rejection controls are part of the verifier, not part of the theorem. The
identity trace on the same 216-space is 216. Dropping one sign whose
contribution to the `(+1, +1)` numerator is nonzero does not reproduce `-48`.
Translation by 1 does not commute with the mask-7 representative. The
coordinate transposition `(0 1)` is not a symmetry of the query.
126 changes: 126 additions & 0 deletions research/c3-odd-sign-trace-slot/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
# An odd minus on u keeps the X_3 trace -48

Prepared by unpaidmoon with substantial Cursor Grok assistance. Apache-2.0.

On the explicit c=3 pair from the sign-split certificate, `X_3` has trace
`-48` on the trivial `(+1, +1)` joint space. Adding the minus sign on
coordinate 1 to `u`, and leaving `v` and the even signs unchanged, keeps that
trace on the eigenvalue `(+1, +1)`. The same holds for every odd sign added
to this `u`. The selected conditional kappa stays `781451/250000000`.
[PROOF.md](PROOF.md) separates the trace-formula proof from the facts that
are not claimed.

## Result

The live input is the query pinned in [SOURCES.json](SOURCES.json), SHA256
`5c6c51fbffc07a683e922f17532fd90262ae9e23cc3560a696002073dd234ef3`.
The unvaried pair is

u = (0 2)(4 6) with minus signs on coordinates 0 and 2,
v = (0 4)(2 6) with minus signs on coordinates 0 and 4.

Its product is `(0 6)(2 4)` with mask 65. The assigned variation is the
composition of `u` with the diagonal sign on coordinate 1. The new mask is 7,
the product permutation is unchanged, and the product mask is 67.

On the trivial character, the four joint traces of `X_3` remain
`-48, 16, 16, 16` for eigenvalues
`(+1,+1), (+1,-1), (-1,+1), (-1,-1)`. The value `-48` remains on
`(+1, +1)`. That space still has dimension 216, so the `X_3` eigenvalues
there are still dimensions 84 and 132. The same four traces occur for all 16
diagonal signs supported on `{1, 3, 5, 7}`, with this `v` and these even
signs held fixed. The verifier enumerates those 16 signs, the 16 characters
of `H`, and all 512 addresses.

The sign change moves a different trace. On the weight-1 character that is
`-1` on coordinate 1, the trace 36 and the dimension 180 move from
`(+1, +1)` to `(-1, +1)`. The value `-48` does not occur on that character.
The weight-1 character supported on coordinate 3 keeps the unvaried row
`(36, -12, -12, -12)`.

This is a proof. The address counts are exhaustive on 512 elements, once by
enumeration and once by an affine solve, and the two counts agree. The odd
signs are all `2^4` subsets of the four odd coordinates. It is not a stopped
search, and it is not a claim about every cross-coset pair.

## Scope

Catalogue card `formal-interface-lemma` asks for a formal interface binding.
The live question is open question 2 of
[PR #7020](https://github.com/CrocSwap/integer-mult-bounds/pull/7020),
recorded in discussion comment
[19514155](https://github.com/CrocSwap/integer-mult-bounds/discussions/1166#discussioncomment-19514155).
The first step named there is to repeat the trace with one odd minus sign
added to `u`. The masks and the unvaried pair come from
[PR #6965](https://github.com/CrocSwap/integer-mult-bounds/pull/6965).

This package does not redo the payload-involution split. It does not compute
the characteristic polynomial of the 84-dimensional subspace, and it does not
factor the degree-16 weight-4 polynomial of
[PR #7021](https://github.com/CrocSwap/integer-mult-bounds/pull/7021).
The mask of `v` stays 17. The other legal even-cycle pattern, minus signs on
coordinates 4 and 6, is not evaluated.

Selected-baseline orientation returned `PASS_RESEARCH_BASELINE_BINDINGS_ONLY`
for kappa `781451/250000000`.

## Reproduce

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

```sh
python3 -B -W error research/c3-odd-sign-trace-slot/verify.py
python3 -B -O research/c3-odd-sign-trace-slot/verify.py
python3 -B scripts/research_package.py --package research/c3-odd-sign-trace-slot --check-only
```

The direct marker is `PASS_C3_ODD_SIGN_TRACE_SLOT`. Acceptance uses explicit
checks, so `-O` does not skip them. On the measured host the direct run takes
about two seconds. No Lean, Docker, degree-881 coefficient replay, or
selected cold replay was run.

## Overlap

`scripts/find_overlap.py` was refreshed on 2026-11-10 against upstream
`17469fff78c22941280f04d39dc5a1faee09c840`. Coverage: local notes 10178 of
10178 HEAD paths, complete; 339 open PRs, pagination complete, fetched
2026-11-10T10:28:46Z; 7013 discussion records, pagination complete, fetched
2026-11-10T10:29:46Z. Closed PRs were searched through local READMEs, task
metadata and the ledger only. The search terms were `trace -48`,
`odd minus`, and `cross-coset`.

The matches are the predecessor statements and one unrelated use of the words
"cross-coset". PR #7020 records the trace `-48` and leaves other cross-coset
sign patterns unevaluated. PR #7021 asks whether a nontrivial odd-sign pattern
splits a degree-16 weight-4 polynomial; that polynomial is not this trace.
No open PR body reports the joint trace of `X_3` after an odd sign is added
to this pair. This search is not a novelty certificate.

## Open next questions

The structured list is in [TASK.json](TASK.json).

- One odd minus added to `v`, with the mask of `u` held at 5, was not
evaluated. The reindexing above uses a sign added to `u`. The smallest
check is the same joint formula with the minus on coordinate 1 added to
`v` instead.
- The other legal even-cycle pattern on `(0 2)(4 6)`, with minus signs on
coordinates 4 and 6 and no odd minuses, was not evaluated. It is one of
the 32 stabilizer patterns of PR #6965, and it is not an element of `H`.

## Credit

The explicit pair, the free odd signs, and the joint-dimension table are the
certificate in upstream PR #6965. The trace `-48`, the 84+132 split, and the
question answered here are upstream PR #7020, head
`6025743bc95e096845af0962ba0c4c37cce89c4e`. Krzysztof Wojt's
`research/exact-one-slot-gram/` defines `X_3`. Ali Romman's #4958 and #4720
retain the query and the Bell action. Nick Petalas's #5120 is the degree-410
lower bound. JoyboyBrian's handoff recorded the sign-character dimensions.
The doubled representation comes from #1719. New work is Apache-2.0.

## Workflow feedback

The named open question fixed the masks and named the one sign to add, so
the trace stayed a sum over the existing group of 64 operators.
https://github.com/CrocSwap/integer-mult-bounds/discussions/1200
36 changes: 36 additions & 0 deletions research/c3-odd-sign-trace-slot/SOURCES.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"schema_version": 1,
"base_commit": "17469fff78c22941280f04d39dc5a1faee09c840",
"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/c3-centre-sign-split/PROOF.md",
"usage": "provenance",
"git_blob": "8da44a79e0e3f7d3cfcd7ebb8c46cc46146a9869",
"sha256": "6d9446760eb90201b96a73c78a04fdc0320c0c3973dc9d96f05a7fd135a45558"
},
{
"path": "research/centre-polynomial-cache-limits/frozen/work/centre-encoding-campaign-20261014/lanes/circuit-interface/INTERFACE.json",
"usage": "input",
"git_blob": "4201e9a04c12273b919e2cae60a6b6482c8150f3",
"sha256": "5c6c51fbffc07a683e922f17532fd90262ae9e23cc3560a696002073dd234ef3"
},
{
"path": "research/exact-one-slot-gram/PROOF.md",
"usage": "provenance",
"git_blob": "91854803c13d19d7962aafedf37aca0004827514",
"sha256": "30ccfa6d6623313a3c73c7107b7d9c3872eeffc07d2062e7e9b797162585e9b4"
}
]
}
Loading