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
23 changes: 23 additions & 0 deletions research/spd-dirty-circuit-witness/NOTICE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Attribution and frozen source

New proof, degree adapter, literal replay and checks: Ali Romman, with substantial
OpenAI Codex assistance. Apache-2.0.

The two files in vendor and wrong-order.json are unchanged copies from
[PR #5235](https://github.com/CrocSwap/integer-mult-bounds/pull/5235), head
`48976daa4dce59b4867ef046da72a370e389925d`. The source is prepared for zxv with
substantial OpenAI Codex assistance, under Apache-2.0. This PR is pending and
is not part of our main base. SOURCES.json records each original path, Git blob
and SHA256, and binds the retained copies to an ancestor in this publication
history. The original proof and README are also retained in vendor. The replay
checks the copied runtime bytes; metadata checks bind all retained sources. References inside the unchanged
vendor files refer to the predecessor's proof, not to a claim of our authorship.

Retain its weighted-automata/PIT credit to Stefan Kiefer and Ran Raz / Amir
Shpilka. The echo lineage credits androolloyd, Chafik Boukhalfa / chafreaky
[PR #628](https://github.com/CrocSwap/integer-mult-bounds/pull/628), and Ali Romman
[PR #621](https://github.com/CrocSwap/integer-mult-bounds/pull/621).
The source also retains Cinna Davis, ToikY, Sagar Thakrar, roger-sato, Charles
Bethin, Ross Richardson and the wider dirty-phase/tensor lineage. Their results
are not new results of this package. No identities are inferred from a PR's
submitter account. The source README and proof are pinned provenance.
108 changes: 108 additions & 0 deletions research/spd-dirty-circuit-witness/PROOF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Positive-definite separation of complete dirty circuits

## Statement

Use the complete linear register grammar from zxv's [PR #5235](https://github.com/CrocSwap/integer-mult-bounds/pull/5235),
head `48976daa4dce59b4867ef046da72a370e389925d`. All input and returned roles
are independent. Coefficients are central elements of Q or Q(i). Symbols have
no inverse, commutation, Clifford or other relations. Compare two finite
programs, or compare one program with an explicit polynomial endpoint.

Let F be their matrix of noncommutative polynomial differences. If F is
nonzero, let D be the largest word degree with a nonzero coefficient in any
entry. For every rational 0 < e <= 1/4, there are real symmetric rational
matrices A_a of dimension D+1 such that:

- every spectrum is contained in [1-2e,1];
- each matrix is positive definite, has operator norm at most 1, and has
spectral condition number at most 1/(1-2e) <= 2;
- the literal complete endpoint difference is nonzero for one input role
equal to a coordinate vector and all other roles equal to zero.

Thus identity on this class, in every payload dimension, is equivalent to
free-polynomial identity. Taking e arbitrarily small also gives witnesses
arbitrarily close to I in operator norm. This statement gives no lower bound
on numerical detectability. The nonzero discrepancy can be exponentially small.

## Construction and proof

Choose an entry (o,i) and a degree-D word w=a_1...a_D with coefficient c != 0.
Number the path vertices 0,...,D. Let S_a contain both symmetric entries
(j-1,j) and (j,j-1) exactly when a_j=a. All other entries are zero. Put

A_a = (1-e)I + (e/2) S_a.

Each S_a is real symmetric and has absolute row sum at most 2. For every real
vector x, the inequality 2|x_j x_k| <= x_j^2+x_k^2 gives
|x^T S_a x| <= 2||x||_2^2. The spectral interval for A_a is therefore
[1-2e,1]. The same statement applies on complex payload space.

In a product of k <= D such matrices, a path from vertex 0 to vertex D must
make D steps. Each factor can stay at its vertex or move one edge. If k<D,
the (0,D) entry is zero. If k=D, each factor must move forward exactly once.
It can do so only when its letter is the corresponding letter of w. Hence

F_(o,i)(A)_(0,D) = c (e/2)^D != 0.

There are no terms of degree greater than D. Set input i to the last basis
vector and all other inputs to zero. The first coordinate of returned role o
is exactly this discrepancy. D=0 uses a one-dimensional space; every A_a is
(1-e)I and the discrepancy is c. This proves the claim for both coefficient
fields. The generators themselves are real in either case.

The maximum degree is essential for this construction. For F(X)=X-3I/4,
the shortest nonzero word is the constant word. Its one-dimensional shifted
path is X=3I/4 and gives zero. The degree-one construction gives discrepancy
1/8 at e=1/4. The verifier checks this distinction.

## Extract the degree without expanding words

Retain the predecessor's exact acyclic coefficient machine. Let N be its
state count, U_o the initial row for output o, T_a its transitions, and V its
terminal map to input roles. A word coefficient is U_o T_w V. Every transition
strictly decreases the state index. Thus all products of N transitions vanish.

For each d, form a basis B_d of the span of all rows U_o T_w with |w|=d.
Use the original reachable rows as the basis vectors and retain their output
and word. Begin with the initial rows at d=0. Apply every T_a to B_d and use
exact elimination to select B_(d+1). Induction proves that these rows span
exactly the length-d reachable space. A nonzero degree-d coefficient exists
if and only if some selected row has a nonzero terminal projection. Keep a
nonzero projection at the last such degree. This returns an actual word and
coefficient, not a linear combination of words.

The implementation does not merge bases from different degrees. The source
compiler has N=2r+q_left+q_right states; an explicit target contributes the
sum of its displayed term lengths in place of q_right. We use at most N
layers, at most N basis rows per layer, and at most |alphabet| N candidates
per later layer. Straight exact elimination needs O(|alphabet| N^4) field
operations. This is an arithmetic bound, not a bit-complexity or wall-time
claim. D is at most the maximum unary dependency depth and at most N-1.

If all projections vanish, the argument proves equivalence. The exported
negative-witness checker deliberately accepts only nonzero literal witnesses;
use the predecessor's separate certificate checker for positive certificates.
The new checker does not rely on the producer's degree computation: it builds
the prescribed symmetric path action and executes the original program and
its reference or target separately. It checks the predicted nonzero output.

## Credit, evidence and limits

The path separation argument is an elementary constructive specialization of
free-algebra evaluation. No global literature priority or new general PIT
algorithm is claimed. The source compiler and exact scalar code are retained
byte-for-byte from zxv. Its weighted-automata foundation credits Stefan Kiefer,
[Notes on Equivalence and Minimization of Weighted Automata](https://arxiv.org/abs/2009.01217),
and Ran Raz and Amir Shpilka,
[Deterministic Polynomial Identity Testing in Non Commutative Models](https://www.cs.tau.ac.il/~shpilka/publications/RazShpilka_PIT.pdf).
The new contribution is the quantified SPD/conditioning interface, exact-degree
adapter, and independently transcribed literal diagnostic. See NOTICE.md for
retained project credit and SOURCES.json for exact pending-predecessor pins.

The source-bound wrong-order echo and random finite checks corroborate the
written proof. They do not replace its quantified argument. Python, exact
scalar arithmetic, source transcription and the mathematical proof remain in
the trust base. No independent human or proof-kernel acceptance is claimed.
No native-relation realization, nonlinear or rounded leaf, physical operation
count, complete multiplication theorem, supplier admission or new kappa is
proved. The selected frontier is unchanged.
65 changes: 65 additions & 0 deletions research/spd-dirty-circuit-witness/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Well-conditioned positive-definite circuit counterexamples

Every failed complete dirty linear identity over Q or Q(i), with independent
operator symbols, has a counterexample using real symmetric positive-definite
contractions. The construction has dimension D+1, where D is the largest
nonzero coefficient degree. Every spectrum lies in [1/2,1], so every generator
has condition number at most 2. A rational parameter also places all generators
arbitrarily close to I. [PROOF.md](PROOF.md) gives the quantified statement.

This strengthens the negative diagnostic in zxv's
[PR #5235](https://github.com/CrocSwap/integer-mult-bounds/pull/5235).
Conditioning or positivity alone cannot repair a false independent-symbol
identity. Native inverse, commutation or Clifford relations can still exclude
the counterexample. The complete kappa calculation is unchanged.

[witness.py](witness.py) uses exact-length reachable spaces to find a top-degree
word without expanded words. [literal.py](literal.py) separately executes every
register operation under the prescribed matrices. It retains all dirty input
and returned roles, including self-source queries. It checks negative witnesses
only. Positive certificates retain the predecessor's separate checker.

## Evidence and replay

Requires CPython 3.12 and the standard library:

```sh
python3.12 -B scripts/research_package.py --package research/spd-dirty-circuit-witness
python3.12 -I -B research/spd-dirty-circuit-witness/witness.py research/spd-dirty-circuit-witness/wrong-order.json
```

Expected registered output: `PASS_SPD_DIRTY_WITNESS` in normal and optimized
modes. [RESULT.json](RESULT.json) records exact counts and source hashes.
The replay includes 240 expanded-word differential circuits over Q and Q(i),
literal matrix actions, 96 spectral-enclosure fixtures, fifteen control groups,
and the source's complete wrong-order echo. The (X+Y)^64 stress circuit has
2^64 top words; the adapter retains small exact-length spaces and returns a
65-dimensional rational witness. Finite checks support the written proof;
no independent human or formal proof-kernel acceptance is claimed.

The package starts at main ff3cc58e370d0f678e529246f8c73e8094e18fcf, priority
revision 7. Two vendor files and the example are frozen copies from pending
head 48976daa4dce59b4867ef046da72a370e389925d. [SOURCES.json](SOURCES.json)
records original upstream locations and pins the exact retained copies in this
publication history. The original proof and attribution are retained with the
compiler. No pending upstream Git object is required by a fresh checkout.
The first hosted replay failed before mathematical execution because that
pending Git object was absent. The source-history repair preserves all bytes
and all mathematical checks. No dependency is promoted to main.
The full-history wrapper was not run in the shallow checkout. No selected cold
replay, native/Lean/Docker run, physical implementation or kappa change is claimed.

## Open next questions

Can a specified native child family realize one such witness while retaining
its extra relations? First write its exact relations and test the labelled path
against each one. This matters because the current theorem permits independent
symbols; it does not prove failure inside a restricted native family. No such
relation-preserving substitution is supplied here. The inverse-aware frontend
claimed separately in Discussion #5236 remains outside this work.

## Credit

Prepared by Ali Romman with substantial OpenAI Codex assistance; Apache-2.0.
See [NOTICE.md](NOTICE.md) for the unchanged zxv compiler and scalar code,
classical weighted-automata/PIT credit, and retained echo/tensor lineage.
72 changes: 72 additions & 0 deletions research/spd-dirty-circuit-witness/RESULT.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
"controls": 15,
"files": {
"NOTICE.md": "0f1d9ac19527fb5d3176083e7b4540e1248d9ec96c00073c9e0d1461fa5f8453",
"PROOF.md": "b11c7bd44ceb7783e1e58d1f32e6a5c979f8be02b7ed91f7203a86cfbf7a19d9",
"README.md": "1df8ea3df8a2765aed1be207525ced7e682458b46ab8ba6bc106ab7a02c7c9f1",
"SOURCES.json": "ad1e637bafbf61a6fe9cf9d80528a1be9a55ee220e0a0424cd931d2d17baf481",
"TASK.json": "318d8c21d6b7b88793bdb34446a492598cfcca8b99107ee76c77108adf80a385",
"VERIFY.json": "d26d07c535953e4f972577c1e3b9a7bf58539254cb10661a0160876f465c4b3e",
"literal.py": "89f1b1e039119627ac512be9407e456fdb513adbe5104027a6d65865e1f598b9",
"vendor/UPSTREAM-PROOF.md": "ef4cfcfd65b1dde1f11eedace0ed90a1b47a2cc100daaf778fbecbff3ec685a7",
"vendor/UPSTREAM-README.md": "fb8d94a58b6c0448aa893e65f263b9d71639b1aa79cd10f054d0dc740a570dca",
"vendor/fields.py": "0829ad6ed3775ba6e3d11cf04cfb3513ac763549b730aaed74958b1238e660d7",
"vendor/linear_words.py": "fe825cf7c886de61bb5ec5a02171c5a392a7bddc185280726f4c359b3f289584",
"verify.py": "eed7802377767720f7f6a677d0d07e1d7889b0e3e567ee6a13831f1500a1c83d",
"witness.py": "ce52e13ba5fc038d484ced01c615e49172e0cd8eb3dd44d477f0aedbd8b2ee39",
"wrong-order.json": "137def9876c1195456a312b8c232d656ff063cc5caae645be6afc3d06709742c"
},
"fixtures": {
"differential_circuits": 240,
"equivalent_circuits": 48,
"literal_replays": 384,
"negative_circuits": 192
},
"source_example": {
"certificate": {
"coefficient": "1",
"dimension": 4,
"epsilon": "1/4",
"equivalent": false,
"input": 0,
"output": 1,
"problem_sha256": "d32cd250d576afa157b04f24b9583bec75b113fafddfc831a86079ce5e583ae9",
"schema": "spd-dirty-witness/v1",
"spectral_interval": [
"1/2",
"1"
],
"statistics": {
"alphabet": [
"A0",
"A1",
"A2"
],
"layer_dimensions": [
4,
2,
2,
2,
0
],
"states": 19
},
"word": [
"A2",
"A1",
"A0"
]
},
"discrepancy": "1/512"
},
"spectral_matrices": 96,
"stress": {
"degree": 64,
"dimension": 65,
"discrepancy": "1/6277101735386680763835789423207666416102355444464034512896",
"expanded_top_words": 18446744073709551616,
"maximum_layer_dimension": 2,
"states": 132,
"sum_layer_dimensions": 129
}
}
78 changes: 78 additions & 0 deletions research/spd-dirty-circuit-witness/SOURCES.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
"schema_version": 1,
"base_commit": "ff3cc58e370d0f678e529246f8c73e8094e18fcf",
"files": [
{
"path": "certificates/selected-result.json",
"usage": "provenance",
"git_blob": "c35482cd9035843b15a634cc8276a7e1e40e8395",
"sha256": "6fe0a099b89aa2aed796a13c3a21dafc63f3388ebf397464e44e0451893b9375"
},
{
"path": "docs/research/agent-task-catalog.json",
"usage": "provenance",
"git_blob": "f126dd2e2dad2b669e75d1d0d0bd05c600725602",
"sha256": "f7a48bfa2659b88378282a8eee7d9fe52cdf505594124c4d1686b58510fffd72"
},
{
"path": "research/spd-dirty-circuit-witness/vendor/fields.py",
"usage": "provenance",
"pin": "head:46bdee8dff4254afd2ed773e7f6c263156c6f84d:research/spd-dirty-circuit-witness/vendor/fields.py",
"git_blob": "f1b6dc83e26bd9fd9ec67ded3fedb330ef89598d",
"sha256": "0829ad6ed3775ba6e3d11cf04cfb3513ac763549b730aaed74958b1238e660d7",
"upstream": {
"commit": "48976daa4dce59b4867ef046da72a370e389925d",
"path": "research/universal-dirty-certificates/fields.py",
"url": "https://github.com/zxv/integer-mult-bounds/blob/48976daa4dce59b4867ef046da72a370e389925d/research/universal-dirty-certificates/fields.py"
}
},
{
"path": "research/spd-dirty-circuit-witness/vendor/linear_words.py",
"usage": "provenance",
"pin": "head:46bdee8dff4254afd2ed773e7f6c263156c6f84d:research/spd-dirty-circuit-witness/vendor/linear_words.py",
"git_blob": "4a877e1ab9a87a0f01eb13e28ddf309c2060bd5e",
"sha256": "fe825cf7c886de61bb5ec5a02171c5a392a7bddc185280726f4c359b3f289584",
"upstream": {
"commit": "48976daa4dce59b4867ef046da72a370e389925d",
"path": "research/universal-dirty-certificates/linear_words.py",
"url": "https://github.com/zxv/integer-mult-bounds/blob/48976daa4dce59b4867ef046da72a370e389925d/research/universal-dirty-certificates/linear_words.py"
}
},
{
"path": "research/spd-dirty-circuit-witness/vendor/UPSTREAM-PROOF.md",
"usage": "provenance",
"pin": "head:46bdee8dff4254afd2ed773e7f6c263156c6f84d:research/spd-dirty-circuit-witness/vendor/UPSTREAM-PROOF.md",
"git_blob": "3a405e327a7fd5d59a570d7f9920f1ce7f229a76",
"sha256": "ef4cfcfd65b1dde1f11eedace0ed90a1b47a2cc100daaf778fbecbff3ec685a7",
"upstream": {
"commit": "48976daa4dce59b4867ef046da72a370e389925d",
"path": "research/universal-dirty-certificates/PROOF.md",
"url": "https://github.com/zxv/integer-mult-bounds/blob/48976daa4dce59b4867ef046da72a370e389925d/research/universal-dirty-certificates/PROOF.md"
}
},
{
"path": "research/spd-dirty-circuit-witness/vendor/UPSTREAM-README.md",
"usage": "provenance",
"pin": "head:46bdee8dff4254afd2ed773e7f6c263156c6f84d:research/spd-dirty-circuit-witness/vendor/UPSTREAM-README.md",
"git_blob": "be4e5981e57bdd2aa8d2ba8c36479594cf38b5d2",
"sha256": "fb8d94a58b6c0448aa893e65f263b9d71639b1aa79cd10f054d0dc740a570dca",
"upstream": {
"commit": "48976daa4dce59b4867ef046da72a370e389925d",
"path": "research/universal-dirty-certificates/README.md",
"url": "https://github.com/zxv/integer-mult-bounds/blob/48976daa4dce59b4867ef046da72a370e389925d/research/universal-dirty-certificates/README.md"
}
},
{
"path": "research/spd-dirty-circuit-witness/wrong-order.json",
"usage": "provenance",
"pin": "head:46bdee8dff4254afd2ed773e7f6c263156c6f84d:research/spd-dirty-circuit-witness/wrong-order.json",
"git_blob": "85482942f052694a3a6d15d364d18823b51e1b00",
"sha256": "137def9876c1195456a312b8c232d656ff063cc5caae645be6afc3d06709742c",
"upstream": {
"commit": "48976daa4dce59b4867ef046da72a370e389925d",
"path": "research/universal-dirty-certificates/examples/wrong-order.json",
"url": "https://github.com/zxv/integer-mult-bounds/blob/48976daa4dce59b4867ef046da72a370e389925d/research/universal-dirty-certificates/examples/wrong-order.json"
}
}
]
}
Loading