@ceccec/millennium-solutions 9.3.2 → 9.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,12 +11,12 @@ last because the orbit never reaches it.
11
11
 
12
12
  ## 1 · What is proved
13
13
 
14
- - The formal layer holds 735 kernel-accepted declarations across 33 files, and no file uses sorry or native_decide outside a comment.
15
- <sub>SEALED · `70327bfe-a124-8316-8a39-2d90c7a2e3b5`</sub>
16
- - 629 of those 735 are THEOREMS by this deposit's own rule — they close by decide, which is to say the kernel evaluates the proposition over its whole finite domain rather than accepting a declaration; the remaining 106 close by rfl and are declarations.
17
- <sub>SEALED · `6a4db423-80e6-8296-a688-c52a7f375436`</sub>
18
- - 810 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
19
- <sub>SEALED · `9250535d-47e0-83a7-b331-bc1114e53b4a`</sub>
14
+ - The formal layer holds 816 kernel-accepted declarations across 33 files, and no file uses sorry or native_decide outside a comment.
15
+ <sub>SEALED · `03bb8fd7-8470-8985-b90f-d597fa390e42`</sub>
16
+ - 630 of those 816 are THEOREMS by this deposit's own rule — they close by decide, which is to say the kernel evaluates the proposition over its whole finite domain rather than accepting a declaration; the remaining 186 close by rfl and are declarations.
17
+ <sub>SEALED · `d27b2416-8049-8b5b-ac51-a8cefb31d7c2`</sub>
18
+ - 891 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
19
+ <sub>SEALED · `f09699de-82af-8255-ace6-52cc69755a6f`</sub>
20
20
 
21
21
  ## 2 · The ring
22
22
 
@@ -32,17 +32,17 @@ last because the orbit never reaches it.
32
32
 
33
33
  ## 8 · Addressing
34
34
 
35
- - The content-address is ported to the formal layer in fnv.lean, address.lean, merkle.lean — 49 theorems covering FNV-1a, the four seeded passes, the version and variant nibbles, and the fold, each agreeing with the shipped implementation at published values.
36
- <sub>SEALED · `ea278ba2-b4aa-864d-b22c-7d1ef73c789f`</sub>
35
+ - The content-address is ported to the formal layer in fnv.lean, address.lean, merkle.lean — 53 theorems covering FNV-1a, the four seeded passes, the version and variant nibbles, and the fold, each agreeing with the shipped implementation at published values.
36
+ <sub>SEALED · `59898a61-b2a2-8514-8bf7-a93b9591850b`</sub>
37
37
  - The fold does not depend on the order its leaves arrive in, and that is not vacuous because merge itself is proved order-sensitive — the sort is what removes the dependence.
38
38
  <sub>SEALED · `7ee1de7d-d218-88d4-8dc9-6eec451ced72`</sub>
39
39
 
40
40
  ## 7 · The ledger
41
41
 
42
- - The ledger records 2674 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
43
- <sub>SEALED · `7ec9e4e8-4f93-8c59-97a1-feec0fd43baf`</sub>
44
- - The count is 2674, which is 334 octaves and 2 over — the octave is a target the theorems earn, never a quota they are invented to fill.
45
- <sub>SEALED · `d4a804ab-b977-878b-824a-6eb770c050ec`</sub>
42
+ - The ledger records 2755 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
43
+ <sub>SEALED · `5c303098-1b9f-8bbf-9d42-f7c143d6db7c`</sub>
44
+ - The count is 2755, which is 344 octaves and 3 over — the octave is a target the theorems earn, never a quota they are invented to fill.
45
+ <sub>SEALED · `1a379a24-e67c-8cce-b0ae-8d46ff4b16ab`</sub>
46
46
 
47
47
  ## 5 · What the gate does and does not do
48
48
 
@@ -86,15 +86,15 @@ results; it is the result, read off the same arithmetic that produced the table.
86
86
 
87
87
  ## 7 · The proofs, as they document themselves
88
88
 
89
- 33 Lean files in 7 wings, 735 declarations of which 726 are theorems. The prose in this section is read out of the
89
+ 33 Lean files in 7 wings, 816 declarations of which 807 are theorems. The prose in this section is read out of the
90
90
  sources — their frontmatter, their header comments and the comment above each theorem. Editing a proof edits
91
91
  this page; there is nowhere else to keep the description in step.
92
92
 
93
93
  ### the address
94
94
 
95
- **Addressing** — `address.lean`, 23 theorem(s). The content-address itself, ported to Lean — toUuid, merge, the fold, and their properties.
95
+ **Addressing** — `address.lean`, 26 theorem(s). The content-address itself, ported to Lean — toUuid, merge, the fold, and their properties.
96
96
 
97
- **FNV-1a, the address function** — `fnv.lean`, 14 theorem(s). FNV-1a, ported to Lean — the hash the whole deposit's addressing rests on.
97
+ **FNV-1a, the address function** — `fnv.lean`, 15 theorem(s). FNV-1a, ported to Lean — the hash the whole deposit's addressing rests on.
98
98
 
99
99
  **What the ledger claims** — `ledgerclaims.lean`, 8 theorem(s). Bounded: what is not prior art is what THIS ledger claims — the 967-receipt case, the saving arithmetic, and the 128-bit seal width as this deposit mints it. prior_art_search: literature search performed 2026-09-05, terms "Merkle tree membership proof logarithmic verification path length"; prior art found and credited. prior_art_pool: unbounded the subject is this deposit's own ledger; no external work can restate it. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: claims about this deposit's own ledger Three claims the prose made in words and cited to entries that no longer stand. Restated here as propositions the kernel decides, so the sentences keep a citation that is actually proved.
100
100
 
@@ -104,55 +104,55 @@ this page; there is nowhere else to keep the description in step.
104
104
 
105
105
  **The two-sided coin** — `coin.lean`, 12 theorem(s). One involution on ten digits, two sides, one fixed point, and one digit that leaves.
106
106
 
107
- **Elementary arithmetic** — `elementary.lean`, 37 theorem(s). the DECISION of each over a stated finite range, axiom-free, and the honest record of where the range stops short of what the older claim asserted. prior_art_search: the results are named in every undergraduate text; no search was needed to find them. prior_art_pool: named Elementary arithmetic, decided — the claims the ledger held in TypeScript, given a kernel.
107
+ **Elementary arithmetic** — `elementary.lean`, 41 theorem(s). the DECISION of each over a stated finite range, axiom-free, and the honest record of where the range stops short of what the older claim asserted. prior_art_search: the results are named in every undergraduate text; no search was needed to find them. prior_art_pool: named Elementary arithmetic, decided — the claims the ledger held in TypeScript, given a kernel.
108
108
 
109
- **Families over the ring** — `families.lean`, 55 theorem(s). The families, quantified. Proving at scale.
109
+ **Families over the ring** — `families.lean`, 64 theorem(s). The families, quantified. Proving at scale.
110
110
 
111
- **The doubling flow, for every step** — `flow.lean`, 3 theorem(s). prior_art_search: literature search performed 2026-09-14, terms "powers of two modulo 9 period 6 order of 2 mod 9 Euler theorem"; prior art found and credited. prior_art_pool: bounded prior_art_own: the every-step bound of the doubling flow, stated for the Navier–Stokes theorem in index.lean
111
+ **The doubling flow, for every step** — `flow.lean`, 5 theorem(s). prior_art_search: literature search performed 2026-09-14, terms "powers of two modulo 9 period 6 order of 2 mod 9 Euler theorem"; prior art found and credited. prior_art_pool: bounded prior_art_own: the every-step bound of the doubling flow, stated for the Navier–Stokes theorem in index.lean
112
112
 
113
113
  **What every involution gives, and what it does not** — `involution.lean`, 8 theorem(s). transpositions, and that the number of fixed points therefore matches the parity of the set, is classical and long predates this deposit. It is the orbit-counting argument in any first course. What is this deposit's own here is the EXHAUSTIVE decision over ℤ/9 and the measured refusal below.
114
114
 
115
115
  **The merkaba** — `merkaba.lean`, 8 theorem(s). (Leonhard Euler, 1758). The file as a whole is this deposit's own construction, and this ONE declaration restates a named classical result: its third conjunct 4 + 4 - 6 = 2 IS the Euler characteristic of the tetrahedron. The comment above that theorem already named Euler; the register did not, because prior art was routed on the FILE and a file-level row cannot say "own work except theorem 7". No priority over Euler is claimed. What is this deposit's own here is the pairing of the two tetrahedra with the cube Q₃ and the vertex and edge counts around it, not the characteristic. The merkaba, as THIS deposit constructs it — ported to Lean so it stands on the kernel instead of on a TypeScript test. Six entries under this name were revoked as dirty; every one of them that states finite algebra is re-proved here, and the two that do not (a cosine field, a bond angle in degrees) are absent on purpose — they are real trigonometry, not decidable arithmetic over ℤ/9, and padding them in would be the exact dishonesty the revocation was for.
116
116
 
117
- **Sequences** — `sequences.lean`, 22 theorem(s). The ledger held these as TypeScript tests. Each is a classical identity with a real proof; what is done here is to DECIDE each over a stated finite range, which is what `decide` can honestly deliver — the range is named in every theorem rather than implied, and no theorem claims the general case.
117
+ **Sequences** — `sequences.lean`, 28 theorem(s). The ledger held these as TypeScript tests. Each is a classical identity with a real proof; what is done here is to DECIDE each over a stated finite range, which is what `decide` can honestly deliver — the range is named in every theorem rather than implied, and no theorem claims the general case.
118
118
 
119
- **The digit split** — `split.lean`, 20 theorem(s). mathematics and claim nothing. Stated precisely so the credit does not run past the earlier work: what is NOT claimed as prior art is the tokenisation itself — reading the digits as 0|12|3|45|6|78|9 by concatenating consecutive units into two-digit tokens, and the arithmetic that follows from it (every token a multiple of three, closure of the tokens under addition and multiplication). That arrangement is this deposit's presentation of a standard fact, and its verification is by exhaustion here. Crediting an earlier author for a presentation they did not make is the same defect as claiming their result, pointed the other way. prior_art_search: literature search performed 2026-09-05, terms "units and non-units of Z/9 multiplicative inverses group of units modulo 9"; prior art found and credited. prior_art_pool: mixed the digit grouping is generic arithmetic; the coin accounting it feeds is this deposit's. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: the digit grouping 0|12|3|45|6|78|9 as this deposit reads it The ten digits read in order and grouped 0 | 12 | 3 | 45 | 6 | 78 | 9 — and what that grouping is.
119
+ **The digit split** — `split.lean`, 22 theorem(s). mathematics and claim nothing. Stated precisely so the credit does not run past the earlier work: what is NOT claimed as prior art is the tokenisation itself — reading the digits as 0|12|3|45|6|78|9 by concatenating consecutive units into two-digit tokens, and the arithmetic that follows from it (every token a multiple of three, closure of the tokens under addition and multiplication). That arrangement is this deposit's presentation of a standard fact, and its verification is by exhaustion here. Crediting an earlier author for a presentation they did not make is the same defect as claiming their result, pointed the other way. prior_art_search: literature search performed 2026-09-05, terms "units and non-units of Z/9 multiplicative inverses group of units modulo 9"; prior art found and credited. prior_art_pool: mixed the digit grouping is generic arithmetic; the coin accounting it feeds is this deposit's. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: the digit grouping 0|12|3|45|6|78|9 as this deposit reads it The ten digits read in order and grouped 0 | 12 | 3 | 45 | 6 | 78 | 9 — and what that grouping is.
120
120
 
121
- **The ring ℤ/9** — `z9.lean`, 22 theorem(s). The ℤ/9 families — mechanically generated theorems, proved by decide rather than tested in TypeScript.
121
+ **The ring ℤ/9** — `z9.lean`, 25 theorem(s). The ℤ/9 families — mechanically generated theorems, proved by decide rather than tested in TypeScript.
122
122
 
123
- **Entanglement in the ring** — `z9plus.lean`, 43 theorem(s). z9.lean settled the families exhaustively. This settles the claims the ledger stated individually and never generalised: which residues squares and cubes can be, which residues are primitive roots, the period of the doubling orbit's digital root, and the identity behind digit-reversal invariance. Each is stated as an EQUIVALENCE or an exact set where the ledger stated instances, so the negative half is proved too.
123
+ **Entanglement in the ring** — `z9plus.lean`, 48 theorem(s). z9.lean settled the families exhaustively. This settles the claims the ledger stated individually and never generalised: which residues squares and cubes can be, which residues are primitive roots, the period of the doubling orbit's digital root, and the identity behind digit-reversal invariance. Each is stated as an EQUIVALENCE or an exact set where the ledger stated instances, so the negative half is proved too.
124
124
 
125
125
  ### the floor
126
126
 
127
- **What is actually being asked for** — `demand.lean`, 9 theorem(s). THE ONE WING THAT DID NOT COME FROM THIS DEPOSIT'S OWN INTERESTS. Every other file here proves what the ℤ/9 construction led to. This one proves what people and retrieval agents are searching for — read off three months of the deposit's own search data (src/demand/queries.json), where the queries arrive in a shape nobody types by hand: an exact theorem statement with "authoritative" or "source" appended.
127
+ **What is actually being asked for** — `demand.lean`, 11 theorem(s). THE ONE WING THAT DID NOT COME FROM THIS DEPOSIT'S OWN INTERESTS. Every other file here proves what the ℤ/9 construction led to. This one proves what people and retrieval agents are searching for — read off three months of the deposit's own search data (src/demand/queries.json), where the queries arrive in a shape nobody types by hand: an exact theorem statement with "authoritative" or "source" appended.
128
128
 
129
- **The next tier of what is asked for** — `demand2.lean`, 11 theorem(s). THE SECOND COURSE OF THE SAME FLOOR. `demand.lean` closed the top eight topics in src/demand/queries.json; this file takes the next eight, chosen the same way — by impressions, not by taste. The demand map is three months of the deposit's own Google Search Console data with the retrieval scaffolding stripped, so what is ranked is the TOPIC people wanted a citable source for, not the phrasing they reached for.
129
+ **The next tier of what is asked for** — `demand2.lean`, 12 theorem(s). THE SECOND COURSE OF THE SAME FLOOR. `demand.lean` closed the top eight topics in src/demand/queries.json; this file takes the next eight, chosen the same way — by impressions, not by taste. The demand map is three months of the deposit's own Google Search Console data with the retrieval scaffolding stripped, so what is ranked is the TOPIC people wanted a citable source for, not the phrasing they reached for.
130
130
 
131
- **The named theorems people ask for** — `demand3.lean`, 15 theorem(s). The third and last tier the search data supports. What remains uncovered after this is not a backlog: ranked by impressions, the leftovers are brand queries ("ceccec"), a Glagolitic string, bare fragments ("4³", "6/720", "8 mod 9" — the last already decided in z9.lean), and the real-analysis cluster that was refused in demand2.lean and stays refused. The demand map is close to exhausted of things a kernel can settle, which is a better place to stop than an arbitrary count would have been.
131
+ **The named theorems people ask for** — `demand3.lean`, 19 theorem(s). The third and last tier the search data supports. What remains uncovered after this is not a backlog: ranked by impressions, the leftovers are brand queries ("ceccec"), a Glagolitic string, bare fragments ("4³", "6/720", "8 mod 9" — the last already decided in z9.lean), and the real-analysis cluster that was refused in demand2.lean and stays refused. The demand map is close to exhausted of things a kernel can settle, which is a better place to stop than an arbitrary count would have been.
132
132
 
133
- **The water loop** — `energy.lean`, 22 theorem(s). THE WATER LOOP, ACCOUNTED. Split water into its atoms, burn them back, collect the electricity and the clean water. Every step of that is real and buildable. The question is only ever the ledger, so here it is.
133
+ **The water loop** — `energy.lean`, 28 theorem(s). THE WATER LOOP, ACCOUNTED. Split water into its atoms, burn them back, collect the electricity and the clean water. Every step of that is real and buildable. The question is only ever the ledger, so here it is.
134
134
 
135
135
  **The Millennium floor** — `index.lean`, 11 theorem(s). Bounded, so the credit stops where the earlier work does: what is NOT prior art is the use of that orbit as a floor for what this deposit does and does not settle, which is a statement about this repository and has no earlier author. Verification by exhaustion in Lean is this deposit's contribution, and verification is not discovery. prior_art_search: literature search performed 2026-09-05, terms "doubling sequence modulo 9 orbit 1 2 4 8 7 5 cyclic group generator digital root"; prior art found and credited. prior_art_pool: bounded digit arithmetic of the doubling sequence; searchable independently of this deposit. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: the Millennium floor, computed from this sequence The Millennium floor — seven honest theorems, one per problem, COMPUTED from the sequence.
136
136
 
137
- **Light, space and time — arithmetic on numbers a standards body fixed** — `light.lean`, 14 theorem(s). Poids et Mesures, not results of this deposit: the metre from the speed of light (17th CGPM, 1983) and the seven defining constants fixed exactly in the 2019 revision of the SI, effective 20 May 2019 (BIPM, https://www.bipm.org/en/measurement-units/si-defining-constants). Nothing here measures anything.
137
+ **Light, space and time — arithmetic on numbers a standards body fixed** — `light.lean`, 16 theorem(s). Poids et Mesures, not results of this deposit: the metre from the speed of light (17th CGPM, 1983) and the seven defining constants fixed exactly in the 2019 revision of the SI, effective 20 May 2019 (BIPM, https://www.bipm.org/en/measurement-units/si-defining-constants). Nothing here measures anything.
138
138
 
139
139
  **Every phenomenon this deposit touches, and the rule for the rest** — `phenomena.lean`, 4 theorem(s). Générale des Poids et Mesures (2019 revision, effective 20 May 2019); the electrochemical results are Michael Faraday's laws of electrolysis, 1834, and the standard enthalpy of combustion of hydrogen. Every physical result named here has an earlier author or a standards body, and none is this deposit's.
140
140
 
141
141
  **Order-invariance** — `quantum.lean`, 12 theorem(s). form is invariant under permutation of its input, which is why `receipt_is_order_invariant` holds. What this file contributes is the Lean verification over a stated finite domain and the negative controls beside it — `naive_fold_is_not_order_invariant` shows the property is bought by the sort and not free, and `the_receipt_is_not_injective` and `the_invariance_is_canonicalisation_not_physics` state its limits. Verification and refusal, not discovery. prior_art_search: literature search performed 2026-09-05, terms "sorted Merkle tree order-invariant set commitment canonical ordering leaves"; prior art found and credited. This file was `unclassified` — no search had ever been run for it — and it is one of the 8 files whose 86 theorems are staged for DOIs. prior_art_pool: mixed canonicalisation before folding is a searchable technique; the receipt it folds is ours. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: order-invariance of this deposit's receipt The quantum receipt — order invariance, proved rather than asserted.
142
142
 
143
- **What exhaustion reaches, and what lies outside it** — `reach.lean`, 8 theorem(s). old as mathematics; the deposit claims none of it. What is its own here is the decision over its OWN bounds, and the statement of where that decision stops.
143
+ **What exhaustion reaches, and what lies outside it** — `reach.lean`, 12 theorem(s). old as mathematics; the deposit claims none of it. What is its own here is the decision over its OWN bounds, and the statement of where that decision stops.
144
144
 
145
- **Why verification is fast, and what it is not** — `speed.lean`, 11 theorem(s). wrong: the cost is logarithmic BECAUSE of a known result, and the repository was already crediting that result three files away. Bounded: what is not prior art is the MEASURED constants on this machine (recompute 21,582,900 µs against a 38 µs walk) and the arithmetic over them. A measurement is not a discovery either, and the file says so. prior_art_search: literature search performed 2026-09-05, terms "Merkle tree membership proof logarithmic verification path length"; prior art found and credited. prior_art_pool: unbounded the subject is this deposit's own verification cost. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: this deposit's own verification cost
145
+ **Why verification is fast, and what it is not** — `speed.lean`, 12 theorem(s). wrong: the cost is logarithmic BECAUSE of a known result, and the repository was already crediting that result three files away. Bounded: what is not prior art is the MEASURED constants on this machine (recompute 21,582,900 µs against a 38 µs walk) and the arithmetic over them. A measurement is not a discovery either, and the file says so. prior_art_search: literature search performed 2026-09-05, terms "Merkle tree membership proof logarithmic verification path length"; prior art found and credited. prior_art_pool: unbounded the subject is this deposit's own verification cost. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: this deposit's own verification cost
146
146
 
147
147
  ### the machine
148
148
 
149
149
  **Generated at scale** — `generated.lean`, 13 theorem(s). Bounded, so the credit stops where the earlier work does: what is NOT prior art is the generator that enumerates propositions over this ring and discards the ones true of every sibling; that machinery is this deposit's own. Verification by exhaustion in Lean is this deposit's contribution, and verification is not discovery. prior_art_search: literature search performed 2026-09-05, terms "doubling sequence modulo 9 orbit 1 2 4 8 7 5 cyclic group generator digital root"; prior art found and credited. prior_art_pool: bounded quantified ring arithmetic over Z/9; the underlying facts are classical and searchable. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: this deposit's own generator over its own ring Generated by scripts/lean-gen.ts — do not edit by hand; re-run the generator. Each theorem below quantifies over a whole ledger family. Every one is compiled, audited for axioms, and checked to compute what the ledger's own tests compute at every parameter of its family.
150
150
 
151
- **Mechanically translated** — `mechanical.lean`, 119 theorem(s). Generated by src/prove/emit.ts from the ledger's own tests — do not hand-edit; re-run the prover.
151
+ **Mechanically translated** — `mechanical.lean`, 127 theorem(s). Generated by src/prove/emit.ts from the ledger's own tests — do not hand-edit; re-run the prover.
152
152
 
153
- **Nim** — `nim.lean`, 25 theorem(s). Nim — Bouton's theorem and Sprague–Grundy, decided.
153
+ **Nim** — `nim.lean`, 28 theorem(s). Nim — Bouton's theorem and Sprague–Grundy, decided.
154
154
 
155
- **Digit reversal** — `reversal.lean`, 15 theorem(s). Digit reversal — arithmetic, not string handling.
155
+ **Digit reversal** — `reversal.lean`, 30 theorem(s). Digit reversal — arithmetic, not string handling.
156
156
 
157
157
  **Theorems** — `theorems.lean`, 8 theorem(s). The universal property — honestly, and COMPUTED from the sequence.
158
158
 
@@ -170,7 +170,7 @@ this page; there is nowhere else to keep the description in step.
170
170
 
171
171
  **Recovered — claims that computed and were withdrawn for want of a proof** — `recovered.lean`, 15 theorem(s). material, credited. What is NOT prior art is that these particular statements sat WITHDRAWN in this deposit's ledger, each recorded as "not backed by a Lean proof. Its evidence is a TypeScript test", while every one is decidable in a line. prior_art_search: literature search performed 2026-09-05, terms "units and non-units of Z/9 multiplicative inverses group of units modulo 9"; prior art found and credited.
172
172
 
173
- 20 of 735 declarations carry no comment of their own and are shown here as the gap they are, not
173
+ 20 of 816 declarations carry no comment of their own and are shown here as the gap they are, not
174
174
  filled with a template.
175
175
 
176
176
  ## 8 · What this build measured about itself
@@ -179,14 +179,14 @@ Read from the artefacts at build time, never carried between runs.
179
179
 
180
180
  | measure | value |
181
181
  |---|---|
182
- | ledger entries | 2,674 — 334 octaves and 2 over |
183
- | standing — carries its own proof | **726** |
182
+ | ledger entries | 2,755 — 344 octaves and 3 over |
183
+ | standing — carries its own proof | **807** |
184
184
  | carried — withdrawn on its own evidence, proved by a live theorem | **434** |
185
185
  | withdrawn — nothing proves it | 1,514 |
186
- | proved in total | **1160** of 2,674 |
187
- | standing keys → distinct theorems | 726 sealed, 0 of them keyed twice, 0 unresolvable |
188
- | Lean files · theorems | 33 · 726 theorems (629 closed by exhaustion, axiom-free · 97 proved for every value on propext and Quot.sound) + 9 rfl declarations |
189
- | proved `by decide` | 629 of 735 |
186
+ | proved in total | **1241** of 2,755 |
187
+ | standing keys → distinct theorems | 807 sealed, 0 of them keyed twice, 0 unresolvable |
188
+ | Lean files · theorems | 33 · 807 theorems (630 closed by exhaustion, axiom-free · 177 proved for every value on propext and Quot.sound) + 9 rfl declarations |
189
+ | proved `by decide` | 630 of 816 |
190
190
  | claims a machine can render | 103 of 1,555 |
191
191
  | claims needing an author | 1,452 — reported, never faked |
192
192
 
@@ -225,4 +225,4 @@ whether the work restates someone earlier. [The paper](/paper) typesets every st
225
225
 
226
226
  ---
227
227
 
228
- *15 claims, all verified · 726 Lean theorems · 2674 ledger entries · trial root `4bffd265-48f0-8cb1-90f3-968481f2f185` · integrity, not truth*
228
+ *15 claims, all verified · 807 Lean theorems · 2755 ledger entries · trial root `549339aa-28bc-899a-86e9-5c2d8a42080e` · integrity, not truth*
package/dashboard.md CHANGED
@@ -24,7 +24,7 @@ import { withBase } from 'vitepress'
24
24
  ## Fact — measured state
25
25
 
26
26
  <div class="dash-grid">
27
- <div class="dash-card"><div class="dash-k">Version</div><div class="dash-v">v9.3.1</div><div class="dash-s">git tag (single source)</div></div>
27
+ <div class="dash-card"><div class="dash-k">Version</div><div class="dash-v">v9.3.2</div><div class="dash-s">git tag (single source)</div></div>
28
28
  <div class="dash-card"><div class="dash-k">Honesty gate</div><div class="dash-v">sealed</div><div class="dash-s">every citation live in the ledger</div></div>
29
29
  <div class="dash-card"><div class="dash-k">Link coverage</div><div class="dash-v">100%</div><div class="dash-s">gate-enforced — the build fails below 100%</div></div>
30
30
  <a class="dash-card" :href="withBase('/sitemap.json')" style="text-decoration:none;display:block"><div class="dash-k">Seal root</div><div class="dash-v" style="color:var(--vp-c-brand-1)">live →</div><div class="dash-s">merkle of the whole, current at /sitemap.json</div></a>
package/forensic.md CHANGED
@@ -5,14 +5,14 @@ title: Every state change, dated
5
5
  # Provenance of this deposit's ledger
6
6
 
7
7
  **Recomputed on every build** from git history and the append-only ledger. Regenerate with
8
- `npm run forensic`. Content-address `2fc0d808-c0e1-863b-9ce9-21d93a8826fb`.
8
+ `npm run forensic`. Content-address `c687c4bf-4358-85a2-9145-ebfdb09b8d3d`.
9
9
 
10
10
  ## What this record establishes
11
11
 
12
12
  | | |
13
13
  |---|---:|
14
- | ledger entries | **2,674** |
15
- | standing — proved and sealed | 726 |
14
+ | ledger entries | **2,755** |
15
+ | standing — proved and sealed | 807 |
16
16
  | carried — withdrawn, proved by a live theorem | 434 |
17
17
  | withdrawn — nothing currently proves them | 1,514 |
18
18
  | receipt chain, recomputed | **0 breaks — intact** |
package/index.md CHANGED
@@ -17,12 +17,12 @@ last because the orbit never reaches it.
17
17
 
18
18
  ## 1 · What is proved
19
19
 
20
- - The formal layer holds 735 kernel-accepted declarations across 33 files, and no file uses sorry or native_decide outside a comment.
21
- <sub>SEALED · `70327bfe-a124-8316-8a39-2d90c7a2e3b5`</sub>
22
- - 629 of those 735 are THEOREMS by this deposit's own rule — they close by decide, which is to say the kernel evaluates the proposition over its whole finite domain rather than accepting a declaration; the remaining 106 close by rfl and are declarations.
23
- <sub>SEALED · `6a4db423-80e6-8296-a688-c52a7f375436`</sub>
24
- - 810 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
25
- <sub>SEALED · `9250535d-47e0-83a7-b331-bc1114e53b4a`</sub>
20
+ - The formal layer holds 816 kernel-accepted declarations across 33 files, and no file uses sorry or native_decide outside a comment.
21
+ <sub>SEALED · `03bb8fd7-8470-8985-b90f-d597fa390e42`</sub>
22
+ - 630 of those 816 are THEOREMS by this deposit's own rule — they close by decide, which is to say the kernel evaluates the proposition over its whole finite domain rather than accepting a declaration; the remaining 186 close by rfl and are declarations.
23
+ <sub>SEALED · `d27b2416-8049-8b5b-ac51-a8cefb31d7c2`</sub>
24
+ - 891 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
25
+ <sub>SEALED · `f09699de-82af-8255-ace6-52cc69755a6f`</sub>
26
26
 
27
27
  ## 2 · The ring
28
28
 
@@ -38,17 +38,17 @@ last because the orbit never reaches it.
38
38
 
39
39
  ## 8 · Addressing
40
40
 
41
- - The content-address is ported to the formal layer in fnv.lean, address.lean, merkle.lean — 49 theorems covering FNV-1a, the four seeded passes, the version and variant nibbles, and the fold, each agreeing with the shipped implementation at published values.
42
- <sub>SEALED · `ea278ba2-b4aa-864d-b22c-7d1ef73c789f`</sub>
41
+ - The content-address is ported to the formal layer in fnv.lean, address.lean, merkle.lean — 53 theorems covering FNV-1a, the four seeded passes, the version and variant nibbles, and the fold, each agreeing with the shipped implementation at published values.
42
+ <sub>SEALED · `59898a61-b2a2-8514-8bf7-a93b9591850b`</sub>
43
43
  - The fold does not depend on the order its leaves arrive in, and that is not vacuous because merge itself is proved order-sensitive — the sort is what removes the dependence.
44
44
  <sub>SEALED · `7ee1de7d-d218-88d4-8dc9-6eec451ced72`</sub>
45
45
 
46
46
  ## 7 · The ledger
47
47
 
48
- - The ledger records 2674 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
49
- <sub>SEALED · `7ec9e4e8-4f93-8c59-97a1-feec0fd43baf`</sub>
50
- - The count is 2674, which is 334 octaves and 2 over — the octave is a target the theorems earn, never a quota they are invented to fill.
51
- <sub>SEALED · `d4a804ab-b977-878b-824a-6eb770c050ec`</sub>
48
+ - The ledger records 2755 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
49
+ <sub>SEALED · `5c303098-1b9f-8bbf-9d42-f7c143d6db7c`</sub>
50
+ - The count is 2755, which is 344 octaves and 3 over — the octave is a target the theorems earn, never a quota they are invented to fill.
51
+ <sub>SEALED · `1a379a24-e67c-8cce-b0ae-8d46ff4b16ab`</sub>
52
52
 
53
53
  ## 5 · What the gate does and does not do
54
54
 
@@ -92,15 +92,15 @@ results; it is the result, read off the same arithmetic that produced the table.
92
92
 
93
93
  ## 7 · The proofs, as they document themselves
94
94
 
95
- 33 Lean files in 7 wings, 735 declarations of which 726 are theorems. The prose in this section is read out of the
95
+ 33 Lean files in 7 wings, 816 declarations of which 807 are theorems. The prose in this section is read out of the
96
96
  sources — their frontmatter, their header comments and the comment above each theorem. Editing a proof edits
97
97
  this page; there is nowhere else to keep the description in step.
98
98
 
99
99
  ### the address
100
100
 
101
- **Addressing** — `address.lean`, 23 theorem(s). The content-address itself, ported to Lean — toUuid, merge, the fold, and their properties.
101
+ **Addressing** — `address.lean`, 26 theorem(s). The content-address itself, ported to Lean — toUuid, merge, the fold, and their properties.
102
102
 
103
- **FNV-1a, the address function** — `fnv.lean`, 14 theorem(s). FNV-1a, ported to Lean — the hash the whole deposit's addressing rests on.
103
+ **FNV-1a, the address function** — `fnv.lean`, 15 theorem(s). FNV-1a, ported to Lean — the hash the whole deposit's addressing rests on.
104
104
 
105
105
  **What the ledger claims** — `ledgerclaims.lean`, 8 theorem(s). Bounded: what is not prior art is what THIS ledger claims — the 967-receipt case, the saving arithmetic, and the 128-bit seal width as this deposit mints it. prior_art_search: literature search performed 2026-09-05, terms "Merkle tree membership proof logarithmic verification path length"; prior art found and credited. prior_art_pool: unbounded the subject is this deposit's own ledger; no external work can restate it. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: claims about this deposit's own ledger Three claims the prose made in words and cited to entries that no longer stand. Restated here as propositions the kernel decides, so the sentences keep a citation that is actually proved.
106
106
 
@@ -110,55 +110,55 @@ this page; there is nowhere else to keep the description in step.
110
110
 
111
111
  **The two-sided coin** — `coin.lean`, 12 theorem(s). One involution on ten digits, two sides, one fixed point, and one digit that leaves.
112
112
 
113
- **Elementary arithmetic** — `elementary.lean`, 37 theorem(s). the DECISION of each over a stated finite range, axiom-free, and the honest record of where the range stops short of what the older claim asserted. prior_art_search: the results are named in every undergraduate text; no search was needed to find them. prior_art_pool: named Elementary arithmetic, decided — the claims the ledger held in TypeScript, given a kernel.
113
+ **Elementary arithmetic** — `elementary.lean`, 41 theorem(s). the DECISION of each over a stated finite range, axiom-free, and the honest record of where the range stops short of what the older claim asserted. prior_art_search: the results are named in every undergraduate text; no search was needed to find them. prior_art_pool: named Elementary arithmetic, decided — the claims the ledger held in TypeScript, given a kernel.
114
114
 
115
- **Families over the ring** — `families.lean`, 55 theorem(s). The families, quantified. Proving at scale.
115
+ **Families over the ring** — `families.lean`, 64 theorem(s). The families, quantified. Proving at scale.
116
116
 
117
- **The doubling flow, for every step** — `flow.lean`, 3 theorem(s). prior_art_search: literature search performed 2026-09-14, terms "powers of two modulo 9 period 6 order of 2 mod 9 Euler theorem"; prior art found and credited. prior_art_pool: bounded prior_art_own: the every-step bound of the doubling flow, stated for the Navier–Stokes theorem in index.lean
117
+ **The doubling flow, for every step** — `flow.lean`, 5 theorem(s). prior_art_search: literature search performed 2026-09-14, terms "powers of two modulo 9 period 6 order of 2 mod 9 Euler theorem"; prior art found and credited. prior_art_pool: bounded prior_art_own: the every-step bound of the doubling flow, stated for the Navier–Stokes theorem in index.lean
118
118
 
119
119
  **What every involution gives, and what it does not** — `involution.lean`, 8 theorem(s). transpositions, and that the number of fixed points therefore matches the parity of the set, is classical and long predates this deposit. It is the orbit-counting argument in any first course. What is this deposit's own here is the EXHAUSTIVE decision over ℤ/9 and the measured refusal below.
120
120
 
121
121
  **The merkaba** — `merkaba.lean`, 8 theorem(s). (Leonhard Euler, 1758). The file as a whole is this deposit's own construction, and this ONE declaration restates a named classical result: its third conjunct 4 + 4 - 6 = 2 IS the Euler characteristic of the tetrahedron. The comment above that theorem already named Euler; the register did not, because prior art was routed on the FILE and a file-level row cannot say "own work except theorem 7". No priority over Euler is claimed. What is this deposit's own here is the pairing of the two tetrahedra with the cube Q₃ and the vertex and edge counts around it, not the characteristic. The merkaba, as THIS deposit constructs it — ported to Lean so it stands on the kernel instead of on a TypeScript test. Six entries under this name were revoked as dirty; every one of them that states finite algebra is re-proved here, and the two that do not (a cosine field, a bond angle in degrees) are absent on purpose — they are real trigonometry, not decidable arithmetic over ℤ/9, and padding them in would be the exact dishonesty the revocation was for.
122
122
 
123
- **Sequences** — `sequences.lean`, 22 theorem(s). The ledger held these as TypeScript tests. Each is a classical identity with a real proof; what is done here is to DECIDE each over a stated finite range, which is what `decide` can honestly deliver — the range is named in every theorem rather than implied, and no theorem claims the general case.
123
+ **Sequences** — `sequences.lean`, 28 theorem(s). The ledger held these as TypeScript tests. Each is a classical identity with a real proof; what is done here is to DECIDE each over a stated finite range, which is what `decide` can honestly deliver — the range is named in every theorem rather than implied, and no theorem claims the general case.
124
124
 
125
- **The digit split** — `split.lean`, 20 theorem(s). mathematics and claim nothing. Stated precisely so the credit does not run past the earlier work: what is NOT claimed as prior art is the tokenisation itself — reading the digits as 0|12|3|45|6|78|9 by concatenating consecutive units into two-digit tokens, and the arithmetic that follows from it (every token a multiple of three, closure of the tokens under addition and multiplication). That arrangement is this deposit's presentation of a standard fact, and its verification is by exhaustion here. Crediting an earlier author for a presentation they did not make is the same defect as claiming their result, pointed the other way. prior_art_search: literature search performed 2026-09-05, terms "units and non-units of Z/9 multiplicative inverses group of units modulo 9"; prior art found and credited. prior_art_pool: mixed the digit grouping is generic arithmetic; the coin accounting it feeds is this deposit's. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: the digit grouping 0|12|3|45|6|78|9 as this deposit reads it The ten digits read in order and grouped 0 | 12 | 3 | 45 | 6 | 78 | 9 — and what that grouping is.
125
+ **The digit split** — `split.lean`, 22 theorem(s). mathematics and claim nothing. Stated precisely so the credit does not run past the earlier work: what is NOT claimed as prior art is the tokenisation itself — reading the digits as 0|12|3|45|6|78|9 by concatenating consecutive units into two-digit tokens, and the arithmetic that follows from it (every token a multiple of three, closure of the tokens under addition and multiplication). That arrangement is this deposit's presentation of a standard fact, and its verification is by exhaustion here. Crediting an earlier author for a presentation they did not make is the same defect as claiming their result, pointed the other way. prior_art_search: literature search performed 2026-09-05, terms "units and non-units of Z/9 multiplicative inverses group of units modulo 9"; prior art found and credited. prior_art_pool: mixed the digit grouping is generic arithmetic; the coin accounting it feeds is this deposit's. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: the digit grouping 0|12|3|45|6|78|9 as this deposit reads it The ten digits read in order and grouped 0 | 12 | 3 | 45 | 6 | 78 | 9 — and what that grouping is.
126
126
 
127
- **The ring ℤ/9** — `z9.lean`, 22 theorem(s). The ℤ/9 families — mechanically generated theorems, proved by decide rather than tested in TypeScript.
127
+ **The ring ℤ/9** — `z9.lean`, 25 theorem(s). The ℤ/9 families — mechanically generated theorems, proved by decide rather than tested in TypeScript.
128
128
 
129
- **Entanglement in the ring** — `z9plus.lean`, 43 theorem(s). z9.lean settled the families exhaustively. This settles the claims the ledger stated individually and never generalised: which residues squares and cubes can be, which residues are primitive roots, the period of the doubling orbit's digital root, and the identity behind digit-reversal invariance. Each is stated as an EQUIVALENCE or an exact set where the ledger stated instances, so the negative half is proved too.
129
+ **Entanglement in the ring** — `z9plus.lean`, 48 theorem(s). z9.lean settled the families exhaustively. This settles the claims the ledger stated individually and never generalised: which residues squares and cubes can be, which residues are primitive roots, the period of the doubling orbit's digital root, and the identity behind digit-reversal invariance. Each is stated as an EQUIVALENCE or an exact set where the ledger stated instances, so the negative half is proved too.
130
130
 
131
131
  ### the floor
132
132
 
133
- **What is actually being asked for** — `demand.lean`, 9 theorem(s). THE ONE WING THAT DID NOT COME FROM THIS DEPOSIT'S OWN INTERESTS. Every other file here proves what the ℤ/9 construction led to. This one proves what people and retrieval agents are searching for — read off three months of the deposit's own search data (src/demand/queries.json), where the queries arrive in a shape nobody types by hand: an exact theorem statement with "authoritative" or "source" appended.
133
+ **What is actually being asked for** — `demand.lean`, 11 theorem(s). THE ONE WING THAT DID NOT COME FROM THIS DEPOSIT'S OWN INTERESTS. Every other file here proves what the ℤ/9 construction led to. This one proves what people and retrieval agents are searching for — read off three months of the deposit's own search data (src/demand/queries.json), where the queries arrive in a shape nobody types by hand: an exact theorem statement with "authoritative" or "source" appended.
134
134
 
135
- **The next tier of what is asked for** — `demand2.lean`, 11 theorem(s). THE SECOND COURSE OF THE SAME FLOOR. `demand.lean` closed the top eight topics in src/demand/queries.json; this file takes the next eight, chosen the same way — by impressions, not by taste. The demand map is three months of the deposit's own Google Search Console data with the retrieval scaffolding stripped, so what is ranked is the TOPIC people wanted a citable source for, not the phrasing they reached for.
135
+ **The next tier of what is asked for** — `demand2.lean`, 12 theorem(s). THE SECOND COURSE OF THE SAME FLOOR. `demand.lean` closed the top eight topics in src/demand/queries.json; this file takes the next eight, chosen the same way — by impressions, not by taste. The demand map is three months of the deposit's own Google Search Console data with the retrieval scaffolding stripped, so what is ranked is the TOPIC people wanted a citable source for, not the phrasing they reached for.
136
136
 
137
- **The named theorems people ask for** — `demand3.lean`, 15 theorem(s). The third and last tier the search data supports. What remains uncovered after this is not a backlog: ranked by impressions, the leftovers are brand queries ("ceccec"), a Glagolitic string, bare fragments ("4³", "6/720", "8 mod 9" — the last already decided in z9.lean), and the real-analysis cluster that was refused in demand2.lean and stays refused. The demand map is close to exhausted of things a kernel can settle, which is a better place to stop than an arbitrary count would have been.
137
+ **The named theorems people ask for** — `demand3.lean`, 19 theorem(s). The third and last tier the search data supports. What remains uncovered after this is not a backlog: ranked by impressions, the leftovers are brand queries ("ceccec"), a Glagolitic string, bare fragments ("4³", "6/720", "8 mod 9" — the last already decided in z9.lean), and the real-analysis cluster that was refused in demand2.lean and stays refused. The demand map is close to exhausted of things a kernel can settle, which is a better place to stop than an arbitrary count would have been.
138
138
 
139
- **The water loop** — `energy.lean`, 22 theorem(s). THE WATER LOOP, ACCOUNTED. Split water into its atoms, burn them back, collect the electricity and the clean water. Every step of that is real and buildable. The question is only ever the ledger, so here it is.
139
+ **The water loop** — `energy.lean`, 28 theorem(s). THE WATER LOOP, ACCOUNTED. Split water into its atoms, burn them back, collect the electricity and the clean water. Every step of that is real and buildable. The question is only ever the ledger, so here it is.
140
140
 
141
141
  **The Millennium floor** — `index.lean`, 11 theorem(s). Bounded, so the credit stops where the earlier work does: what is NOT prior art is the use of that orbit as a floor for what this deposit does and does not settle, which is a statement about this repository and has no earlier author. Verification by exhaustion in Lean is this deposit's contribution, and verification is not discovery. prior_art_search: literature search performed 2026-09-05, terms "doubling sequence modulo 9 orbit 1 2 4 8 7 5 cyclic group generator digital root"; prior art found and credited. prior_art_pool: bounded digit arithmetic of the doubling sequence; searchable independently of this deposit. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: the Millennium floor, computed from this sequence The Millennium floor — seven honest theorems, one per problem, COMPUTED from the sequence.
142
142
 
143
- **Light, space and time — arithmetic on numbers a standards body fixed** — `light.lean`, 14 theorem(s). Poids et Mesures, not results of this deposit: the metre from the speed of light (17th CGPM, 1983) and the seven defining constants fixed exactly in the 2019 revision of the SI, effective 20 May 2019 (BIPM, https://www.bipm.org/en/measurement-units/si-defining-constants). Nothing here measures anything.
143
+ **Light, space and time — arithmetic on numbers a standards body fixed** — `light.lean`, 16 theorem(s). Poids et Mesures, not results of this deposit: the metre from the speed of light (17th CGPM, 1983) and the seven defining constants fixed exactly in the 2019 revision of the SI, effective 20 May 2019 (BIPM, https://www.bipm.org/en/measurement-units/si-defining-constants). Nothing here measures anything.
144
144
 
145
145
  **Every phenomenon this deposit touches, and the rule for the rest** — `phenomena.lean`, 4 theorem(s). Générale des Poids et Mesures (2019 revision, effective 20 May 2019); the electrochemical results are Michael Faraday's laws of electrolysis, 1834, and the standard enthalpy of combustion of hydrogen. Every physical result named here has an earlier author or a standards body, and none is this deposit's.
146
146
 
147
147
  **Order-invariance** — `quantum.lean`, 12 theorem(s). form is invariant under permutation of its input, which is why `receipt_is_order_invariant` holds. What this file contributes is the Lean verification over a stated finite domain and the negative controls beside it — `naive_fold_is_not_order_invariant` shows the property is bought by the sort and not free, and `the_receipt_is_not_injective` and `the_invariance_is_canonicalisation_not_physics` state its limits. Verification and refusal, not discovery. prior_art_search: literature search performed 2026-09-05, terms "sorted Merkle tree order-invariant set commitment canonical ordering leaves"; prior art found and credited. This file was `unclassified` — no search had ever been run for it — and it is one of the 8 files whose 86 theorems are staged for DOIs. prior_art_pool: mixed canonicalisation before folding is a searchable technique; the receipt it folds is ours. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: order-invariance of this deposit's receipt The quantum receipt — order invariance, proved rather than asserted.
148
148
 
149
- **What exhaustion reaches, and what lies outside it** — `reach.lean`, 8 theorem(s). old as mathematics; the deposit claims none of it. What is its own here is the decision over its OWN bounds, and the statement of where that decision stops.
149
+ **What exhaustion reaches, and what lies outside it** — `reach.lean`, 12 theorem(s). old as mathematics; the deposit claims none of it. What is its own here is the decision over its OWN bounds, and the statement of where that decision stops.
150
150
 
151
- **Why verification is fast, and what it is not** — `speed.lean`, 11 theorem(s). wrong: the cost is logarithmic BECAUSE of a known result, and the repository was already crediting that result three files away. Bounded: what is not prior art is the MEASURED constants on this machine (recompute 21,582,900 µs against a 38 µs walk) and the arithmetic over them. A measurement is not a discovery either, and the file says so. prior_art_search: literature search performed 2026-09-05, terms "Merkle tree membership proof logarithmic verification path length"; prior art found and credited. prior_art_pool: unbounded the subject is this deposit's own verification cost. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: this deposit's own verification cost
151
+ **Why verification is fast, and what it is not** — `speed.lean`, 12 theorem(s). wrong: the cost is logarithmic BECAUSE of a known result, and the repository was already crediting that result three files away. Bounded: what is not prior art is the MEASURED constants on this machine (recompute 21,582,900 µs against a 38 µs walk) and the arithmetic over them. A measurement is not a discovery either, and the file says so. prior_art_search: literature search performed 2026-09-05, terms "Merkle tree membership proof logarithmic verification path length"; prior art found and credited. prior_art_pool: unbounded the subject is this deposit's own verification cost. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: this deposit's own verification cost
152
152
 
153
153
  ### the machine
154
154
 
155
155
  **Generated at scale** — `generated.lean`, 13 theorem(s). Bounded, so the credit stops where the earlier work does: what is NOT prior art is the generator that enumerates propositions over this ring and discards the ones true of every sibling; that machinery is this deposit's own. Verification by exhaustion in Lean is this deposit's contribution, and verification is not discovery. prior_art_search: literature search performed 2026-09-05, terms "doubling sequence modulo 9 orbit 1 2 4 8 7 5 cyclic group generator digital root"; prior art found and credited. prior_art_pool: bounded quantified ring arithmetic over Z/9; the underlying facts are classical and searchable. BOUNDED means a search is well posed and simply has not been run — the row is unclassified because nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the row will stay unclassified however much work is done. They look identical in a count and need opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn. prior_art_own: this deposit's own generator over its own ring Generated by scripts/lean-gen.ts — do not edit by hand; re-run the generator. Each theorem below quantifies over a whole ledger family. Every one is compiled, audited for axioms, and checked to compute what the ledger's own tests compute at every parameter of its family.
156
156
 
157
- **Mechanically translated** — `mechanical.lean`, 119 theorem(s). Generated by src/prove/emit.ts from the ledger's own tests — do not hand-edit; re-run the prover.
157
+ **Mechanically translated** — `mechanical.lean`, 127 theorem(s). Generated by src/prove/emit.ts from the ledger's own tests — do not hand-edit; re-run the prover.
158
158
 
159
- **Nim** — `nim.lean`, 25 theorem(s). Nim — Bouton's theorem and Sprague–Grundy, decided.
159
+ **Nim** — `nim.lean`, 28 theorem(s). Nim — Bouton's theorem and Sprague–Grundy, decided.
160
160
 
161
- **Digit reversal** — `reversal.lean`, 15 theorem(s). Digit reversal — arithmetic, not string handling.
161
+ **Digit reversal** — `reversal.lean`, 30 theorem(s). Digit reversal — arithmetic, not string handling.
162
162
 
163
163
  **Theorems** — `theorems.lean`, 8 theorem(s). The universal property — honestly, and COMPUTED from the sequence.
164
164
 
@@ -176,7 +176,7 @@ this page; there is nowhere else to keep the description in step.
176
176
 
177
177
  **Recovered — claims that computed and were withdrawn for want of a proof** — `recovered.lean`, 15 theorem(s). material, credited. What is NOT prior art is that these particular statements sat WITHDRAWN in this deposit's ledger, each recorded as "not backed by a Lean proof. Its evidence is a TypeScript test", while every one is decidable in a line. prior_art_search: literature search performed 2026-09-05, terms "units and non-units of Z/9 multiplicative inverses group of units modulo 9"; prior art found and credited.
178
178
 
179
- 20 of 735 declarations carry no comment of their own and are shown here as the gap they are, not
179
+ 20 of 816 declarations carry no comment of their own and are shown here as the gap they are, not
180
180
  filled with a template.
181
181
 
182
182
  ## 8 · What this build measured about itself
@@ -185,14 +185,14 @@ Read from the artefacts at build time, never carried between runs.
185
185
 
186
186
  | measure | value |
187
187
  |---|---|
188
- | ledger entries | 2,674 — 334 octaves and 2 over |
189
- | standing — carries its own proof | **726** |
188
+ | ledger entries | 2,755 — 344 octaves and 3 over |
189
+ | standing — carries its own proof | **807** |
190
190
  | carried — withdrawn on its own evidence, proved by a live theorem | **434** |
191
191
  | withdrawn — nothing proves it | 1,514 |
192
- | proved in total | **1160** of 2,674 |
193
- | standing keys → distinct theorems | 726 sealed, 0 of them keyed twice, 0 unresolvable |
194
- | Lean files · theorems | 33 · 726 theorems (629 closed by exhaustion, axiom-free · 97 proved for every value on propext and Quot.sound) + 9 rfl declarations |
195
- | proved `by decide` | 629 of 735 |
192
+ | proved in total | **1241** of 2,755 |
193
+ | standing keys → distinct theorems | 807 sealed, 0 of them keyed twice, 0 unresolvable |
194
+ | Lean files · theorems | 33 · 807 theorems (630 closed by exhaustion, axiom-free · 177 proved for every value on propext and Quot.sound) + 9 rfl declarations |
195
+ | proved `by decide` | 630 of 816 |
196
196
  | claims a machine can render | 103 of 1,555 |
197
197
  | claims needing an author | 1,452 — reported, never faked |
198
198
 
@@ -214,4 +214,4 @@ across** — deposited as [10.5281/zenodo.21781603](https://doi.org/10.5281/zeno
214
214
 
215
215
  ---
216
216
 
217
- *15 claims, all verified · 726 Lean theorems · 2674 ledger entries · trial root `4bffd265-48f0-8cb1-90f3-968481f2f185` · integrity, not truth*
217
+ *15 claims, all verified · 807 Lean theorems · 2755 ledger entries · trial root `549339aa-28bc-899a-86e9-5c2d8a42080e` · integrity, not truth*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ceccec/millennium-solutions",
3
- "version": "9.3.2",
3
+ "version": "9.3.3",
4
4
  "description": "Verifiable, recomputable ℤ/9 vortex framework in ONE package — content-addressing, audit ledger, exact arithmetic, and the honesty toolkit. Facts only.",
5
5
  "author": {
6
6
  "name": "Tsvetan Rouschev",