@ceccec/millennium-solutions 9.3.0 → 9.3.2

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/ACCOUNTING.md CHANGED
@@ -8,20 +8,20 @@ Every figure recomputes from `src/` and the git tree on each build; nothing is e
8
8
 
9
9
  | Quantity | Value |
10
10
  |---|---|
11
- | Decidable theorems (chained receipts) | **2,667** |
11
+ | Decidable theorems (chained receipts) | **2,674** |
12
12
  | Signed statement receipts | **29** |
13
13
  | Coins per receipt | **2** |
14
- | Coins on the ledger (theorems × 2) | **5,334** |
14
+ | Coins on the ledger (theorems × 2) | **5,348** |
15
15
  | Coins on signed receipts (× 2) | **58** |
16
- | Released versions (git tags) | **877** |
16
+ | Released versions (git tags) | **879** |
17
17
  | Tracked, content-addressed files | **513** |
18
18
 
19
- Latest release: **v9.2.9**. The fair-exchange unit is **2 coins = 2 bits** (110 − 108 = 2 = −χ genus-2) per receipt. One 64-bit harmony coin is minted per fused `src` `report()` module — see the [state dashboard](/dashboard) for the harmonic root.
19
+ Latest release: **v9.3.1**. The fair-exchange unit is **2 coins = 2 bits** (110 − 108 = 2 = −χ genus-2) per receipt. One 64-bit harmony coin is minted per fused `src` `report()` module — see the [state dashboard](/dashboard) for the harmonic root.
20
20
 
21
21
  ## Bounty — denominated in bits
22
22
 
23
- The bounty for each accepted contribution is **2 bits (2 coins)** — the same fair-exchange unit, earned by the deed (a gate-passing, receipted contribution) and owed by commercial use. Total bounty accounted on the ledger so far: **5,334 bits**. This is an accounting bounty in bits/coins — **integrity, not a cash prize**. Heroes and traitors by deeds, not claims.
23
+ The bounty for each accepted contribution is **2 bits (2 coins)** — the same fair-exchange unit, earned by the deed (a gate-passing, receipted contribution) and owed by commercial use. Total bounty accounted on the ledger so far: **5,348 bits**. This is an accounting bounty in bits/coins — **integrity, not a cash prize**. Heroes and traitors by deeds, not claims.
24
24
 
25
25
  **Not tracked here: tokens.** This repo measures coins (2 per receipt) and 64-bit harmony coins; it does not measure tokens, so no token count or token-to-coin rate is shown — measuring an unmeasured quantity would be an assertion without a receipt. Measure, do not assert.
26
26
 
27
- Page content-address: `98f4711f-a3e5-88a3-b5cd-d9cf6b2ffaf9`. Integrity, not truth.
27
+ Page content-address: `e1c80033-23d5-8d55-af4e-f4cd2e657479`. Integrity, not truth.
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 **728** report the same thing:
8
+ axiom fails the build rather than earning a footnote. All **735** 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
@@ -96,7 +96,7 @@ Each of these is a primitive of this deposit — not derived, not proved, chosen
96
96
  because a reader checking a theorem must be able to read the definition it is about, and because a
97
97
  deposit that reports its axiom count and hides its definition count is reporting the flattering half.
98
98
 
99
- ### `address.lean` — 12 definition(s), 18 theorem(s)
99
+ ### `address.lean` — 12 definition(s), 23 theorem(s)
100
100
 
101
101
  ```lean
102
102
  def andF : Nat → Nat → Nat → Nat
@@ -110,7 +110,7 @@ def stamp (bs : List Nat) : List Nat :=
110
110
  def toUuidBytes (cs : List Nat) : List Nat := stamp (rawBytes cs)
111
111
  def A : List Nat := [97] -- "a"
112
112
  def UUIDNA : List Nat := [117, 117, 105, 100, 110, 97] -- "uuidna"
113
- def settledHere : Nat := 17
113
+ def settledHere : Nat := 20
114
114
  ```
115
115
 
116
116
  ### `coin.lean` — 7 definition(s), 12 theorem(s)
@@ -164,7 +164,7 @@ def pp2000 : List Nat := perfectPowersUpTo 2000
164
164
  def aliquot (n : Nat) : Nat := ((List.range' 1 (n - 1)).filter (fun d => n % d == 0)).foldl (· + ·) 0
165
165
  ```
166
166
 
167
- ### `demand3.lean` — 12 definition(s), 14 theorem(s)
167
+ ### `demand3.lean` — 12 definition(s), 15 theorem(s)
168
168
 
169
169
  ```lean
170
170
  def isSumOfFour (n : Nat) : Bool :=
@@ -295,7 +295,7 @@ def schlafli : List (Nat × Nat) :=
295
295
  def settledHere : Nat := 42
296
296
  ```
297
297
 
298
- ### `fnv.lean` — 13 definition(s), 13 theorem(s)
298
+ ### `fnv.lean` — 13 definition(s), 14 theorem(s)
299
299
 
300
300
  ```lean
301
301
  def xorF : Nat → Nat → Nat → Nat
@@ -569,6 +569,6 @@ def gcd9 (a b : Nat) : Nat := gcdF (a + b + 1) a b
569
569
 
570
570
  ---
571
571
 
572
- **728** declarations, **0** axiom dependencies, **321** definitions they rest on.
572
+ **735** 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.
package/CHALLENGES.md CHANGED
@@ -18,11 +18,11 @@ title: Challenges
18
18
 
19
19
  **Humanity: 1 / 7** (6 open). The author's own claim, that the seven are solved through involution, is stated in his name on the front page.
20
20
 
21
- ## Discovered theorems (decidable, over ℤ/9) — 2667 standing in 1 families
21
+ ## Discovered theorems (decidable, over ℤ/9) — 2674 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 (719)
25
+ ### lean (726)
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…`
@@ -837,6 +837,16 @@ Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) an
837
837
  intro), standard axioms only — checked by lean.ts · `d9da9f38-b47d…`
838
838
  - [lean_sequences_thue_morse_doubling_recurrence_for_every_n](/theorem/lean_sequences_thue_morse_doubling_recurrence_for_every_n) — lean sequences.lean: thue_morse_doubling_recurrence_for_every_n — ∀ n : Nat, tm (2 * n) = tm n ∧ tm (2 * n + 1) = 1 - tm n — proved by the Lean kernel for every value (by
839
839
  intro), standard axioms only — checked by lean.ts · `50c8ad36-d08a…`
840
+ - [lean_address_the_version_stamp_keeps_the_low_nibble_of_every_byte](/theorem/lean_address_the_version_stamp_keeps_the_low_nibble_of_every_byte) — lean address.lean: the_version_stamp_keeps_the_low_nibble_of_every_byte — ∀ b : Nat, b &lt; 256 → or8 (and8 b 15) 128 = 128 + b % 16 — decided by the Lean kernel over its whole finite domain, axiom-free · `913d0338-59bc…`
841
+ - [lean_address_the_variant_stamp_keeps_the_low_six_bits_of_every_byte](/theorem/lean_address_the_variant_stamp_keeps_the_low_six_bits_of_every_byte) — lean address.lean: the_variant_stamp_keeps_the_low_six_bits_of_every_byte — ∀ b : Nat, b &lt; 256 → or8 (and8 b 63) 128 = 128 + b % 64 — decided by the Lean kernel over its whole finite domain, axiom-free · `fbc0f2d4-3490…`
842
+ - [lean_address_stamping_twice_is_stamping_once](/theorem/lean_address_stamping_twice_is_stamping_once) — lean address.lean: stamping_twice_is_stamping_once — ∀ b : Nat, b &lt; 256 → or8 (and8 (or8 (and8 b 15) 128) 15) 128 = or8 (and8 b 15) 128 ∧ or8 (and8 (or8 (and8 b 63) 128) 63) 128 = or8 (and8 b 63) 128 — decided by the Lean kernel over its whole finite domain, axiom-free · `c397ec59-2a56…`
843
+ - [lean_demand3_the_two_coin_fare_is_minus_the_euler_characteristic_at_genus_two](/theorem/lean_demand3_the_two_coin_fare_is_minus_the_euler_characteristic_at_genus_two) — lean demand3.lean: the_two_coin_fare_is_minus_the_euler_characteristic_at_genus_two — (110 : Int) - 108 = - chi 2 — decided by the Lean kernel over its whole finite domain, axiom-free · `665800be-8ca8…`
844
+ - [lean_address_the_third_group_is_version_eight_over_twelve_hash_bits](/theorem/lean_address_the_third_group_is_version_eight_over_twelve_hash_bits) — lean address.lean: the_third_group_is_version_eight_over_twelve_hash_bits — ∀ b6 b7 : Nat, b6 &lt; 256 → b7 &lt; 256 → (or8 (and8 b6 15) 128) * 256 + b7 = 8 * 4096 + (b6 % 16 * 256 + b7) ∧ b6 % 16 * 256 + b7 &lt; 4096 — proved by the Lean kernel for every value (by
845
+ intro), standard axioms only — checked by lean.ts · `136a86a7-b50b…`
846
+ - [lean_address_the_fourth_group_is_variant_two_over_fourteen_hash_bits](/theorem/lean_address_the_fourth_group_is_variant_two_over_fourteen_hash_bits) — lean address.lean: the_fourth_group_is_variant_two_over_fourteen_hash_bits — ∀ b8 b9 : Nat, b8 &lt; 256 → b9 &lt; 256 → (or8 (and8 b8 63) 128) * 256 + b9 = 2 * 16384 + (b8 % 64 * 256 + b9) ∧ b8 % 64 * 256 + b9 &lt; 16384 — proved by the Lean kernel for every value (by
847
+ intro), standard axioms only — checked by lean.ts · `087841c4-271d…`
848
+ - [lean_fnv_the_split_multiply_is_the_exact_thirty_two_bit_product](/theorem/lean_fnv_the_split_multiply_is_the_exact_thirty_two_bit_product) — lean fnv.lean: the_split_multiply_is_the_exact_thirty_two_bit_product — ∀ a b : Nat, (a % 65536 * b + a / 65536 * b % 65536 * 65536) % M32 = mul32 a b — proved by the Lean kernel for every value (by
849
+ intro), standard axioms only — checked by lean.ts · `71d78d5c-0f87…`
840
850
 
841
851
  ### other — one-of-a-kind (0)
842
852
 
@@ -2421,4 +2431,4 @@ Each was withdrawn for want of a Lean proof and has since been given one, at a n
2421
2431
 
2422
2432
  </details>
2423
2433
 
2424
- Page content-address: `2fd965a5-4982-81b6-b757-cc07d87262df`. Integrity, not truth.
2434
+ Page content-address: `d6ba53ba-1a3b-8cf9-90c0-a7b187457d7f`. Integrity, not truth.
package/PRIOR-ART.md CHANGED
@@ -6,7 +6,7 @@ head:
6
6
  ---
7
7
  # Prior art — what is restated, what is claimed, and the difference
8
8
 
9
- Of 728 machine-checked declarations, **719** restate work that already has an author and
9
+ Of 735 machine-checked declarations, **726** restate work that already has an author and
10
10
  **9** are about this deposit's own construction. Each source file declares which it is, in its own
11
11
  frontmatter; [`src/proof/priorart.lean`](https://github.com/ceccec/millennium-solutions/blob/main/src/proof/priorart.lean)
12
12
  holds the same partition as a table the kernel decides over, and the build fails if the two disagree.
@@ -27,7 +27,7 @@ fact about the world, and this deposit does not assert it.
27
27
 
28
28
  | | theorems |
29
29
  |---|---|
30
- | attributed to named earlier work | **719** |
30
+ | attributed to named earlier work | **726** |
31
31
  | unclassified — no search performed, status unknown | **9** |
32
32
  | claimed as novel | **0** |
33
33
 
@@ -47,22 +47,22 @@ searched, where, and when. An earlier version of this page claimed novelty for 1
47
47
  that nothing earlier exists because no one went to check is the same defect as asserting a proof because no
48
48
  one went to read it.
49
49
 
50
- ## Restated from named earlier work — 32 sources, 719 theorems
50
+ ## Restated from named earlier work — 32 sources, 726 theorems
51
51
 
52
52
  No novelty is claimed over any of these. What is done here is to decide each over a stated finite domain,
53
53
  which is a contribution of verification, not of discovery.
54
54
 
55
55
  <table><thead><tr><th>source</th><th>theorems</th><th>domain</th><th>whose work</th></tr></thead><tbody>
56
- <tr><td><code>address.lean</code></td><td>18</td><td>content addressing</td><td>composes FNV-1a (Fowler, Noll, Vo, 1991) with the Merkle hash tree (Merkle, 1979)</td></tr>
56
+ <tr><td><code>address.lean</code></td><td>23</td><td>content addressing</td><td>composes FNV-1a (Fowler, Noll, Vo, 1991) with the Merkle hash tree (Merkle, 1979)</td></tr>
57
57
  <tr><td><code>coin.lean</code></td><td>12</td><td>the method of complements</td><td>the reflection d ↦ 10 − d is the TEN'S COMPLEMENT, and its sibling 9 − d the nines' complement — the method of complements, used to turn subtraction into addition in Pascal's calculator (1642), the Comptometer and the Curta, and in modern computer arithmetic. That it is an involution with a single fixed point is the property those machines rely on. Searched 2026-09-04, term "method of complements / nines' complement / ten's complement"; prior art found and credited</td></tr>
58
58
  <tr><td><code>demand.lean</code></td><td>9</td><td>elementary number theory</td><td>the named results the search data asks for — Bézout’s identity (Étienne Bézout, 1779; Bachet, 1624), the Chinese remainder theorem (Sunzi, c. 3rd–5th century), and others named in their theorems</td></tr>
59
59
  <tr><td><code>demand2.lean</code></td><td>11</td><td>elementary number theory, second tier</td><td>Wilson’s theorem — John Wilson; first proved by Joseph-Louis Lagrange, 1771; the Catalan conjecture on consecutive perfect powers — Eugène Catalan, 1844; proved by Preda Mihăilescu, 2002</td></tr>
60
- <tr><td><code>demand3.lean</code></td><td>14</td><td>elementary number theory, named results</td><td>Legendre’s three-square theorem — Adrien-Marie Legendre, 1797; Carmichael numbers — Robert Carmichael, 1910; amicable pairs — known to antiquity</td></tr>
60
+ <tr><td><code>demand3.lean</code></td><td>15</td><td>elementary number theory, named results</td><td>Legendre’s three-square theorem — Adrien-Marie Legendre, 1797; Carmichael numbers — Robert Carmichael, 1910; amicable pairs — known to antiquity</td></tr>
61
61
  <tr><td><code>elementary.lean</code></td><td>37</td><td>elementary number theory and combinatorial game theory</td><td>Euclid (Elements IX.36) and Euler for the even perfect numbers; the amicable pair</td></tr>
62
62
  <tr><td><code>energy.lean</code></td><td>22</td><td>electrochemistry and combustion</td><td>the laws of electrolysis — Michael Faraday, 1834; the enthalpy of combustion of hydrogen, standard physical chemistry</td></tr>
63
63
  <tr><td><code>families.lean</code></td><td>55</td><td>modular arithmetic, quantified</td><td>quantifies the ℤ/9 arithmetic above; the underlying results are Fermat’s, Euler’s and Gauss’s</td></tr>
64
64
  <tr><td><code>flow.lean</code></td><td>3</td><td>elementary number theory — the multiplicative order of 2 modulo 9</td><td>2⁶ = 64 ≡ 1 (mod 9), so the powers of two modulo 9 repeat with period six — Euler's</td></tr>
65
- <tr><td><code>fnv.lean</code></td><td>13</td><td>non-cryptographic hashing</td><td>FNV-1a — Glenn Fowler, Landon Curt Noll and Phong Vo, 1991</td></tr>
65
+ <tr><td><code>fnv.lean</code></td><td>14</td><td>non-cryptographic hashing</td><td>FNV-1a — Glenn Fowler, Landon Curt Noll and Phong Vo, 1991</td></tr>
66
66
  <tr><td><code>generated.lean</code></td><td>13</td><td>elementary number theory — the unit group of ℤ/9 and the doubling orbit</td><td>the structure underneath is standard and is credited. The doubling orbit</td></tr>
67
67
  <tr><td><code>imagined.lean</code></td><td>118</td><td>elementary number theory — the unit group of Z/9</td><td>the doubling orbit 1,2,4,8,7,5 is the cyclic group U(9), which is cyclic of order 6 generated by 2, with units {1,2,4,5,7,8} = φ(9); 2 and 5 are its only generators. Standard elementary number theory, in Gauss and in every abstract-algebra text. The closure statements quantify that structure. Searched 2026-09-04, term "multiplicative group of units mod 9 cyclic order 6 generated by 2"; prior art found and credited</td></tr>
68
68
  <tr><td><code>index.lean</code></td><td>11</td><td>elementary number theory — the unit group of ℤ/9 and the doubling orbit</td><td>the structure underneath is standard and is credited. The doubling orbit</td></tr>
@@ -92,7 +92,7 @@ which is a contribution of verification, not of discovery.
92
92
  - **Boolean algebra and elementary modular arithmetic** — 119 theorems, in `mechanical.lean`
93
93
  - **canonical forms and order-invariant commitments** — 12 theorems, in `quantum.lean`
94
94
  - **combinatorial game theory** — 25 theorems, in `nim.lean`
95
- - **content addressing** — 18 theorems, in `address.lean`
95
+ - **content addressing** — 23 theorems, in `address.lean`
96
96
  - **copyright law — rights arising without formality** — 9 theorems, in `rights.lean`
97
97
  - **electrochemistry and combustion** — 22 theorems, in `energy.lean`
98
98
  - **elementary arithmetic** — 15 theorems, in `reversal.lean`
@@ -104,7 +104,7 @@ which is a contribution of verification, not of discovery.
104
104
  - **elementary number theory — the unit group of Z/9** — 118 theorems, in `imagined.lean`
105
105
  - **elementary number theory — the unit group of ℤ/9** — 35 theorems, in `recovered.lean`, `split.lean`
106
106
  - **elementary number theory — the unit group of ℤ/9 and the doubling orbit** — 24 theorems, in `generated.lean`, `index.lean`
107
- - **elementary number theory, named results** — 14 theorems, in `demand3.lean`
107
+ - **elementary number theory, named results** — 15 theorems, in `demand3.lean`
108
108
  - **elementary number theory, second tier** — 11 theorems, in `demand2.lean`
109
109
  - **elementary set theory — the naturals are not exhausted by any finite list** — 8 theorems, in `reach.lean`
110
110
  - **hash trees and membership proofs** — 31 theorems, in `ledgerclaims.lean`, `merkle.lean`, `speed.lean`
@@ -114,7 +114,7 @@ which is a contribution of verification, not of discovery.
114
114
  - **modular arithmetic** — 22 theorems, in `z9.lean`
115
115
  - **modular arithmetic and periodicity** — 43 theorems, in `z9plus.lean`
116
116
  - **modular arithmetic, quantified** — 55 theorems, in `families.lean`
117
- - **non-cryptographic hashing** — 13 theorems, in `fnv.lean`
117
+ - **non-cryptographic hashing** — 14 theorems, in `fnv.lean`
118
118
  - **the method of complements** — 20 theorems, in `coin.lean`, `theorems.lean`
119
119
 
120
120
  Each is a field with an existing literature, and each is where this deposit's contribution actually sits: not
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 728 kernel-accepted declarations across 33 files, and no file uses sorry or native_decide outside a comment.
15
- <sub>SEALED · `3b8d9270-258d-88a3-bd23-7e0eb433194d`</sub>
16
- - 625 of those 728 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 103 close by rfl and are declarations.
17
- <sub>SEALED · `b0e81bc2-09ff-87e3-8328-a5fb592f8ed5`</sub>
18
- - 803 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
19
- <sub>SEALED · `e9d67e29-0473-8eda-8d19-e02a368f63a7`</sub>
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>
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 — 43 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 · `ad9565e8-f0b9-8c94-abca-8c2e954b5b87`</sub>
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>
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 2667 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
43
- <sub>SEALED · `0fd051c2-4803-8fad-9d46-c98f8473f7bf`</sub>
44
- - The count is 2667, which is 333 octaves and 3 over — the octave is a target the theorems earn, never a quota they are invented to fill.
45
- <sub>SEALED · `32c53502-acb6-82d1-9b5e-468de308db17`</sub>
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>
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, 728 declarations of which 719 are theorems. The prose in this section is read out of the
89
+ 33 Lean files in 7 wings, 735 declarations of which 726 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`, 18 theorem(s). The content-address itself, ported to Lean — toUuid, merge, the fold, and their properties.
95
+ **Addressing** — `address.lean`, 23 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`, 13 theorem(s). FNV-1a, ported to Lean — the hash the whole deposit's addressing rests on.
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.
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
 
@@ -128,7 +128,7 @@ this page; there is nowhere else to keep the description in step.
128
128
 
129
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.
130
130
 
131
- **The named theorems people ask for** — `demand3.lean`, 14 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`, 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.
132
132
 
133
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.
134
134
 
@@ -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 728 declarations carry no comment of their own and are shown here as the gap they are, not
173
+ 20 of 735 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,667 — 333 octaves and 3 over |
183
- | standing — carries its own proof | **719** |
182
+ | ledger entries | 2,674 — 334 octaves and 2 over |
183
+ | standing — carries its own proof | **726** |
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 | **1153** of 2,667 |
187
- | standing keys → distinct theorems | 719 sealed, 0 of them keyed twice, 0 unresolvable |
188
- | Lean files · theorems | 33 · 719 theorems (625 closed by exhaustion, axiom-free · 94 proved for every value on propext and Quot.sound) + 9 rfl declarations |
189
- | proved `by decide` | 625 of 728 |
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 |
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 · 719 Lean theorems · 2667 ledger entries · trial root `b9bdd086-3a49-83ef-b134-ee87429bf324` · integrity, not truth*
228
+ *15 claims, all verified · 726 Lean theorems · 2674 ledger entries · trial root `4bffd265-48f0-8cb1-90f3-968481f2f185` · 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.2.9</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.1</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,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 `c4f161c6-d6c4-80f1-9aaa-ee9579fddfe1`.
8
+ `npm run forensic`. Content-address `2fc0d808-c0e1-863b-9ce9-21d93a8826fb`.
9
9
 
10
10
  ## What this record establishes
11
11
 
12
12
  | | |
13
13
  |---|---:|
14
- | ledger entries | **2,667** |
15
- | standing — proved and sealed | 719 |
14
+ | ledger entries | **2,674** |
15
+ | standing — proved and sealed | 726 |
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 | 582 |
19
+ | commits that changed ledger state | 584 |
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 728 kernel-accepted declarations across 33 files, and no file uses sorry or native_decide outside a comment.
21
- <sub>SEALED · `3b8d9270-258d-88a3-bd23-7e0eb433194d`</sub>
22
- - 625 of those 728 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 103 close by rfl and are declarations.
23
- <sub>SEALED · `b0e81bc2-09ff-87e3-8328-a5fb592f8ed5`</sub>
24
- - 803 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
25
- <sub>SEALED · `e9d67e29-0473-8eda-8d19-e02a368f63a7`</sub>
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>
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 — 43 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 · `ad9565e8-f0b9-8c94-abca-8c2e954b5b87`</sub>
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>
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 2667 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
49
- <sub>SEALED · `0fd051c2-4803-8fad-9d46-c98f8473f7bf`</sub>
50
- - The count is 2667, which is 333 octaves and 3 over — the octave is a target the theorems earn, never a quota they are invented to fill.
51
- <sub>SEALED · `32c53502-acb6-82d1-9b5e-468de308db17`</sub>
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>
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, 728 declarations of which 719 are theorems. The prose in this section is read out of the
95
+ 33 Lean files in 7 wings, 735 declarations of which 726 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`, 18 theorem(s). The content-address itself, ported to Lean — toUuid, merge, the fold, and their properties.
101
+ **Addressing** — `address.lean`, 23 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`, 13 theorem(s). FNV-1a, ported to Lean — the hash the whole deposit's addressing rests on.
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.
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
 
@@ -134,7 +134,7 @@ this page; there is nowhere else to keep the description in step.
134
134
 
135
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.
136
136
 
137
- **The named theorems people ask for** — `demand3.lean`, 14 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`, 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.
138
138
 
139
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.
140
140
 
@@ -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 728 declarations carry no comment of their own and are shown here as the gap they are, not
179
+ 20 of 735 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,667 — 333 octaves and 3 over |
189
- | standing — carries its own proof | **719** |
188
+ | ledger entries | 2,674 — 334 octaves and 2 over |
189
+ | standing — carries its own proof | **726** |
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 | **1153** of 2,667 |
193
- | standing keys → distinct theorems | 719 sealed, 0 of them keyed twice, 0 unresolvable |
194
- | Lean files · theorems | 33 · 719 theorems (625 closed by exhaustion, axiom-free · 94 proved for every value on propext and Quot.sound) + 9 rfl declarations |
195
- | proved `by decide` | 625 of 728 |
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 |
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 · 719 Lean theorems · 2667 ledger entries · trial root `b9bdd086-3a49-83ef-b134-ee87429bf324` · integrity, not truth*
217
+ *15 claims, all verified · 726 Lean theorems · 2674 ledger entries · trial root `4bffd265-48f0-8cb1-90f3-968481f2f185` · integrity, not truth*
package/nature.md ADDED
@@ -0,0 +1,58 @@
1
+ ---
2
+ title: Nature, proved
3
+ description: Where the deposit's proved laws meet nature and daily life — each one labelled as a fact of nature, a practice you can use, or a metaphor, and linked to the theorem the kernel checked.
4
+ head:
5
+ - ['meta', { name: 'robots', content: 'index, follow' }]
6
+ ---
7
+
8
+ <script setup>
9
+ // Computed from the ledger: an entry is shown only while its theorem is live. Nothing here is typed as a count.
10
+ import { withBase } from 'vitepress'
11
+ import ledger from './src/proof/discovered.json'
12
+ const live = new Map(ledger.filter((e) => !e.revoked).map((e) => [e.key, e]))
13
+ const ENTRIES = [
14
+ { kind: 'fact', where: 'Sunflowers, pinecones, pineapples', what: 'The spiral counts on a seed head are usually two consecutive Fibonacci numbers — 34 and 55, 55 and 89. Consecutive Fibonacci numbers share no common divisor but 1, at every size, so the two families of spirals never fall into a common sub-rhythm.', keys: ['lean_z9plus_consecutive_fibonacci_are_coprime_for_every_n', 'lean_families_cassinis_identity_for_every_m'] },
15
+ { kind: 'fact', where: 'Leaves around a stem', what: 'Ratios of neighbouring Fibonacci numbers close in on the golden ratio — each convergent off by exactly one unit in the determinant — the spacing (about 137.5° between leaves) that many plants use to keep leaves from shading each other.', keys: ['lean_families_the_golden_convergents_are_fibonacci_ratios_with_unit_determinant', 'lean_elementary_the_lucas_numbers_are_the_sum_of_the_neighbouring_fibonaccis_for_every_n'] },
16
+ { kind: 'fact', where: 'Honeycomb', what: 'Six turns of 60° close the circle, so hexagons tile a flat surface; among all tilings into equal cells, the hexagonal one uses the least wall for the area enclosed (the honeycomb theorem, Thomas Hales, 1999 — prior art, not proved here).', keys: ['lean_mechanical_the_regular_hexagon_exterior_angle_is_the_gold_string'] },
17
+ { kind: 'fact', where: 'Islands, cups, cells — every surface', what: 'χ = 2 − 2g for a surface with g holes: a sphere 2, a doughnut 0, a pretzel of two holes −2. Counting holes tells shapes apart that no stretching can turn into one another.', keys: ['lean_demand3_the_euler_characteristic_of_a_genus_g_surface_for_every_g'] },
18
+ { kind: 'fact', where: 'Water and energy', what: 'Mass is conserved at every scale, so no closed loop makes water from nothing: every atom that comes out went in. A device that promises more out than in is refuted before it is built.', keys: ['lean_energy_mass_is_conserved_at_every_scale_so_the_loop_cannot_make_water'] },
19
+ { kind: 'fact', where: 'Your family tree', what: 'Going back, ancestors double each generation: 1 + 2 + 4 + … + 2ⁿ = 2ⁿ⁺¹ − 1. Within a few dozen generations that exceeds everyone who has ever lived, so the branches must meet — we are all related.', keys: ['lean_families_the_powers_of_two_sum_to_one_less_than_the_next_for_every_n'] },
20
+ { kind: 'fact', where: 'An honest second', what: 'The second reads back exactly from the metre and from the caesium period, for every whole number of seconds — the same measure for everyone, everywhere.', keys: ['lean_light_the_second_returns_from_the_metre_and_the_period_for_every_s'] },
21
+ { kind: 'practice', where: 'A right angle with a rope', what: 'Knot a loop of rope into 12 equal parts and peg it as 3, 4 and 5: the corner is square. It works at any size (every multiple of 3-4-5), for fields, garden beds and walls, with no instrument.', keys: ['lean_mechanical_every_multiple_of_three_four_five_is_pythagorean'] },
22
+ { kind: 'practice', where: 'Planting in rows', what: 'Rows of 1, 2, 3, … n plants need n(n + 1)/2 seedlings in all; a square bed grows by one L-shaped border of the next odd number of plants.', keys: ['lean_families_the_numbers_sum_to_their_closed_form_for_every_n', 'lean_families_the_first_n_odd_numbers_sum_to_n_squared_for_every_n'] },
23
+ { kind: 'practice', where: 'Stacking fruit', what: 'A pile of oranges in triangular layers holds a tetrahedral number: the sum of the triangular numbers, n(n + 1)(n + 2)/6.', keys: ['lean_families_the_sums_of_triangular_numbers_are_the_tetrahedral_numbers_for_every_n'] },
24
+ { kind: 'practice', where: 'Checking a bill by hand', what: 'Casting out nines: the digit root of a product is the digit root of the product of the roots, for every pair of numbers — a check at the market with no calculator. Its frontier is honest too: a number and its reversal keep the same remainder by nine, so swapped digits slip through; that is why bank and book numbers use weighted checks (mod 97, mod 11).', keys: ['lean_mechanical_casting_out_nines_is_multiplicative_for_every_a_b', 'lean_reversal_reversal_keeps_the_residue_mod_nine_for_every_n'] },
25
+ { kind: 'practice', where: 'Taking turns fairly', what: 'A B B A B A A B … — the Thue–Morse order — shares first-mover advantage more fairly than A B A B, when children pick teams or neighbours share a well.', keys: ['lean_sequences_thue_morse_doubling_recurrence', 'lean_sequences_thue_morse_doubling_recurrence_for_every_n'] },
26
+ { kind: 'practice', where: 'A fair price', what: 'The deposit’s fare is two coins, fixed by a theorem rather than by whoever holds power: 110 − 108 = 2 = −χ at genus 2.', keys: ['lean_demand3_the_two_coin_fare_is_minus_the_euler_characteristic_at_genus_two'] },
27
+ { kind: 'metaphor', where: 'Repair', what: 'Every step of XOR is undone by repeating it: (a ⊕ b) ⊕ b = a, for every a and b. A picture of repair — a metaphor, not a law of people.', keys: ['lean_nim_xor_is_its_own_inverse_for_every_a_b'] },
28
+ { kind: 'metaphor', where: 'Rhythm', what: 'The Fibonacci numbers repeat their remainders by nine every 24 steps, forever. An arithmetic rhythm — not a claim about days or bodies.', keys: ['lean_z9plus_pisano_period_mod_nine_is_twenty_four_for_every_k'] },
29
+ { kind: 'metaphor', where: 'Colour', what: 'Nine digits at 40° each close the colour wheel with nine distinct hues. A design mapping, honestly labelled.', keys: ['lean_mechanical_arts_nine_hues_distinct'] },
30
+ ]
31
+ const KIND = { fact: 'Facts of nature', practice: 'Practices you can use', metaphor: 'Metaphors, labelled as such' }
32
+ const shown = ENTRIES.map((e) => ({ ...e, proofs: e.keys.filter((k) => live.has(k)).map((k) => ({ key: k, name: live.get(k).name.split('—')[0].trim() })) })).filter((e) => e.proofs.length)
33
+ const groups = Object.entries(KIND).map(([k, title]) => ({ k, title, items: shown.filter((e) => e.kind === k) })).filter((g) => g.items.length)
34
+ </script>
35
+
36
+ # Nature, proved
37
+
38
+ > Mathematics does not make a life blissful. What it can do is show the order in what we already see, let anyone
39
+ > check a claim for themselves, and remove the fear of being cheated — so attention is free for the garden, the
40
+ > people, the light. Each entry below links to the theorem the Lean kernel checked, for every value.
41
+
42
+ <p><strong>{{ shown.length }}</strong> places where a proved law meets nature or daily life, drawn live from the ledger — an entry disappears if its theorem is ever withdrawn.</p>
43
+
44
+ <template v-for="g in groups" :key="g.k">
45
+ <h2>{{ g.title }}</h2>
46
+ <div v-for="e in g.items" :key="e.where" style="border:1px solid var(--vp-c-divider);border-radius:10px;padding:.6rem 1rem;margin:.8rem 0">
47
+ <strong>{{ e.where }}</strong>
48
+ <p style="margin:.3rem 0">{{ e.what }}</p>
49
+ <small>Proved: <template v-for="(p, i) in e.proofs" :key="p.key"><a :href="withBase('/theorem/' + p.key)">{{ p.name }}</a><span v-if="i < e.proofs.length - 1"> · </span></template></small>
50
+ </div>
51
+ </template>
52
+
53
+ ## The frontier, and where it leads
54
+
55
+ The laws here are classical — Fibonacci, Pythagoras, Euler, Thue and Morse long before this deposit. What is new is
56
+ only that each is checked by the kernel for every value, where before it was checked up to a bound. That frontier
57
+ leads outward: a law anyone can recompute on a phone is a law no one can use to cheat them — in a market, a land
58
+ record, a water promise. The bliss is not in the proof; the proof clears the way to it.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ceccec/millennium-solutions",
3
- "version": "9.3.0",
3
+ "version": "9.3.2",
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",