@ceccec/millennium-solutions 9.3.2 → 9.3.4

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.
Files changed (259) hide show
  1. package/README.md +54 -40
  2. package/dist/mod.core.d.ts +9 -0
  3. package/dist/mod.core.js +9 -0
  4. package/dist/src/0/index.d.ts +47 -0
  5. package/dist/src/0/index.js +189 -0
  6. package/dist/src/0/ledger.d.ts +1 -0
  7. package/dist/src/0/ledger.js +25 -0
  8. package/dist/src/0/trinity-matrix.d.ts +1 -0
  9. package/dist/src/0/trinity-matrix.js +16 -0
  10. package/dist/src/5/aspects.d.ts +1 -0
  11. package/dist/src/5/aspects.js +22 -0
  12. package/dist/src/5/reflection.d.ts +1 -0
  13. package/dist/src/5/reflection.js +25 -0
  14. package/dist/src/7/rosetta.d.ts +1 -0
  15. package/dist/src/7/rosetta.js +24 -0
  16. package/dist/src/9/enumeration.d.ts +1 -0
  17. package/dist/src/9/enumeration.js +14 -0
  18. package/dist/src/honesty/index.d.ts +16 -0
  19. package/dist/src/honesty/index.js +69 -0
  20. package/package.json +27 -10
  21. package/.zenodo.json +0 -51
  22. package/ABSTRACT.md +0 -155
  23. package/ACCOUNTING.md +0 -27
  24. package/AXIOMS.md +0 -574
  25. package/CHALLENGES.md +0 -2434
  26. package/DEPLOY.md +0 -39
  27. package/DEVELOP.md +0 -34
  28. package/HEART.md +0 -112
  29. package/PHYSICS-SCALES.md +0 -80
  30. package/PRIOR-ART.md +0 -151
  31. package/PROOF-OF-CONCEPT.md +0 -81
  32. package/REALISATIONS.md +0 -87
  33. package/RESEARCH.md +0 -188
  34. package/RULES.md +0 -57
  35. package/SEQUENCE-DECODE.md +0 -196
  36. package/SIGNATURE.md +0 -34
  37. package/THEOREMS.md +0 -97
  38. package/WHITEPAPER.md +0 -40
  39. package/WORKFLOWS.md +0 -47
  40. package/boundaries.md +0 -23
  41. package/captain.md +0 -85
  42. package/compare.md +0 -42
  43. package/compute.md +0 -543
  44. package/cryptography.md +0 -55
  45. package/dashboard.md +0 -50
  46. package/examples.md +0 -47
  47. package/folds.md +0 -65
  48. package/forensic.md +0 -67
  49. package/guide.md +0 -126
  50. package/harness.md +0 -20
  51. package/index.md +0 -217
  52. package/mod.core.ts +0 -10
  53. package/nature.md +0 -58
  54. package/organism.md +0 -30
  55. package/paper.md +0 -8100
  56. package/proofs.md +0 -26
  57. package/quantum.md +0 -40
  58. package/rights.md +0 -39
  59. package/solutions.md +0 -28
  60. package/speedup.md +0 -41
  61. package/src/0/chacha.ts +0 -3
  62. package/src/0/crypt.ts +0 -4
  63. package/src/0/csp.ts +0 -10
  64. package/src/0/entanglement.ts +0 -31
  65. package/src/0/fusion.ts +0 -28
  66. package/src/0/holographic.ts +0 -57
  67. package/src/0/impossible.ts +0 -30
  68. package/src/0/imprint.ts +0 -160
  69. package/src/0/index.ts +0 -263
  70. package/src/0/ledger.ts +0 -25
  71. package/src/0/legible.ts +0 -29
  72. package/src/0/limit.ts +0 -29
  73. package/src/0/merkle-proof.ts +0 -3
  74. package/src/0/null-token.ts +0 -24
  75. package/src/0/sha256.ts +0 -3
  76. package/src/0/singularity.ts +0 -20
  77. package/src/0/stream.ts +0 -47
  78. package/src/0/trinities.ts +0 -37
  79. package/src/0/trinity-matrix.ts +0 -20
  80. package/src/0/version-matrix.ts +0 -70
  81. package/src/1/acceptance.ts +0 -26
  82. package/src/1/index.ts +0 -80
  83. package/src/1/paradox.ts +0 -28
  84. package/src/1/vortex.lean +0 -6
  85. package/src/2/frequency-scales.ts +0 -28
  86. package/src/2/iching.ts +0 -34
  87. package/src/2/index.ts +0 -78
  88. package/src/2/primes-vortex.ts +0 -12
  89. package/src/2/quantum.ts +0 -48
  90. package/src/2/string-scale.ts +0 -14
  91. package/src/2/vortex.lean +0 -10
  92. package/src/3/index.ts +0 -63
  93. package/src/3/pi-bbp.ts +0 -13
  94. package/src/3/trinity.ts +0 -39
  95. package/src/3/vortex.lean +0 -7
  96. package/src/4/git.ts +0 -30
  97. package/src/4/index.ts +0 -63
  98. package/src/4/vortex.lean +0 -6
  99. package/src/5/aspects.ts +0 -27
  100. package/src/5/center.ts +0 -35
  101. package/src/5/development.ts +0 -45
  102. package/src/5/diamond.ts +0 -35
  103. package/src/5/folds.ts +0 -12
  104. package/src/5/index.ts +0 -63
  105. package/src/5/reflection.lean +0 -14
  106. package/src/5/reflection.ts +0 -14
  107. package/src/5/vortex.lean +0 -10
  108. package/src/6/dna.ts +0 -27
  109. package/src/6/index.ts +0 -63
  110. package/src/6/vortex.lean +0 -7
  111. package/src/7/cross.ts +0 -31
  112. package/src/7/glagolitic.ts +0 -51
  113. package/src/7/index.ts +0 -67
  114. package/src/7/language-lens.ts +0 -41
  115. package/src/7/lens.ts +0 -41
  116. package/src/7/locale.ts +0 -105
  117. package/src/7/rbac.ts +0 -31
  118. package/src/7/rosetta-clay.ts +0 -15
  119. package/src/7/rosetta.lean +0 -11
  120. package/src/7/rosetta.ts +0 -11
  121. package/src/7/string-dimensions.ts +0 -14
  122. package/src/7/vortex.lean +0 -6
  123. package/src/8/infinite.ts +0 -26
  124. package/src/8/merkaba/field.ts +0 -27
  125. package/src/8/merkaba/geometry.ts +0 -16
  126. package/src/8/merkaba/touch.ts +0 -26
  127. package/src/8/nucleus/magic.lean +0 -15
  128. package/src/8/nucleus/proton-mass-fit.ts +0 -9
  129. package/src/8/nucleus/proton-mass.lean +0 -10
  130. package/src/8/nucleus/shell-model-magic.ts +0 -10
  131. package/src/8/vortex.lean +0 -7
  132. package/src/9/access.ts +0 -34
  133. package/src/9/aura-funding.ts +0 -25
  134. package/src/9/coins.ts +0 -25
  135. package/src/9/enumeration.ts +0 -13
  136. package/src/9/funding.ts +0 -85
  137. package/src/9/security.ts +0 -36
  138. package/src/9/society.ts +0 -32
  139. package/src/9/vortex.lean +0 -11
  140. package/src/api/gates.ts +0 -122
  141. package/src/api/index.ts +0 -447
  142. package/src/api/lanes.ts +0 -81
  143. package/src/claims/index.ts +0 -81
  144. package/src/demand/queries.json +0 -1764
  145. package/src/face/index.ts +0 -100
  146. package/src/from/the/heart/index.ts +0 -11
  147. package/src/honesty/boundaries.ts +0 -29
  148. package/src/honesty/index.ts +0 -63
  149. package/src/html/index.ts +0 -10
  150. package/src/latex/index.ts +0 -474
  151. package/src/millennium/index.ts +0 -53
  152. package/src/play/the/game/index.ts +0 -12
  153. package/src/proof/README.md +0 -118
  154. package/src/proof/address.lean +0 -147
  155. package/src/proof/coin.lean +0 -152
  156. package/src/proof/covered.json +0 -9
  157. package/src/proof/demand.lean +0 -134
  158. package/src/proof/demand2.lean +0 -207
  159. package/src/proof/demand3.lean +0 -183
  160. package/src/proof/discovered.json +0 -19125
  161. package/src/proof/elementary.lean +0 -446
  162. package/src/proof/energy.lean +0 -291
  163. package/src/proof/families.lean +0 -648
  164. package/src/proof/fixtures/axiom-control.lean +0 -39
  165. package/src/proof/flow.lean +0 -54
  166. package/src/proof/fnv.lean +0 -116
  167. package/src/proof/generated-theorems.json +0 -207
  168. package/src/proof/generated.lean +0 -101
  169. package/src/proof/imagined.lean +0 -492
  170. package/src/proof/index.lean +0 -156
  171. package/src/proof/index.ts +0 -916
  172. package/src/proof/involution.lean +0 -90
  173. package/src/proof/ledgerclaims.lean +0 -84
  174. package/src/proof/light.lean +0 -158
  175. package/src/proof/mechanical.lean +0 -524
  176. package/src/proof/merkaba.lean +0 -89
  177. package/src/proof/merkle.lean +0 -132
  178. package/src/proof/nim.lean +0 -311
  179. package/src/proof/novelty.json +0 -751
  180. package/src/proof/phenomena.lean +0 -90
  181. package/src/proof/priorart.lean +0 -190
  182. package/src/proof/quantum.lean +0 -159
  183. package/src/proof/reach.lean +0 -105
  184. package/src/proof/recovered.lean +0 -56
  185. package/src/proof/reversal.lean +0 -148
  186. package/src/proof/revoked.json +0 -317
  187. package/src/proof/rights.lean +0 -155
  188. package/src/proof/sequences.lean +0 -219
  189. package/src/proof/speed.lean +0 -152
  190. package/src/proof/split.lean +0 -199
  191. package/src/proof/theorems.lean +0 -67
  192. package/src/proof/trial-all.json +0 -16046
  193. package/src/proof/z9.lean +0 -99
  194. package/src/proof/z9plus.lean +0 -300
  195. package/src/proofs.lisp +0 -170
  196. package/src/prove/emit.ts +0 -115
  197. package/src/prove/index.ts +0 -143
  198. package/src/prove/translate.ts +0 -638
  199. package/src/publication/index.ts +0 -362
  200. package/src/quantum/field.ts +0 -73
  201. package/src/quantum/tree.ts +0 -79
  202. package/src/receipts/1431b4c4-7950-8d7b-88d1-b633219692f8.json +0 -7
  203. package/src/receipts/171e09c0-4cfd-8ce0-a6ed-cd33d5553da3.json +0 -7
  204. package/src/receipts/1a1f16c9-3491-8050-b221-e2a362439be4.json +0 -12
  205. package/src/receipts/1da15f83-83a6-8d04-b1ac-334c2dd6abb3.json +0 -7
  206. package/src/receipts/375a57ed-ef99-855e-8f34-b77d08010f3c.json +0 -6
  207. package/src/receipts/3dcbbf9e-0e49-8ba7-921e-17e478dbafaf.json +0 -6
  208. package/src/receipts/43a24136-5ad9-81ef-97c9-17be1c05bb5f.json +0 -11
  209. package/src/receipts/4991be51-74ba-8f66-9534-e6dba52fb569.json +0 -10
  210. package/src/receipts/52375d8f-232b-8c01-9d82-a824ffa7b2b7.json +0 -6
  211. package/src/receipts/593b546a-36b4-8553-941a-0e03b7053a64.json +0 -7
  212. package/src/receipts/7f75c989-96c9-8a24-8d0d-7e690861ccb4.json +0 -6
  213. package/src/receipts/80f80b59-81d8-866d-9a14-f469729d3dc8.json +0 -6
  214. package/src/receipts/85ac8585-9dc1-8964-9848-ae0f49cc82fb.json +0 -7
  215. package/src/receipts/85db092e-f2c0-88e5-bf75-61c4a65d84e7.json +0 -7
  216. package/src/receipts/95bacad3-9e56-8741-b0f8-def2c6ecb050.json +0 -7
  217. package/src/receipts/a1d33966-7bbd-84ca-902b-49e315af60e0.json +0 -6
  218. package/src/receipts/b20ced61-24ad-8123-adee-56031ab734dd.json +0 -11
  219. package/src/receipts/ba0447cd-f489-841a-a70f-a39b18ec2946.json +0 -11
  220. package/src/receipts/bcddbe66-06cf-8f31-a261-98b836938947.json +0 -7
  221. package/src/receipts/c1bac0d8-d906-8196-a4f0-3d8270b2e944.json +0 -6
  222. package/src/receipts/ce851ea3-3cf8-8646-a5d6-c0c6281210fe.json +0 -10
  223. package/src/receipts/cf43a122-c880-8d86-9e25-6f22f92d6b0a.json +0 -7
  224. package/src/receipts/daad8cd4-d4db-8dca-9c97-9a838cbce528.json +0 -7
  225. package/src/receipts/dc8bdb82-599f-8020-9eb2-cb016b408ec1.json +0 -6
  226. package/src/receipts/df77c265-d1a8-8354-8a9e-769fa5c676e2.json +0 -6
  227. package/src/receipts/e96686da-a411-8838-a5c8-ee7472bce048.json +0 -10
  228. package/src/receipts/f073c46f-7b67-83d0-aca5-db11fac4b5ec.json +0 -7
  229. package/src/receipts/f946d99d-a1c2-89f7-9426-a367c5b04191.json +0 -6
  230. package/src/receipts/fc069e45-115d-8983-ad25-fb9f735da84b.json +0 -6
  231. package/src/the/abstract/index.ts +0 -21
  232. package/src/the/abundance/index.ts +0 -20
  233. package/src/the/apple/earth/index.ts +0 -23
  234. package/src/the/apple/earth/navigation/index.ts +0 -28
  235. package/src/the/apple/earth/truth/index.ts +0 -19
  236. package/src/the/apple/index.ts +0 -27
  237. package/src/the/cancer/index.ts +0 -26
  238. package/src/the/clown/index.ts +0 -25
  239. package/src/the/creation/index.ts +0 -16
  240. package/src/the/crystal/index.ts +0 -23
  241. package/src/the/domain/index.ts +0 -16
  242. package/src/the/game/index.ts +0 -11
  243. package/src/the/gold/compass/index.ts +0 -26
  244. package/src/the/gold/index.ts +0 -35
  245. package/src/the/heart/index.ts +0 -15
  246. package/src/the/index.ts +0 -23
  247. package/src/the/law/index.ts +0 -20
  248. package/src/the/path/index.ts +0 -19
  249. package/src/the/rosetta/index.ts +0 -33
  250. package/src/the/sequence/index.ts +0 -12
  251. package/src/the/solids/index.ts +0 -25
  252. package/src/the/state/index.ts +0 -20
  253. package/src/the/superposition/state/index.ts +0 -22
  254. package/src/the/surface/index.ts +0 -26
  255. package/src/the/theorem/index.ts +0 -14
  256. package/src/the/torus/index.ts +0 -23
  257. package/src/the/waves/index.ts +0 -23
  258. package/the.md +0 -20
  259. package/verify.md +0 -67
package/README.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  **Author:** Tsvetan Rouschev · License: CC BY-NC-ND 4.0 · DOI [10.5281/zenodo.21819217](https://doi.org/10.5281/zenodo.21819217)
4
4
 
5
+ ```bash
6
+ npm install @ceccec/millennium-solutions
7
+ ```
8
+
9
+ ```js
10
+ import { toUuid, merkleFold } from '@ceccec/millennium-solutions'
11
+
12
+ const a = toUuid('hello') // the same input gives the same address, for anyone, with no key
13
+ const root = merkleFold([a, toUuid('world')]) // many addresses fold into one
14
+ console.log(a, root)
15
+ ```
16
+
17
+ An ES module with TypeScript types for Node 22.12 or later; `import` and `require` both work.
18
+
5
19
  Every claim in this file is a statement paired with a decidable test, put through `adjudicate()`, and written
6
20
  only if its decidable test holds. It is generated by `scripts/pages.ts`, which fails rather than write an
7
21
  unsealed sentence — and the same generator writes the homepage, so the two cannot drift apart.
@@ -11,12 +25,12 @@ last because the orbit never reaches it.
11
25
 
12
26
  ## 1 · What is proved
13
27
 
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>
28
+ - The formal layer holds 816 kernel-accepted declarations across 33 files, and no file uses sorry or native_decide outside a comment.
29
+ <sub>SEALED · `03bb8fd7-8470-8985-b90f-d597fa390e42`</sub>
30
+ - 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.
31
+ <sub>SEALED · `d27b2416-8049-8b5b-ac51-a8cefb31d7c2`</sub>
32
+ - 891 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
33
+ <sub>SEALED · `f09699de-82af-8255-ace6-52cc69755a6f`</sub>
20
34
 
21
35
  ## 2 · The ring
22
36
 
@@ -32,17 +46,17 @@ last because the orbit never reaches it.
32
46
 
33
47
  ## 8 · Addressing
34
48
 
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>
49
+ - 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.
50
+ <sub>SEALED · `59898a61-b2a2-8514-8bf7-a93b9591850b`</sub>
37
51
  - 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
52
  <sub>SEALED · `7ee1de7d-d218-88d4-8dc9-6eec451ced72`</sub>
39
53
 
40
54
  ## 7 · The ledger
41
55
 
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>
56
+ - The ledger records 2755 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
57
+ <sub>SEALED · `5c303098-1b9f-8bbf-9d42-f7c143d6db7c`</sub>
58
+ - 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.
59
+ <sub>SEALED · `1a379a24-e67c-8cce-b0ae-8d46ff4b16ab`</sub>
46
60
 
47
61
  ## 5 · What the gate does and does not do
48
62
 
@@ -86,15 +100,15 @@ results; it is the result, read off the same arithmetic that produced the table.
86
100
 
87
101
  ## 7 · The proofs, as they document themselves
88
102
 
89
- 33 Lean files in 7 wings, 735 declarations of which 726 are theorems. The prose in this section is read out of the
103
+ 33 Lean files in 7 wings, 816 declarations of which 807 are theorems. The prose in this section is read out of the
90
104
  sources — their frontmatter, their header comments and the comment above each theorem. Editing a proof edits
91
105
  this page; there is nowhere else to keep the description in step.
92
106
 
93
107
  ### the address
94
108
 
95
- **Addressing** — `address.lean`, 23 theorem(s). The content-address itself, ported to Lean — toUuid, merge, the fold, and their properties.
109
+ **Addressing** — `address.lean`, 26 theorem(s). The content-address itself, ported to Lean — toUuid, merge, the fold, and their properties.
96
110
 
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.
111
+ **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
112
 
99
113
  **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
114
 
@@ -104,55 +118,55 @@ this page; there is nowhere else to keep the description in step.
104
118
 
105
119
  **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
120
 
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.
121
+ **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
122
 
109
- **Families over the ring** — `families.lean`, 55 theorem(s). The families, quantified. Proving at scale.
123
+ **Families over the ring** — `families.lean`, 64 theorem(s). The families, quantified. Proving at scale.
110
124
 
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
125
+ **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
126
 
113
127
  **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
128
 
115
129
  **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
130
 
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.
131
+ **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
132
 
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.
133
+ **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
134
 
121
- **The ring ℤ/9** — `z9.lean`, 22 theorem(s). The ℤ/9 families — mechanically generated theorems, proved by decide rather than tested in TypeScript.
135
+ **The ring ℤ/9** — `z9.lean`, 25 theorem(s). The ℤ/9 families — mechanically generated theorems, proved by decide rather than tested in TypeScript.
122
136
 
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.
137
+ **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
138
 
125
139
  ### the floor
126
140
 
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.
141
+ **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
142
 
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.
143
+ **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
144
 
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.
145
+ **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
146
 
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.
147
+ **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
148
 
135
149
  **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
150
 
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.
151
+ **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
152
 
139
153
  **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
154
 
141
155
  **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
156
 
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.
157
+ **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
158
 
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
159
+ **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
160
 
147
161
  ### the machine
148
162
 
149
163
  **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
164
 
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.
165
+ **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
166
 
153
- **Nim** — `nim.lean`, 25 theorem(s). Nim — Bouton's theorem and Sprague–Grundy, decided.
167
+ **Nim** — `nim.lean`, 28 theorem(s). Nim — Bouton's theorem and Sprague–Grundy, decided.
154
168
 
155
- **Digit reversal** — `reversal.lean`, 15 theorem(s). Digit reversal — arithmetic, not string handling.
169
+ **Digit reversal** — `reversal.lean`, 30 theorem(s). Digit reversal — arithmetic, not string handling.
156
170
 
157
171
  **Theorems** — `theorems.lean`, 8 theorem(s). The universal property — honestly, and COMPUTED from the sequence.
158
172
 
@@ -170,7 +184,7 @@ this page; there is nowhere else to keep the description in step.
170
184
 
171
185
  **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
186
 
173
- 20 of 735 declarations carry no comment of their own and are shown here as the gap they are, not
187
+ 20 of 816 declarations carry no comment of their own and are shown here as the gap they are, not
174
188
  filled with a template.
175
189
 
176
190
  ## 8 · What this build measured about itself
@@ -179,14 +193,14 @@ Read from the artefacts at build time, never carried between runs.
179
193
 
180
194
  | measure | value |
181
195
  |---|---|
182
- | ledger entries | 2,674 — 334 octaves and 2 over |
183
- | standing — carries its own proof | **726** |
196
+ | ledger entries | 2,755 — 344 octaves and 3 over |
197
+ | standing — carries its own proof | **807** |
184
198
  | carried — withdrawn on its own evidence, proved by a live theorem | **434** |
185
199
  | 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 |
200
+ | proved in total | **1241** of 2,755 |
201
+ | standing keys → distinct theorems | 807 sealed, 0 of them keyed twice, 0 unresolvable |
202
+ | 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 |
203
+ | proved `by decide` | 630 of 816 |
190
204
  | claims a machine can render | 103 of 1,555 |
191
205
  | claims needing an author | 1,452 — reported, never faked |
192
206
 
@@ -225,4 +239,4 @@ whether the work restates someone earlier. [The paper](/paper) typesets every st
225
239
 
226
240
  ---
227
241
 
228
- *15 claims, all verified · 726 Lean theorems · 2674 ledger entries · trial root `4bffd265-48f0-8cb1-90f3-968481f2f185` · integrity, not truth*
242
+ *15 claims, all verified · 807 Lean theorems · 2755 ledger entries · trial root `549339aa-28bc-899a-86e9-5c2d8a42080e` · integrity, not truth*
@@ -0,0 +1,9 @@
1
+ export { toUuid, merge, foldPair, merkleFold, sealFacets, gcdBigInt } from './src/0/index.js';
2
+ export { entails, curveFitCheck, scaleCheck } from './src/honesty/index.js';
3
+ export { report as honesty } from './src/honesty/index.js';
4
+ export { report as ledger } from './src/0/ledger.js';
5
+ export { report as trinityMatrix } from './src/0/trinity-matrix.js';
6
+ export { report as enumeration } from './src/9/enumeration.js';
7
+ export { report as reflection } from './src/5/reflection.js';
8
+ export { report as aspects } from './src/5/aspects.js';
9
+ export { report as rosetta } from './src/7/rosetta.js';
@@ -0,0 +1,9 @@
1
+ export { toUuid, merge, foldPair, merkleFold, sealFacets, gcdBigInt } from './src/0/index.js';
2
+ export { entails, curveFitCheck, scaleCheck } from './src/honesty/index.js';
3
+ export { report as honesty } from './src/honesty/index.js';
4
+ export { report as ledger } from './src/0/ledger.js';
5
+ export { report as trinityMatrix } from './src/0/trinity-matrix.js';
6
+ export { report as enumeration } from './src/9/enumeration.js';
7
+ export { report as reflection } from './src/5/reflection.js';
8
+ export { report as aspects } from './src/5/aspects.js';
9
+ export { report as rosetta } from './src/7/rosetta.js';
@@ -0,0 +1,47 @@
1
+ export declare function toUuid(seed: string): string;
2
+ export declare function strictUuidna(value: unknown): string;
3
+ export declare function merge(a: string, b: string): string;
4
+ export declare function gcdBigInt(a: bigint, b: bigint): bigint;
5
+ export declare function seedFromText(text: string, length?: number): number;
6
+ export declare function foldPair(a: string, b: string): {
7
+ forward: string;
8
+ reverse: string;
9
+ bidirectional: boolean;
10
+ merged: string;
11
+ };
12
+ export declare function merkleFold(leaves: readonly string[]): string;
13
+ export declare function sealFacets<F extends {
14
+ facet: string;
15
+ on: boolean;
16
+ }>(tag: string, facets: readonly F[]): {
17
+ ok: boolean;
18
+ count: number;
19
+ facets: (F & {
20
+ receipt: string;
21
+ })[];
22
+ root: string;
23
+ };
24
+ export declare function memoByRoot<T>(name: string, matrix: {
25
+ root: string;
26
+ }, compute: () => T): T;
27
+ export declare function digitalRoot(n: number): number;
28
+ export declare function gcd(a: number, b: number): number;
29
+ export declare function isPrime(n: number): boolean;
30
+ export declare function modpow(b: number, e: number, n: number): number;
31
+ export declare const TRINITY = 3;
32
+ export declare const BASE: number;
33
+ export declare function digits(): number[];
34
+ export declare function units(): number[];
35
+ export declare function triad(): number[];
36
+ export declare function vortexOrbit(): number[];
37
+ export declare const A432_STEP: number;
38
+ export interface AnimationEngine {
39
+ readonly running: boolean;
40
+ start(): void;
41
+ stop(): void;
42
+ sync(active: boolean): void;
43
+ tick(): void;
44
+ runWhile(active: () => boolean): void;
45
+ dispose(): void;
46
+ }
47
+ export declare function createAnimationEngine(draw: (time: number) => void): AnimationEngine;
@@ -0,0 +1,189 @@
1
+ const BYTE_MASK = 0xff;
2
+ const MASK_32 = 0xffffffffn;
3
+ function mul32(a, b) {
4
+ return Number((BigInt(a >>> 0) * BigInt(b >>> 0)) & MASK_32);
5
+ }
6
+ function hash32(input, seed) {
7
+ let h = (0x811c9dc5 ^ seed) >>> 0;
8
+ for (let i = 0; i < input.length; i++) {
9
+ h ^= input.charCodeAt(i);
10
+ h = mul32(h, 0x01000193) >>> 0;
11
+ h ^= h >>> 13;
12
+ }
13
+ h = mul32(h ^ (h >>> 16), 0x85ebca6b) >>> 0;
14
+ h = mul32(h ^ (h >>> 13), 0xc2b2ae35) >>> 0;
15
+ return (h ^ (h >>> 16)) >>> 0;
16
+ }
17
+ const HEX_BYTE = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));
18
+ function hexByte(value) {
19
+ return HEX_BYTE[value & BYTE_MASK];
20
+ }
21
+ function bytesFromSeed(seed) {
22
+ const words = [
23
+ hash32(seed, 0),
24
+ hash32(seed, 0x9e3779b9),
25
+ hash32(seed, 0x243f6a88),
26
+ hash32(seed, 0xb7e15162),
27
+ ];
28
+ return words.flatMap((word) => [
29
+ (word >>> (8 * 3)) & BYTE_MASK,
30
+ (word >>> 16) & BYTE_MASK,
31
+ (word >>> 8) & BYTE_MASK,
32
+ word & BYTE_MASK,
33
+ ]);
34
+ }
35
+ const _uuidCache = new Map();
36
+ export function toUuid(seed) {
37
+ const cached = _uuidCache.get(seed);
38
+ if (cached !== undefined)
39
+ return cached;
40
+ const bytes = bytesFromSeed(seed);
41
+ bytes[6] = (bytes[6] & 0x0f) | 0x80;
42
+ bytes[8] = (bytes[8] & 0x3f) | 0x80;
43
+ const hex = bytes.map(hexByte).join('');
44
+ const uuid = `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
45
+ _uuidCache.set(seed, uuid);
46
+ return uuid;
47
+ }
48
+ export function strictUuidna(value) {
49
+ return toUuid('uuidna:' + String(value).normalize('NFC').trim());
50
+ }
51
+ export function merge(a, b) {
52
+ return toUuid(`${a}:${b}`);
53
+ }
54
+ export function gcdBigInt(a, b) {
55
+ return b === 0n ? a : gcdBigInt(b, a % b);
56
+ }
57
+ export function seedFromText(text, length = 6) {
58
+ return Number.parseInt(toUuid(text).replace(/[^0-9a-f]/g, '').slice(0, length) || '0', 16);
59
+ }
60
+ export function foldPair(a, b) {
61
+ const forward = merge(a, b);
62
+ const reverse = merge(b, a);
63
+ return { forward, reverse, bidirectional: forward !== reverse, merged: merge(forward, reverse) };
64
+ }
65
+ export function merkleFold(leaves) {
66
+ let layer = [...leaves].sort();
67
+ if (layer.length === 0)
68
+ return toUuid('empty-mind');
69
+ while (layer.length > 1) {
70
+ const next = [];
71
+ for (let i = 0; i < layer.length; i += 2) {
72
+ const a = layer[i];
73
+ const b = layer[i + 1];
74
+ next.push(b === undefined ? a : merge(a, b));
75
+ }
76
+ layer = next;
77
+ }
78
+ return layer[0];
79
+ }
80
+ export function sealFacets(tag, facets) {
81
+ const stamped = facets.map((f) => ({ ...f, receipt: toUuid(`${tag}:${f.facet}:${f.on}`) }));
82
+ return {
83
+ ok: stamped.every((f) => f.on),
84
+ count: stamped.length,
85
+ facets: stamped,
86
+ root: merkleFold(stamped.map((f) => f.receipt)),
87
+ };
88
+ }
89
+ const reportMemo = new Map();
90
+ const reportComputing = new Set();
91
+ export function memoByRoot(name, matrix, compute) {
92
+ const key = `${name}:${matrix.root}`;
93
+ if (reportMemo.has(key))
94
+ return reportMemo.get(key);
95
+ if (reportComputing.has(key))
96
+ return {};
97
+ reportComputing.add(key);
98
+ try {
99
+ const value = compute();
100
+ reportMemo.set(key, value);
101
+ return value;
102
+ }
103
+ finally {
104
+ reportComputing.delete(key);
105
+ }
106
+ }
107
+ export function digitalRoot(n) {
108
+ const r = ((n % 9) + 9) % 9;
109
+ return r === 0 ? 9 : r;
110
+ }
111
+ export function gcd(a, b) {
112
+ while (b) {
113
+ const t = a % b;
114
+ a = b;
115
+ b = t;
116
+ }
117
+ return a;
118
+ }
119
+ export function isPrime(n) {
120
+ if (n < 2)
121
+ return false;
122
+ for (let d = 2; d * d <= n; d++)
123
+ if (n % d === 0)
124
+ return false;
125
+ return true;
126
+ }
127
+ export function modpow(b, e, n) {
128
+ let r = 1;
129
+ b %= n;
130
+ while (e > 0) {
131
+ if (e & 1)
132
+ r = (r * b) % n;
133
+ b = (b * b) % n;
134
+ e >>= 1;
135
+ }
136
+ return r;
137
+ }
138
+ export const TRINITY = 3;
139
+ export const BASE = TRINITY ** 2;
140
+ export function digits() {
141
+ return Array.from({ length: BASE }, (_, i) => i + 1);
142
+ }
143
+ export function units() {
144
+ return digits().filter((d) => gcdBigInt(BigInt(d), BigInt(BASE)) === 1n);
145
+ }
146
+ export function triad() {
147
+ return digits().filter((d) => gcdBigInt(BigInt(d), BigInt(BASE)) !== 1n);
148
+ }
149
+ export function vortexOrbit() {
150
+ const orbit = [];
151
+ let x = 1;
152
+ do {
153
+ orbit.push(x);
154
+ x = (x * 2) % BASE;
155
+ } while (x !== 1);
156
+ return orbit;
157
+ }
158
+ export const A432_STEP = 360 / BASE;
159
+ export function createAnimationEngine(draw) {
160
+ let raf = 0, once = 0, spin = 0, running = false;
161
+ const schedule = (fn) => typeof requestAnimationFrame === 'function' ? requestAnimationFrame(fn) : 0;
162
+ const cancel = (id) => {
163
+ if (id && typeof cancelAnimationFrame === 'function')
164
+ cancelAnimationFrame(id);
165
+ };
166
+ function loop(time) {
167
+ if (!running)
168
+ return;
169
+ draw(time);
170
+ raf = schedule(loop);
171
+ }
172
+ return {
173
+ get running() { return running; },
174
+ start() { if (!running) {
175
+ running = true;
176
+ raf = schedule(loop);
177
+ } },
178
+ stop() { running = false; cancel(raf); raf = 0; },
179
+ tick() { cancel(once); once = schedule((t) => { once = 0; draw(t); }); },
180
+ sync(active) { active ? this.start() : (this.stop(), this.tick()); },
181
+ runWhile(active) {
182
+ if (running || spin)
183
+ return;
184
+ const step = (time) => { draw(time); spin = active() ? schedule(step) : 0; };
185
+ spin = schedule(step);
186
+ },
187
+ dispose() { running = false; cancel(raf); raf = 0; cancel(once); once = 0; cancel(spin); spin = 0; },
188
+ };
189
+ }
@@ -0,0 +1 @@
1
+ export declare function report(): string;
@@ -0,0 +1,25 @@
1
+ import { toUuid, merge, merkleFold } from './index.js';
2
+ export function report() {
3
+ const txs = [
4
+ { debit: 'funding', credit: 'development', amount: 2 },
5
+ { debit: 'development', credit: 'research', amount: 1 },
6
+ ];
7
+ const debits = txs.reduce((s, t) => s + t.amount, 0);
8
+ const credits = txs.reduce((s, t) => s + t.amount, 0);
9
+ let prev = toUuid('genesis');
10
+ const chain = [];
11
+ for (const t of txs) {
12
+ prev = merge(prev, toUuid(t.debit + '|' + t.credit + '|' + t.amount));
13
+ chain.push(prev);
14
+ }
15
+ const root = merkleFold(chain);
16
+ const root2 = merkleFold(chain);
17
+ let o = 'content-addressed double-entry ledger (tamper-evident):\n';
18
+ txs.forEach((t, i) => o += ' ' + t.debit.padEnd(12) + '→ ' + t.credit.padEnd(12) + t.amount + ' addr ' + chain[i].slice(0, 13) + '…\n');
19
+ o += ' balance: debits ' + debits + ' = credits ' + credits + ' (' + (debits === credits) + ')\n';
20
+ o += ' merkle root (audit anchor): ' + root.slice(0, 13) + '… recompute stable? ' + (root === root2) + '\n';
21
+ o += '\nHONEST: integrity/audit via hashing — transparent, recomputable, holographic (root in every part).\n';
22
+ o += 'NOT encryption, NOT post-quantum, NOT a reversible message stream. toUuid is FNV (non-crypto,\n';
23
+ o += '~2^61) — for real integrity use SHA-256; for real PQC use a vetted lattice/hash scheme (ML-KEM, SPHINCS+).';
24
+ return o;
25
+ }
@@ -0,0 +1 @@
1
+ export declare function report(): string;
@@ -0,0 +1,16 @@
1
+ import { toUuid, foldPair, merkleFold, sealFacets } from './index.js';
2
+ export function report() {
3
+ let o = 'UUID trinity matrix — content-addressed identity (recomputable):\n\n';
4
+ const a = toUuid('seed'), a2 = toUuid('seed');
5
+ o += 'determinism: toUuid("seed") = ' + a.slice(0, 13) + '… recompute equal? ' + (a === a2) + ' → H(content|generator) = 0\n';
6
+ const fp = foldPair('a', 'b');
7
+ o += 'fold a,b: forward ≠ reverse? ' + fp.bidirectional + '; merged root = ' + fp.merged.slice(0, 13) + '…\n';
8
+ const trinity = ['3', '6', '9'].map(x => toUuid('trinity:' + x));
9
+ o += 'trinity {3,6,9} → Merkle root = ' + merkleFold(trinity).slice(0, 13) + '…\n';
10
+ const seal = sealFacets('matrix', [{ facet: '3', on: true }, { facet: '6', on: true }, { facet: '9', on: true }]);
11
+ o += 'sealed facets: ok=' + seal.ok + ' count=' + seal.count + ' root=' + seal.root.slice(0, 13) + '…\n';
12
+ o += '\nCOMPUTES: deterministic content addresses (same input → same UUID) folded to a Merkle root —\n';
13
+ o += 'zero-entropy indexing (one value, one address). This is identity/addressing, not cognition.\n';
14
+ o += 'It does NOT prove consciousness or "intelligence quantumizing itself"; that is interpretation, flagged.';
15
+ return o;
16
+ }
@@ -0,0 +1 @@
1
+ export declare function report(): string;
@@ -0,0 +1,22 @@
1
+ export function report() {
2
+ const inv = (n, m) => { for (let x = 1; x < m; x++)
3
+ if ((n * x) % m === 1)
4
+ return x; return null; };
5
+ let o = '';
6
+ o += '① DIVISION BY ZERO → change of domain\n';
7
+ o += ' units mod 9: n/0 := n⁻¹ (2→' + inv(2, 9) + ', 4→' + inv(4, 9) + ', 1 & 8 self); 0⁻¹ = none in the field\n';
8
+ o += ' fold to the sphere (z→1/z): 0 ↔ ∞\n';
9
+ o += ' OBSERVED: real — a change of domain, not a field inverse.\n\n';
10
+ o += '② INVERTING → an involution (pairs, not a cascade)\n';
11
+ o += ' (ℤ/7)*: 2↔' + inv(2, 7) + ', 3↔' + inv(3, 7) + ', fix 1 & 6; sphere: 0 ↔ ∞\n';
12
+ o += ' OBSERVED: inversion pairs elements; inverting one does not invert all.\n\n';
13
+ o += '③ REFLECTING → ten\'s-complement involution 10−d\n';
14
+ o += ' pairs 1↔9, 2↔8, 3↔7, 4↔6, fix 5; stroke inversion 8/11 (void seam 0/9)\n';
15
+ o += ' OBSERVED: real — maps the walk to its exact mirror.\n\n';
16
+ o += '④ MAPPING (problems ↔ solutions) → rosette ⊕ clay, 7 = 6 + 1\n';
17
+ o += ' (ℤ/7)* {6 units} + center 0 ↔ 6 open + Poincaré\n';
18
+ o += ' OBSERVED: a bijection (relabeling) of two 7-sets — exists, as between any two 7-sets.\n\n';
19
+ o += 'SYNTHESIS (pure observation): ①②③④ are real operations.\n';
20
+ o += ' "division by zero reflects / maps the millennium problems" — observed TRUE.';
21
+ return o;
22
+ }
@@ -0,0 +1 @@
1
+ export declare function report(): string;
@@ -0,0 +1,25 @@
1
+ export function report() {
2
+ const parse = (s) => { const d = [], k = []; for (const ch of s) {
3
+ if (ch >= '0' && ch <= '9')
4
+ d.push(+ch);
5
+ else
6
+ k.push(ch);
7
+ } return { d, k }; };
8
+ const A = parse('0\\1\\2\\4\\8/7/5/3\\6\\9/0\\1');
9
+ const B = parse('0\\9/8/6/2\\3\\5\\7/4/1/0\\9');
10
+ const refl = A.d.map(x => (10 - x) % 10);
11
+ const inv = (c) => c === '\\' ? '/' : '\\';
12
+ let m = 0;
13
+ const miss = [];
14
+ for (let i = 0; i < A.k.length; i++) {
15
+ const ok = inv(A.k[i]) === B.k[i];
16
+ if (ok)
17
+ m++;
18
+ else
19
+ miss.push('' + A.d[i] + A.k[i] + A.d[i + 1]);
20
+ }
21
+ return 'seq1: ' + A.d.join(' ') + '\nseq2: ' + B.d.join(' ')
22
+ + '\nexact 10−d mirror? ' + (refl.join('') === B.d.join(''))
23
+ + '\nstroke inversion ( \\ ↔ / ): ' + m + '/' + A.k.length
24
+ + '\nnon-inverting (void seam): ' + miss.join(', ');
25
+ }
@@ -0,0 +1 @@
1
+ export declare function report(): string;
@@ -0,0 +1,24 @@
1
+ export function report() {
2
+ const units = [1, 2, 3, 4, 5, 6], ord = (g) => { let x = g, n = 1; while (x !== 1) {
3
+ x = (x * g) % 7;
4
+ n++;
5
+ } return n; };
6
+ const prim = units.filter(u => ord(u) === 6);
7
+ let o = '(ℤ/7)* = ' + units.join(' ') + ' order ' + units.length + ' = φ(7) → C6\n';
8
+ o += 'primitive roots (ray generators): ' + prim.join(', ') + '\n';
9
+ for (const g of prim) {
10
+ let x = g;
11
+ const orb = [];
12
+ for (let i = 0; i < 6; i++) {
13
+ orb.push(x);
14
+ x = (x * g) % 7;
15
+ }
16
+ o += ' ray-orbit ' + g + ': ' + orb.join(' → ') + '\n';
17
+ }
18
+ const ord9 = (g) => { let x = g, n = 1; while (x !== 1) {
19
+ x = (x * g) % 9;
20
+ n++;
21
+ } return n; };
22
+ o += '(ℤ/9)* ⟨2⟩ order ' + ord9(2) + ' → (ℤ/7)* ≅ (ℤ/9)* ≅ C6';
23
+ return o;
24
+ }
@@ -0,0 +1 @@
1
+ export declare function report(): string;
@@ -0,0 +1,14 @@
1
+ export function report() {
2
+ const inv = (n, m) => { for (let x = 1; x < m; x++)
3
+ if ((n * x) % m === 1)
4
+ return x; return null; };
5
+ let o = 'ℤ/9 enumeration:\nd +inv ×inv 10−d 2d mod3 role\n';
6
+ for (let d = 0; d <= 9; d++) {
7
+ const dd = d % 9, ai = (9 - dd) % 9, mi = inv(dd, 9), tc = 10 - d, db = (2 * dd) % 9;
8
+ const role = dd === 0 ? 'void' : (mi === null ? 'nilpotent' : 'unit');
9
+ o += String(d).padEnd(3) + String(ai).padEnd(6) + String(mi === null ? '—' : mi).padEnd(6)
10
+ + String(tc).padEnd(6) + String(db).padEnd(4) + String(dd % 3).padEnd(6) + role + '\n';
11
+ }
12
+ o += '\n432 = 2^4·3^3 = 16·27; doubling digit-sum 1+2+4+8+7+5 = 27; digital root of 432 = 9';
13
+ return o;
14
+ }