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
212 changes: 212 additions & 0 deletions research/c3-x3-plus-charpoly/PROOF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
# Characteristic polynomial of the 84-dimensional X_3=+1 subspace

This is a finite exact computation for one invariant subspace of Bell block
`c=3` of the historical one-slot doubled centre operator. It is not a new
minimal polynomial of the full operator, not a change of the selected
conditional kappa, and not a census of payload involutions outside the named
pair.

The claim is a **proof**. The coordinate set has 4096 elements. The basis
below classifies every coordinate. The characteristic polynomial is an exact
determinant, the factorisation is checked by multiplication and an exhaustive
integer search, and the minimal polynomial is identified by an exact
annihilator. None of these steps is a stopped search.

## Operator

The input is the 8-by-112 query in `INTERFACE.json`, SHA256
`5c6c51fbffc07a683e922f17532fd90262ae9e23cc3560a696002073dd234ef3`.
Its columns lie in `{-1,0,1}^8`, each has weight 4, the 112 port labels are
distinct odd-weight vectors in `F_2^9`, and `R R^T = 56 I_8`.

On `Q^8 ⊗ Q[F_2^9]`, of dimension 4096, the `c=3` block and its integer form are

```text
A_1 = (1/4) sum_q r_q r_q^T ⊗ P_q(3),
B = 4 A_1 = sum_q r_q r_q^T ⊗ P_q(3).
```

`P_q(3)` sends `e_a` to `e_{a+q}` when the `F_2` dot product `q·3` equals 1,
and to `(-1)^{q·a} e_a` otherwise. Basis index `i*512+a` means query
coordinate `i` and address `a`.

Krzysztof Wojt's `research/exact-one-slot-gram/` gives the minimal polynomial
of the full one-slot operator, of degree 881. This note does not replay that
certificate. It uses the two published `c=3`, `s=+1` sector coefficient lists
only for the divisibility comparison below. Those lists are the degree-126
polynomials for `(t,s) = (0,+1)` and `(1,+1)`.

## The subspace

`H` is the order-16 group of diagonal signs that are positive on the even
coordinates `{0,2,4,6}` and arbitrary on the odd coordinates `{1,3,5,7}`.
The explicit pair from the c=3 sign-character certificate is

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

Each element is rebuilt from the query as a signed coordinate permutation.
All 64 products are symmetries, they fix sector 3, and `u` and `v` are
commuting involutions. The payload involution `X_3` translates every address
by 3 and fixes the eight coordinates. It commutes with all 64 products and is
not equal to any of them. `Z_508` is the diagonal character of `3 xor 511`.

Let `V` be the set of vectors fixed by every element of `H`, by `u`, and by
`v`, and fixed by `X_3`. This is the `X_3 = +1` subspace of the trivial
`(+1,+1)` joint space. The same equations without `X_3` have an explicit
basis of dimension 216. The trace of `X_3` on that 216-space, computed as the
average of the address-and-coordinate traces of `X_3 g` over the 64 group
elements, is `-48`. The projector onto `V`, averaged over the order-128 group
generated by `H`, `u`, `v`, and `X_3`, has trace 84. The explicit basis of the
same equations also has dimension 84, and the `X_3 = -1` equations have
dimension 132. Imposing `v = -1` instead of `v = +1`, with `X_3 = +1`,
produces dimension 116, so the basis is the `(+1,+1)` joint eigenvalue rather
than one of the other three.

The basis is canonical. The equations `v_{ρ(j)} = σ_j v_j`, as `ρ` runs
through the 64 group elements and through `X_3`, partition the coordinates
that are not forced to zero. In each component the representative is the
least index, its coefficient is `+1`, and every other coefficient is the
unique sign forced by the equations. Components are ordered by increasing
representative. The basis is stored in `evidence/basis.json`. Support sizes
are exactly 8, 32, and 64.

`Z_508` preserves `V` and splits it into dimensions 42 and 42, for eigenvalues
`+1` (`t=0`) and `-1` (`t=1`).

## The matrix

`B` preserves `V`. Two independent expansions, one by the 4096 columns and
one by the 112 ports, agree on every basis vector of `V` and of both
`Z_508` eigenspaces. In the ordered basis, the matrix `M` of `B` has integer
entries in `-28..28`. It is stored in `evidence/matrix.json`. If `size_r` is
the support of the `r`-th basis vector, then `size_r M_{r s} = size_s M_{s r}`.

The trace of `M` is 0. The same trace is the average of `tr(B g)` over the
order-128 group, so the matrix trace agrees with the trace formula. The two
`Z_508` blocks have traces 168 and -168.

The matrix of `A_1` on `V` is `M/4`.

## Characteristic polynomial

Let `chi_B(x) = det(x I - M)` and `chi_{A_1}(x) = det(x I - M/4)`. Then
`chi_{A_1}(x) = 4^{-84} chi_B(4x)`, and both polynomials are monic of degree
84 in `Z[x]`. The SHA256 hex digests of the JSON arrays of ascending
coefficients are

```text
chi_A c4bcbd4e52f92d13f3ad451d92c9d22256e7725e4be24ee203bea1c96c129648
chi_B 185b51cfd084f95c1dbd814b0b211ce4ab35b2d59604d7795715d65a0a4e5e65
```

The irreducible factorisation over `Z` is

```text
chi_{A_1}(x) =
x^16
* (x - 14)
* (x - 12)
* (x - 4)^6
* (x - 2)^14
* (x + 2)^14
* (x + 4)^6
* (x + 12)
* (x + 14)
* (x^4 - 16x^2 - 8x + 16)^2
* (x^4 - 16x^2 + 8x + 16)^2
* (x^4 - 12x^3 + 20x^2 + 32x - 32)
* (x^4 + 12x^3 + 20x^2 - 32x - 32).
```

The two `Z_508` blocks have

```text
t = 0:
x^8 (x - 14) (x + 12) (x - 4)^6 (x + 2)^6 (x - 2)^8
* (x^4 - 12x^3 + 20x^2 + 32x - 32)
* (x^4 - 16x^2 + 8x + 16)^2

t = 1:
x^8 (x - 12) (x + 14) (x - 2)^6 (x + 4)^6 (x + 2)^8
* (x^4 + 12x^3 + 20x^2 - 32x - 32)
* (x^4 - 16x^2 - 8x + 16)^2.
```

Their product is `chi_{A_1}`. Every irreducible factor of `chi_B` divides at
least one of the two published degree-126 minimal polynomials of the `c=3`,
`s=+1` sectors in `research/exact-one-slot-gram/CERTIFICATE.json`. The hits
are recorded by `SECTOR_HITS` in `verify.py`. Those two polynomials are among
the sector polynomials whose monic LCM is the degree-881 minimal polynomial
of `B` in that certificate. This comparison reads coefficients. It does not
recompute the LCM and it does not replay the degree-881 certificate.

The degree-4 factors are irreducible over `Z`: the rational-root theorem
gives no root, and an exhaustive search of integer pairs `(b,d)` with
`bd` equal to the constant term finds no quadratic factorisation. The search
does reject `(x^2+1)^2`, so the negative test is not vacuous. Linear factors
are irreducible because they have degree 1.

## Minimal polynomial and rational eigenvalues

Every irreducible factor of a characteristic polynomial divides the minimal
polynomial. The square-free product of the factors above has degree 25. The
corresponding monic integer polynomial in `B`, obtained by sending each
factor `f(x)` of degree `d` to `4^d f(y/4)`, evaluates to the zero matrix on
`M`. Therefore that degree-25 polynomial annihilates `A_1` on `V`, and it is
the minimal polynomial of `A_1` on `V`. The same argument on each 42-by-42
block shows that the square-free part of that block's characteristic
polynomial, of degree 14, is the minimal polynomial of the block.

On this matrix, each rational eigenvalue of `A_1` has geometric multiplicity
equal to its algebraic multiplicity. For eigenvalue `λ`, the verifier
exhibits `m` integer vectors in the kernel of `M - 4λ I`, checks that each
image is zero, and checks that their free coordinates form a diagonal
submatrix, so they are independent. The algebraic multiplicity is an upper
bound, so the geometric multiplicity is exactly `m`:

| eigenvalue of `A_1` | multiplicity |
|---:|---:|
| 0 | 16 |
| 2 and -2 | 14 each |
| 4 and -4 | 6 each |
| 12 and -12 | 1 each |
| 14 and -14 | 1 each |

These nine eigenvalues account for 60 of the 84 dimensions. The remaining 24
dimensions belong to the four quartic factors. Because each repeated quartic
occurs to the first power in the minimal polynomial and to the second power
in the characteristic polynomial, its primary part is two companion blocks of
degree 4. Each simple quartic is one companion block of degree 4. Each
rational eigenvalue is a diagonal of 1-by-1 blocks. This is the rational
canonical form of `A_1` on `V`. The package does not list cyclic generators.

## Verification

`verify.py` uses CPython 3.12 and the standard library. It rebuilds the
matrix from the query, computes each characteristic polynomial by the
Hessenberg recurrence modulo primes whose product exceeds twice the
Gershgorin binomial coefficient bound, and lifts by the Chinese remainder
theorem. Determinants of `tI-M` at `t=0,1,2,3,5` agree with that polynomial
modulo the first prime.

Rejection controls refuse the coordinate transposition `(0 1)`, the `c=1`
block operator on this subspace, translation by 1 in place of `X_3`, a
flipped group sign that still claims dimension 84, a one-entry change of `M`
that preserves the polynomial modulo `1000003`, a missing factor, and a
one-coordinate sign error in a linked basis vector.

Not run: Lean, Docker, the degree-881 coefficient replay, and the selected
cold replay. Selected-baseline orientation returned
`PASS_RESEARCH_BASELINE_BINDINGS_ONLY` for kappa `781451/250000000`.

## What this does not say

An 84-dimensional invariant subspace does not replace the degree-881 minimal
polynomial. The selected conditional kappa stays `781451/250000000`. The
polynomial is for this query, this sign group, this explicit pair, and the
eigenvalue `X_3 = +1`. It does not compute the 132-dimensional complement, and
it does not move the odd signs on the pair. A factor that divides a published
sector polynomial is not a new factor of the degree-881 polynomial.
139 changes: 139 additions & 0 deletions research/c3-x3-plus-charpoly/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
# Characteristic polynomial of the 84-dimensional X_3=+1 subspace

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

For the historical 8-by-112 centre query, the trivial `(+1,+1)` joint space of
the explicit c=3 pair has dimension 216. The payload involution `X_3` cuts it
into dimensions 84 and 132. On the 84-dimensional eigenvalue-`+1` subspace,
the monic characteristic polynomial of `A_1` in characteristic zero is the
explicit degree-84 polynomial in [PROOF.md](PROOF.md). Its minimal polynomial
has degree 25 and is the product of the distinct irreducible factors.

No new kappa. The selected conditional kappa stays `781451/250000000`.

## Result

Write `B = 4 A_1` on the `c=3` block. On this subspace,
`chi_{A_1}(x) = 4^{-84} chi_B(4x)`, and both polynomials lie in `Z[x]`.
The irreducible factorisation is

```text
x^16 (x-14) (x-12) (x-4)^6 (x-2)^14 (x+2)^14 (x+4)^6 (x+12) (x+14)
* (x^4 - 16x^2 - 8x + 16)^2
* (x^4 - 16x^2 + 8x + 16)^2
* (x^4 - 12x^3 + 20x^2 + 32x - 32)
* (x^4 + 12x^3 + 20x^2 - 32x - 32)
```

Ascending coefficient SHA256 values are

```text
chi_A c4bcbd4e52f92d13f3ad451d92c9d22256e7725e4be24ee203bea1c96c129648
chi_B 185b51cfd084f95c1dbd814b0b211ce4ab35b2d59604d7795715d65a0a4e5e65
```

The basis is the least-index signed orbit basis of the joint equations for
`H`, `u`, `v`, and `X_3 = +1`, pinned in
[evidence/basis.json](evidence/basis.json). The integer matrix of `B` in that
basis is pinned in [evidence/matrix.json](evidence/matrix.json). Its entries
lie in `-28..28`, and its trace is 0.

`Z_508` splits the same 84-space into dimensions 42 and 42. The
characteristic polynomial of the `t=0` block is

```text
x^8 (x-14) (x+12) (x-4)^6 (x+2)^6 (x-2)^8
* (x^4 - 12x^3 + 20x^2 + 32x - 32)
* (x^4 - 16x^2 + 8x + 16)^2
```

and the `t=1` block is

```text
x^8 (x-12) (x+14) (x-2)^6 (x+4)^6 (x+2)^8
* (x^4 + 12x^3 + 20x^2 - 32x - 32)
* (x^4 - 16x^2 - 8x + 16)^2.
```

Every irreducible factor of `chi_B` divides a published `c=3`, `s=+1` sector
minimal polynomial from `research/exact-one-slot-gram/CERTIFICATE.json`.
Those two degree-126 polynomials are part of the certificate whose monic LCM
is the degree-881 minimal polynomial of `B`. The comparison reads
coefficients. It does not replay the degree-881 certificate.

Each rational eigenvalue of `A_1` on this matrix has geometric multiplicity
equal to its algebraic multiplicity: 16 for 0, 14 for each of `±2`, 6 for
each of `±4`, and 1 for each of `±12` and `±14`.

## Scope

Catalogue card `formal-interface-lemma` asks for a formal interface binding.
The live question is open question 1 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).
That pull request proves the trace split and states that the trace formula
does not list a vector. This package builds the basis and computes the
polynomial.

It does not redo the payload-involution split, the signed-permutation
classification, the 16-dimensional or 12-dimensional c=3 polynomials, or the
216-dimensional c=1 polynomial. It does not change the odd signs on the pair.

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-x3-plus-charpoly/verify.py
python3 -B -O research/c3-x3-plus-charpoly/verify.py
python3 -B scripts/research_package.py --package research/c3-x3-plus-charpoly --check-only
```

The marker is `PASS_C3_X3_PLUS_CHARPOLY`. Acceptance uses explicit checks, so
`-O` does not skip a theorem or a rejection control. On the measured host one
run takes about five seconds. No Lean, Docker, degree-881 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:24:45Z; 7013 discussion records, pagination complete, fetched
2026-11-10T10:25:50Z. Closed PRs were searched through local READMEs, task
metadata and the ledger only.

The phrase `84-dimensional` matches open PR #7020, which records the
dimension and says the characteristic polynomial is uncomputed, and open PR
#7009, whose `84` is a c=1 character dimension. No open PR body gives this
polynomial. This search is not a novelty certificate.

## Open next questions

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

- The characteristic polynomial of the 132-dimensional `X_3 = -1` complement,
inside the same trivial `(+1,+1)` joint space, is still uncomputed. The
same basis routine applies with the opposite eigenvalue. The published
comparison for that half is the pair of degree-88 sector polynomials.
- One 66-dimensional intersection of that complement with a single eigenvalue
of `Z_508` is the smaller block. Its polynomial is not determined by the
degree-84 factorisation above.

## Credit

JoyboyBrian's handoff recorded the sign-character dimensions. The explicit
pair and the signed-permutation boundary are upstream PR #6965. The trace
`-48`, the dimensions 84 and 132, and the open polynomial question are
upstream PR #7020. Ali Romman's PR4958 and PR4720 retain the query and the
Bell action. Nick Petalas's PR5120 is the degree-410 lower bound. Krzysztof
Wojt's exact one-slot package defines `X_3` and `Z_508` and is the degree-881
annihilator and the sector coefficient list used for the divisibility
comparison. The doubled representation comes from PR1719. The 216-dimensional
c=1 polynomial in `research/a1-joint-216-charpoly/` is a different block; its
Hessenberg recurrence is the model for the determinant. New work is
Apache-2.0.
30 changes: 30 additions & 0 deletions research/c3-x3-plus-charpoly/SOURCES.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"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/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/CERTIFICATE.json",
"usage": "input",
"git_blob": "96c3dc7a8bca73fb35b8a9ec49a17856308a029d",
"sha256": "29e0b0d86c7fd8929ad36d9de48c2b8b55500491576dc5ac1d0b1ff076d27483"
}
]
}
Loading