@ceccec/millennium-solutions 9.1.2 → 9.1.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/AXIOMS.md CHANGED
@@ -5,7 +5,7 @@ title: The axiom index — what is assumed
5
5
  # The axiom index
6
6
 
7
7
  Every declaration in `src/proof` is checked with `#print axioms` on each build, and a dependency on any
8
- axiom fails the build rather than earning a footnote. All **634** report the same thing:
8
+ axiom fails the build rather than earning a footnote. All **638** report the same thing:
9
9
  *does not depend on any axioms*.
10
10
 
11
11
  That is a real property, and it is not the whole picture. **Axiom-free is not assumption-free.** These
@@ -210,7 +210,7 @@ def tetOf (r : Nat) : List Nat := (unitsMod 9).filter (fun d => d % 3 == r)
210
210
  def settledHere : Nat := 32
211
211
  ```
212
212
 
213
- ### `energy.lean` — 31 definition(s), 20 theorem(s)
213
+ ### `energy.lean` — 31 definition(s), 21 theorem(s)
214
214
 
215
215
  ```lean
216
216
  def splitCost : Nat := 52000 -- Wh to electrolyse 1 kg H₂ (real cells: 50–55 kWh/kg; ideal is ~39.4)
@@ -343,7 +343,7 @@ def saving (value verify : Nat) : Nat := value - verify
343
343
  def addr4 (x : Nat) : Nat := x % 16
344
344
  ```
345
345
 
346
- ### `light.lean` — 13 definition(s), 12 theorem(s)
346
+ ### `light.lean` — 13 definition(s), 13 theorem(s)
347
347
 
348
348
  ```lean
349
349
  def c : Nat := 299792458 -- m/s, exact
@@ -451,7 +451,7 @@ def par3 (n : Nat) : Nat := (bit n 0 + bit n 1 + bit n 2) % 2
451
451
  def ghzXSupport : List Nat := [0, 3, 5, 6]
452
452
  ```
453
453
 
454
- ### `reach.lean` — 2 definition(s), 4 theorem(s)
454
+ ### `reach.lean` — 2 definition(s), 5 theorem(s)
455
455
 
456
456
  ```lean
457
457
  def bounds : List Nat := List.range' 1 50
@@ -501,7 +501,7 @@ def popcount (n : Nat) : Nat := (List.range 12).foldl (fun a i => a + n / 2 ^ i
501
501
  def tm (n : Nat) : Nat := popcount n % 2
502
502
  ```
503
503
 
504
- ### `speed.lean` — 8 definition(s), 10 theorem(s)
504
+ ### `speed.lean` — 8 definition(s), 11 theorem(s)
505
505
 
506
506
  ```lean
507
507
  def recomputeUs : Nat := 21582900 -- folding 2^20 leaves
@@ -569,6 +569,6 @@ def gcd9 (a b : Nat) : Nat := gcdF (a + b + 1) a b
569
569
 
570
570
  ---
571
571
 
572
- **634** declarations, **0** axiom dependencies, **321** definitions they rest on.
572
+ **638** declarations, **0** axiom dependencies, **321** definitions they rest on.
573
573
  A content-address proves integrity, not truth, and an axiom index proves neither: it states what was
574
574
  assumed, so a reader can disagree with the assumptions rather than guess at them. `0/7`.
package/CHALLENGES.md CHANGED
@@ -18,11 +18,11 @@ title: Challenges
18
18
 
19
19
  **Humanity: 1 / 7** (6 open). **This deposit: 0 / 7** — it settles none of the seven itself.
20
20
 
21
- ## Discovered theorems (decidable, over ℤ/9) — 2573 standing in 1 families
21
+ ## Discovered theorems (decidable, over ℤ/9) — 2577 standing in 1 families
22
22
 
23
23
  Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) and chained receipt. Grouped by family (largest first) — easy to spot; use the search box for any keyword:
24
24
 
25
- ### lean (625)
25
+ ### lean (629)
26
26
 
27
27
  - [lean_address_raw_bytes_of_a](/theorem/lean_address_raw_bytes_of_a) — lean address.lean: raw_bytes_of_a — rawBytes A = [88, 118, 248, 251, 63, 149, 14, 202, 10, 251, 189, 97, 221, 134, 206, 204] — decided by the Lean kernel over its whole finite domain, axiom-free · `211de25d-e843…`
28
28
  - [lean_address_to_uuid_bytes_of_a](/theorem/lean_address_to_uuid_bytes_of_a) — lean address.lean: to_uuid_bytes_of_a — toUuidBytes A = [88, 118, 248, 251, 63, 149, 142, 202, 138, 251, 189, 97, 221, 134, 206, 204] — decided by the Lean kernel over its whole finite domain, axiom-free · `c3f88cb7-dd38…`
@@ -649,6 +649,14 @@ Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) an
649
649
  - [lean_families_choose_is_invariant_under_the_involution_k_to_n_minus_k](/theorem/lean_families_choose_is_invariant_under_the_involution_k_to_n_minus_k) — lean families.lean: choose_is_invariant_under_the_involution_k_to_n_minus_k — (List.range 13).all (fun n =&gt; (List.range (n + 1)).all (fun k =&gt; choose n k == choose n (n - k) && n - (n - k) == k)) — decided by the Lean kernel over its whole finite domain, axiom-free · `0affa1b0-91a0…`
650
650
  - [lean_light_the_second_returns_from_the_metre_and_the_period](/theorem/lean_light_the_second_returns_from_the_metre_and_the_period) — lean light.lean: the_second_returns_from_the_metre_and_the_period — (List.range 100).all (fun s =&gt; travel s / c == s && periods s / dNuCs == s) — decided by the Lean kernel over its whole finite domain, axiom-free · `04685db2-fda6…`
651
651
  - [lean_z9_the_orbit_step_is_read_back_by_its_log](/theorem/lean_z9_the_orbit_step_is_read_back_by_its_log) — lean z9.lean: the_orbit_step_is_read_back_by_its_log — (List.range 6).all (fun k =&gt; logOrbit (orbit k) == some k) ∧ units.all (fun u =&gt; (logOrbit u).map orbit == some u) — decided by the Lean kernel over its whole finite domain, axiom-free · `e29d831e-5bde…`
652
+ - [lean_energy_splitting_then_burning_is_the_identity_at_every_ledger_value](/theorem/lean_energy_splitting_then_burning_is_the_identity_at_every_ledger_value) — lean energy.lean: splitting_then_burning_is_the_identity_at_every_ledger_value — ∀ e : Nat, burnE (splitE e) = e — proved by the Lean kernel for every value (by
653
+ intro), standard axioms only — checked by lean.ts · `2105157a-992b…`
654
+ - [lean_light_the_second_returns_from_the_metre_and_the_period_at_every_duration](/theorem/lean_light_the_second_returns_from_the_metre_and_the_period_at_every_duration) — lean light.lean: the_second_returns_from_the_metre_and_the_period_at_every_duration — ∀ s : Nat, travel s / c = s ∧ periods s / dNuCs = s — proved by the Lean kernel for every value (by
655
+ intro), standard axioms only — checked by lean.ts · `e6d8871f-bee4…`
656
+ - [lean_reach_the_predecessor_returns_every_successor](/theorem/lean_reach_the_predecessor_returns_every_successor) — lean reach.lean: the_predecessor_returns_every_successor — ∀ n : Nat, (n + 1) - 1 = n — proved by the Lean kernel for every value (by
657
+ intro), standard axioms only — checked by lean.ts · `a1d55ab6-baca…`
658
+ - [lean_speed_the_microseconds_return_from_the_nanoseconds_at_every_count](/theorem/lean_speed_the_microseconds_return_from_the_nanoseconds_at_every_count) — lean speed.lean: the_microseconds_return_from_the_nanoseconds_at_every_count — ∀ u : Nat, u * 1000 / 1000 = u — proved by the Lean kernel for every value (by
659
+ intro), standard axioms only — checked by lean.ts · `98899238-b934…`
652
660
 
653
661
  ### other — one-of-a-kind (0)
654
662
 
@@ -2233,4 +2241,4 @@ Each was withdrawn for want of a Lean proof and has since been given one, at a n
2233
2241
 
2234
2242
  </details>
2235
2243
 
2236
- Page content-address: `7b1d92f4-42f9-8577-8d05-79f3a3d552ff`. Integrity, not truth — decidable facts and cited status, never a proof of the six open conjectures.
2244
+ Page content-address: `b3fe5a9f-cb56-8d7e-8407-35922ca264f8`. Integrity, not truth — decidable facts and cited status, never a proof of the six open conjectures.
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 634 kernel-accepted declarations across 32 files, and no file uses sorry or native_decide outside a comment.
15
- <sub>SEALED · `6f5ccdad-c187-8e2d-bf23-58c92517617d`</sub>
16
- - 625 of those 634 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 9 close by rfl and are declarations.
17
- <sub>SEALED · `8f2469e5-0e30-8408-88ed-0cb288f40223`</sub>
18
- - 709 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
19
- <sub>SEALED · `6f2c8aa9-68f9-87ce-9260-6cfce74abacb`</sub>
14
+ - The formal layer holds 638 kernel-accepted declarations across 32 files, and no file uses sorry or native_decide outside a comment.
15
+ <sub>SEALED · `ab935eeb-3c6e-8296-b909-662988c0b358`</sub>
16
+ - 625 of those 638 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 13 close by rfl and are declarations.
17
+ <sub>SEALED · `d99ad96a-152f-8c2f-a9fb-8553526bf5d6`</sub>
18
+ - 713 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
19
+ <sub>SEALED · `e4b105b5-952f-8f03-9d59-38a411fb9817`</sub>
20
20
 
21
21
  ## 2 · The ring
22
22
 
@@ -39,10 +39,10 @@ last because the orbit never reaches it.
39
39
 
40
40
  ## 7 · The ledger
41
41
 
42
- - The ledger records 2573 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
43
- <sub>SEALED · `6e736c97-f39b-81b8-91b5-4b5723550eff`</sub>
44
- - The count is 2573, which is 321 octaves and 5 over — the octave is a target the theorems earn, never a quota they are invented to fill.
45
- <sub>SEALED · `a6f00b74-e9a8-8386-9058-95d4889958f6`</sub>
42
+ - The ledger records 2577 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
43
+ <sub>SEALED · `20d842b9-73a7-8689-ba14-d864dd25263e`</sub>
44
+ - The count is 2577, which is 322 octaves and 1 over — the octave is a target the theorems earn, never a quota they are invented to fill.
45
+ <sub>SEALED · `b7bfb85b-fa87-8132-b212-ee42bf396edd`</sub>
46
46
 
47
47
  ## 5 · What the gate does and does not do
48
48
 
@@ -90,7 +90,7 @@ results; it is the result, read off the same arithmetic that produced the table.
90
90
 
91
91
  ## 7 · The proofs, as they document themselves
92
92
 
93
- 32 Lean files in 7 wings, 634 declarations of which 625 are theorems. The prose in this section is read out of the
93
+ 32 Lean files in 7 wings, 638 declarations of which 625 are theorems. The prose in this section is read out of the
94
94
  sources — their frontmatter, their header comments and the comment above each theorem. Editing a proof edits
95
95
  this page; there is nowhere else to keep the description in step.
96
96
 
@@ -132,19 +132,19 @@ this page; there is nowhere else to keep the description in step.
132
132
 
133
133
  **The named theorems people ask for** — `demand3.lean`, 7 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.
134
134
 
135
- **The water loop** — `energy.lean`, 20 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.
135
+ **The water loop** — `energy.lean`, 21 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.
136
136
 
137
137
  **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.
138
138
 
139
- **Light, space and time — arithmetic on numbers a standards body fixed** — `light.lean`, 12 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.
139
+ **Light, space and time — arithmetic on numbers a standards body fixed** — `light.lean`, 13 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.
140
140
 
141
141
  **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.
142
142
 
143
143
  **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.
144
144
 
145
- **What exhaustion reaches, and what lies outside it** — `reach.lean`, 4 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.
145
+ **What exhaustion reaches, and what lies outside it** — `reach.lean`, 5 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.
146
146
 
147
- **Why verification is fast, and what it is not** — `speed.lean`, 10 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
147
+ **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
148
148
 
149
149
  ### the machine
150
150
 
@@ -172,7 +172,7 @@ this page; there is nowhere else to keep the description in step.
172
172
 
173
173
  **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.
174
174
 
175
- 20 of 634 declarations carry no comment of their own and are shown here as the gap they are, not
175
+ 20 of 638 declarations carry no comment of their own and are shown here as the gap they are, not
176
176
  filled with a template.
177
177
 
178
178
  ## 8 · What this build measured about itself
@@ -181,14 +181,14 @@ Read from the artefacts at build time, never carried between runs.
181
181
 
182
182
  | measure | value |
183
183
  |---|---|
184
- | ledger entries | 2,573 — 321 octaves and 5 over |
185
- | standing — carries its own proof | **625** |
184
+ | ledger entries | 2,577 — 322 octaves and 1 over |
185
+ | standing — carries its own proof | **629** |
186
186
  | carried — withdrawn on its own evidence, proved by a live theorem | **434** |
187
187
  | withdrawn — nothing proves it | 1,514 |
188
- | proved in total | **1059** of 2,573 |
189
- | standing keys → distinct theorems | 625 sealed, 0 of them keyed twice, 0 unresolvable |
188
+ | proved in total | **1063** of 2,577 |
189
+ | standing keys → distinct theorems | 629 sealed, 0 of them keyed twice, 0 unresolvable |
190
190
  | Lean files · theorems | 32 · 625 theorems (closed by exhaustion) + 9 rfl declarations, all axiom-free |
191
- | proved `by decide` | 625 of 634 |
191
+ | proved `by decide` | 625 of 638 |
192
192
  | claims a machine can render | 103 of 1,555 |
193
193
  | claims needing an author | 1,452 — reported, never faked |
194
194
 
@@ -227,4 +227,4 @@ whether the work restates someone earlier. [The paper](/paper) typesets every st
227
227
 
228
228
  ---
229
229
 
230
- *17 claims, all verified · 625 Lean theorems · 2573 ledger entries · trial root `6717495a-ed0a-89a4-8be2-36a9cd0aa068` · integrity, not truth · 0/7*
230
+ *17 claims, all verified · 625 Lean theorems · 2577 ledger entries · trial root `b272f281-1f13-861a-bfdb-4c2e8af05483` · integrity, not truth · 0/7*
package/forensic.md CHANGED
@@ -5,18 +5,18 @@ 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 `d2ff7e87-7f32-8616-afb3-22a22b9b0f7b`.
8
+ `npm run forensic`. Content-address `c9811d14-6086-8c4f-9fd8-15e3a791a770`.
9
9
 
10
10
  ## What this record establishes
11
11
 
12
12
  | | |
13
13
  |---|---:|
14
- | ledger entries | **2,573** |
15
- | standing — proved and sealed | 625 |
14
+ | ledger entries | **2,577** |
15
+ | standing — proved and sealed | 629 |
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** |
19
- | commits that changed ledger state | 575 |
19
+ | commits that changed ledger state | 576 |
20
20
 
21
21
  ## Why entries were withdrawn — the reason recorded at the time
22
22
 
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 634 kernel-accepted declarations across 32 files, and no file uses sorry or native_decide outside a comment.
21
- <sub>SEALED · `6f5ccdad-c187-8e2d-bf23-58c92517617d`</sub>
22
- - 625 of those 634 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 9 close by rfl and are declarations.
23
- <sub>SEALED · `8f2469e5-0e30-8408-88ed-0cb288f40223`</sub>
24
- - 709 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
25
- <sub>SEALED · `6f2c8aa9-68f9-87ce-9260-6cfce74abacb`</sub>
20
+ - The formal layer holds 638 kernel-accepted declarations across 32 files, and no file uses sorry or native_decide outside a comment.
21
+ <sub>SEALED · `ab935eeb-3c6e-8296-b909-662988c0b358`</sub>
22
+ - 625 of those 638 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 13 close by rfl and are declarations.
23
+ <sub>SEALED · `d99ad96a-152f-8c2f-a9fb-8553526bf5d6`</sub>
24
+ - 713 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
25
+ <sub>SEALED · `e4b105b5-952f-8f03-9d59-38a411fb9817`</sub>
26
26
 
27
27
  ## 2 · The ring
28
28
 
@@ -45,10 +45,10 @@ last because the orbit never reaches it.
45
45
 
46
46
  ## 7 · The ledger
47
47
 
48
- - The ledger records 2573 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
49
- <sub>SEALED · `6e736c97-f39b-81b8-91b5-4b5723550eff`</sub>
50
- - The count is 2573, which is 321 octaves and 5 over — the octave is a target the theorems earn, never a quota they are invented to fill.
51
- <sub>SEALED · `a6f00b74-e9a8-8386-9058-95d4889958f6`</sub>
48
+ - The ledger records 2577 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
49
+ <sub>SEALED · `20d842b9-73a7-8689-ba14-d864dd25263e`</sub>
50
+ - The count is 2577, which is 322 octaves and 1 over — the octave is a target the theorems earn, never a quota they are invented to fill.
51
+ <sub>SEALED · `b7bfb85b-fa87-8132-b212-ee42bf396edd`</sub>
52
52
 
53
53
  ## 5 · What the gate does and does not do
54
54
 
@@ -96,7 +96,7 @@ results; it is the result, read off the same arithmetic that produced the table.
96
96
 
97
97
  ## 7 · The proofs, as they document themselves
98
98
 
99
- 32 Lean files in 7 wings, 634 declarations of which 625 are theorems. The prose in this section is read out of the
99
+ 32 Lean files in 7 wings, 638 declarations of which 625 are theorems. The prose in this section is read out of the
100
100
  sources — their frontmatter, their header comments and the comment above each theorem. Editing a proof edits
101
101
  this page; there is nowhere else to keep the description in step.
102
102
 
@@ -138,19 +138,19 @@ this page; there is nowhere else to keep the description in step.
138
138
 
139
139
  **The named theorems people ask for** — `demand3.lean`, 7 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.
140
140
 
141
- **The water loop** — `energy.lean`, 20 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.
141
+ **The water loop** — `energy.lean`, 21 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.
142
142
 
143
143
  **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.
144
144
 
145
- **Light, space and time — arithmetic on numbers a standards body fixed** — `light.lean`, 12 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.
145
+ **Light, space and time — arithmetic on numbers a standards body fixed** — `light.lean`, 13 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.
146
146
 
147
147
  **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.
148
148
 
149
149
  **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.
150
150
 
151
- **What exhaustion reaches, and what lies outside it** — `reach.lean`, 4 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.
151
+ **What exhaustion reaches, and what lies outside it** — `reach.lean`, 5 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.
152
152
 
153
- **Why verification is fast, and what it is not** — `speed.lean`, 10 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
153
+ **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
154
154
 
155
155
  ### the machine
156
156
 
@@ -178,7 +178,7 @@ this page; there is nowhere else to keep the description in step.
178
178
 
179
179
  **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.
180
180
 
181
- 20 of 634 declarations carry no comment of their own and are shown here as the gap they are, not
181
+ 20 of 638 declarations carry no comment of their own and are shown here as the gap they are, not
182
182
  filled with a template.
183
183
 
184
184
  ## 8 · What this build measured about itself
@@ -187,14 +187,14 @@ Read from the artefacts at build time, never carried between runs.
187
187
 
188
188
  | measure | value |
189
189
  |---|---|
190
- | ledger entries | 2,573 — 321 octaves and 5 over |
191
- | standing — carries its own proof | **625** |
190
+ | ledger entries | 2,577 — 322 octaves and 1 over |
191
+ | standing — carries its own proof | **629** |
192
192
  | carried — withdrawn on its own evidence, proved by a live theorem | **434** |
193
193
  | withdrawn — nothing proves it | 1,514 |
194
- | proved in total | **1059** of 2,573 |
195
- | standing keys → distinct theorems | 625 sealed, 0 of them keyed twice, 0 unresolvable |
194
+ | proved in total | **1063** of 2,577 |
195
+ | standing keys → distinct theorems | 629 sealed, 0 of them keyed twice, 0 unresolvable |
196
196
  | Lean files · theorems | 32 · 625 theorems (closed by exhaustion) + 9 rfl declarations, all axiom-free |
197
- | proved `by decide` | 625 of 634 |
197
+ | proved `by decide` | 625 of 638 |
198
198
  | claims a machine can render | 103 of 1,555 |
199
199
  | claims needing an author | 1,452 — reported, never faked |
200
200
 
@@ -216,4 +216,4 @@ because no test was written that would seal them.
216
216
 
217
217
  ---
218
218
 
219
- *17 claims, all verified · 625 Lean theorems · 2573 ledger entries · trial root `6717495a-ed0a-89a4-8be2-36a9cd0aa068` · integrity, not truth · 0/7*
219
+ *17 claims, all verified · 625 Lean theorems · 2577 ledger entries · trial root `b272f281-1f13-861a-bfdb-4c2e8af05483` · integrity, not truth · 0/7*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ceccec/millennium-solutions",
3
- "version": "9.1.2",
3
+ "version": "9.1.3",
4
4
  "description": "Verifiable, recomputable ℤ/9 vortex framework in ONE package — content-addressing, audit ledger, exact arithmetic (0/7), and the honesty toolkit. Facts only.",
5
5
  "author": {
6
6
  "name": "Tsvetan Rouschev",