@ceccec/millennium-solutions 9.3.3 → 9.3.5

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 +29 -15
  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 -2595
  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 -8789
  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 -168
  155. package/src/proof/coin.lean +0 -152
  156. package/src/proof/covered.json +0 -9
  157. package/src/proof/demand.lean +0 -160
  158. package/src/proof/demand2.lean +0 -219
  159. package/src/proof/demand3.lean +0 -209
  160. package/src/proof/discovered.json +0 -19530
  161. package/src/proof/elementary.lean +0 -495
  162. package/src/proof/energy.lean +0 -329
  163. package/src/proof/families.lean +0 -740
  164. package/src/proof/fixtures/axiom-control.lean +0 -39
  165. package/src/proof/flow.lean +0 -78
  166. package/src/proof/fnv.lean +0 -127
  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 -168
  175. package/src/proof/mechanical.lean +0 -563
  176. package/src/proof/merkaba.lean +0 -89
  177. package/src/proof/merkle.lean +0 -132
  178. package/src/proof/nim.lean +0 -332
  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 -121
  184. package/src/proof/recovered.lean +0 -56
  185. package/src/proof/reversal.lean +0 -402
  186. package/src/proof/revoked.json +0 -317
  187. package/src/proof/rights.lean +0 -155
  188. package/src/proof/sequences.lean +0 -284
  189. package/src/proof/speed.lean +0 -158
  190. package/src/proof/split.lean +0 -209
  191. package/src/proof/theorems.lean +0 -67
  192. package/src/proof/trial-all.json +0 -16532
  193. package/src/proof/z9.lean +0 -126
  194. package/src/proof/z9plus.lean +0 -345
  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
@@ -1,90 +0,0 @@
1
- set_option maxRecDepth 8000000
2
- -- title: What every involution gives, and what it does not
3
- -- wing: the ring
4
- -- prior_art: named
5
- -- prior_art_domain: elementary group theory — orbit decomposition of an order-two permutation
6
- -- prior_art_note: that a permutation of order two decomposes a finite set into fixed points and
7
- -- transpositions, and that the number of fixed points therefore matches the parity of the set, is
8
- -- classical and long predates this deposit. It is the orbit-counting argument in any first course.
9
- -- What is this deposit's own here is the EXHAUSTIVE decision over ℤ/9 and the measured refusal below.
10
- --
11
- -- THE QUESTION, and it was asked as "do involutions always give a harmonic result?".
12
- --
13
- -- Two readings of "harmonic" are decided here over ALL 2620 involutions of a nine-element set, enumerated
14
- -- rather than sampled. One holds everywhere. The other does not, and the second is the more useful answer,
15
- -- because a claim that survives only on the examples someone happened to pick is the thing this deposit
16
- -- exists to refuse.
17
- --
18
- -- ALWAYS — every involution fixes at least one point, and its fixed points are ODD in number.
19
- -- On nine elements the centre is never absent. There is no involution of ℤ/9 with nothing
20
- -- standing still, and that is not a property of the ones chosen here, it is a property of all
21
- -- of them.
22
- --
23
- -- NOT ALWAYS — "every swapped pair sums to the same value", which is what `refl d = 10 - d` does and
24
- -- what makes the coin's two sides sides of one thing. That is RARE: 90 of 2620, about one in
25
- -- twenty-nine. It is a property of a particular involution, never of involutions.
26
-
27
- namespace Involution
28
-
29
- /-- Every involution of a finite list, as its set of orbits: `(a, a)` is a fixed point, `(a, b)` a swap. -/
30
- -- The fuel is not a hedge and not an approximation: `rest.erase b` is smaller than `rest` but not
31
- -- STRUCTURALLY smaller, so Lean cannot see the recursion terminate and — more to the point — a
32
- -- well-founded definition does not reduce, which would leave every `decide` below unable to evaluate.
33
- -- Counting down a Nat is structural, it reduces, and nine elements can nest at most nine deep. Ten is
34
- -- passed, and `the_fuel_was_not_the_limit` decides that eleven produces the same list: the enumeration
35
- -- stopped because it was complete, not because it ran out.
36
- def matchings : Nat → List Nat → List (List (Nat × Nat))
37
- | 0, _ => []
38
- | _, [] => [[]]
39
- | fuel + 1, a :: rest =>
40
- (matchings fuel rest).map (fun m => (a, a) :: m)
41
- ++ rest.flatMap (fun b => (matchings fuel (rest.erase b)).map (fun m => (a, b) :: m))
42
-
43
- def nine : List Nat := [0, 1, 2, 3, 4, 5, 6, 7, 8]
44
- def all : List (List (Nat × Nat)) := matchings 10 nine
45
-
46
- def fixedPoints (m : List (Nat × Nat)) : Nat := (m.filter (fun p => p.1 == p.2)).length
47
- def swaps (m : List (Nat × Nat)) : List (Nat × Nat) := m.filter (fun p => p.1 != p.2)
48
-
49
- -- ── THE ENUMERATION IS COMPLETE, stated first so every count below is over a domain of known size ───────
50
- theorem there_are_2620_involutions_of_nine : all.length = 2620 := by decide
51
-
52
- theorem the_fuel_was_not_the_limit : (matchings 11 nine).length = all.length := by decide
53
-
54
- -- ── WHAT ALWAYS HOLDS: the centre is never absent ───────────────────────────────────────────────────────
55
- -- Both directions of the same fact. The first is what was asked; the second is why, and it is the sharper
56
- -- statement because it rules out two fixed points as firmly as it rules out none.
57
- theorem every_involution_fixes_at_least_one_point :
58
- all.all (fun m => fixedPoints m ≥ 1) := by decide
59
-
60
- theorem the_fixed_points_are_always_odd :
61
- all.all (fun m => fixedPoints m % 2 == 1) := by decide
62
-
63
- -- Nothing is fixed by every involution — the centre exists, but it is not the same centre.
64
- -- Stated so the theorem above cannot be misread as naming a universal fixed element.
65
- theorem no_single_point_is_fixed_by_all :
66
- nine.all (fun d => ¬ all.all (fun m => m.contains (d, d))) := by decide
67
-
68
- -- ── WHAT DOES NOT HOLD: the constant sum is rare ────────────────────────────────────────────────────────
69
- -- `refl d = 10 - d` sends every swapped pair to the same total, which is the sense in which the coin's
70
- -- reflection is harmonic. Asked of ALL involutions, that fails, and the count says how badly.
71
- def constantSum (m : List (Nat × Nat)) : Bool :=
72
- (swaps m).all (fun p => p.1 + p.2 == ((swaps m).head?.map (fun q => q.1 + q.2)).getD (p.1 + p.2))
73
-
74
- theorem the_constant_sum_is_rare :
75
- (all.filter constantSum).length = 90 := by decide
76
-
77
- theorem so_involutions_are_not_all_harmonic_in_that_sense :
78
- ¬ all.all constantSum := by decide
79
-
80
- -- ── THE DEPOSIT'S OWN REFLECTION IS ONE OF THE NINETY ───────────────────────────────────────────────────
81
- -- The coin's involution on 1..8 with 0 fixed: pairs summing to 9 within the nine-element set. Naming it
82
- -- inside the enumeration is what stops "refl is harmonic" from being read as "involutions are harmonic".
83
- def coinLike : List (Nat × Nat) := [(0, 0), (1, 8), (2, 7), (3, 6), (4, 5)]
84
-
85
- theorem the_coins_reflection_is_harmonic_and_is_one_of_the_ninety :
86
- constantSum coinLike = true
87
- ∧ fixedPoints coinLike = 1
88
- ∧ (swaps coinLike).all (fun p => p.1 + p.2 == 9) := by decide
89
-
90
- end Involution
@@ -1,84 +0,0 @@
1
- import Merkle
2
- set_option maxRecDepth 8000000
3
- -- title: What the ledger claims
4
- -- wing: the address
5
- -- prior_art: named
6
- -- prior_art_domain: hash trees and membership proofs
7
- -- prior_art_note: `membership_grows_by_one_seal_per_doubling` and `membership_is_logarithmic_not_linear`
8
- -- restate the O(log n) membership proof of a hash tree — Ralph Merkle, 1979 (thesis); CRYPTO 1987 — which
9
- -- merkle.lean in this same deposit already credits. Classified `unbounded` on the ground that the subject is
10
- -- this deposit's own ledger; the ledger is its own, the logarithm is not.
11
- -- Bounded: what is not prior art is what THIS ledger claims — the 967-receipt case, the saving arithmetic,
12
- -- and the 128-bit seal width as this deposit mints it.
13
- -- prior_art_search: literature search performed 2026-09-05, terms "Merkle tree membership proof logarithmic
14
- -- verification path length"; prior art found and credited.
15
- -- prior_art_pool: unbounded
16
- -- the subject is this deposit's own ledger; no external work can restate it.
17
- -- BOUNDED means a search is well posed and simply has not been run — the row is unclassified because
18
- -- nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the
19
- -- row will stay unclassified however much work is done. They look identical in a count and need
20
- -- opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn.
21
- -- prior_art_own: claims about this deposit's own ledger
22
- -- Three claims the prose made in words and cited to entries that no longer stand. Restated here as
23
- -- propositions the kernel decides, so the sentences keep a citation that is actually proved.
24
- -- Author: Tsvetan Rouschev · License: CC BY-NC-ND 4.0
25
- --
26
- -- No axioms, no Mathlib, no sorry. Merkle (and through it Address, Fnv) is imported, not restated.
27
-
28
- namespace LedgerClaims
29
-
30
- open Address Fnv Merkle
31
-
32
- -- ── 1 · the seal is 128 bits, and membership is logarithmic, not linear ─────────────────────────────
33
- -- A seal is a uuid: 16 bytes. `rounds` counts the pairing rounds a fold needs for n leaves — which is the
34
- -- number of sibling seals an inclusion proof carries. Fuel-bounded so the recursion is structural.
35
- def rounds : Nat → Nat → Nat
36
- | 0, _ => 0
37
- | _, 0 => 0
38
- | _, 1 => 0
39
- | Nat.succ f, n => 1 + rounds f ((n + 1) / 2)
40
-
41
- -- A seal is a uuid and a uuid is sixteen bytes, so a seal is 128 bits. Stated because everything downstream
42
- -- counts in it: the proof size below is a number of SEALS, and a number of seals only means something once
43
- -- the width of one is fixed. The multiplication is trivial; naming the unit is not.
44
- theorem a_seal_is_128_bits : (toUuidBytes [97]).length * 8 = 128 := by decide
45
-
46
- -- doubling the set adds exactly ONE sibling — the signature of a logarithm, checked across an octave.
47
- theorem membership_grows_by_one_seal_per_doubling :
48
- rounds 40 2 = 1 ∧ rounds 40 4 = 2 ∧ rounds 40 8 = 3 ∧ rounds 40 16 = 4 ∧
49
- rounds 40 32 = 5 ∧ rounds 40 64 = 6 ∧ rounds 40 128 = 7 ∧ rounds 40 256 = 8 := by decide
50
-
51
- -- and it is genuinely sublinear: at 1024 leaves a proof carries 10 seals, not 1024 — 1280 bits, not 131072.
52
- -- (An earlier form of this compared seal-bits against a leaf COUNT; the kernel refuted it, correctly. Both
53
- -- sides are now the same unit, which is the only way the comparison means anything.)
54
- theorem membership_is_logarithmic_not_linear :
55
- rounds 40 1024 = 10 ∧ rounds 40 1024 < 1024 ∧ rounds 40 1024 * 128 < 1024 * 128 := by decide
56
-
57
- -- ── 2 · the 967-receipt case ────────────────────────────────────────────────────────────────────────
58
- -- Verifying membership costs the proof, not the computation: bill the 20 bits verification actually
59
- -- spends, against a computation worth 967 — the saving is the difference, and nothing else.
60
- def saving (value verify : Nat) : Nat := value - verify
61
-
62
- theorem the_967_receipt_case : saving 967 20 = 947 ∧ 20 + 947 = 967 := by decide
63
-
64
- -- the saving is never more than the value, at any size — an accounting identity, not a promise.
65
- theorem a_saving_never_exceeds_its_value :
66
- (List.range 40).all (fun v => (List.range 40).all (fun w => saving v w ≤ v)) := by decide
67
-
68
- -- ── 3 · an address is a pointer, not the payload ────────────────────────────────────────────────────
69
- -- A fixed-width address cannot be the thing it names: there are more payloads than addresses, so two
70
- -- payloads must share one. Shown at 4 bits, where the whole domain fits in the kernel.
71
- def addr4 (x : Nat) : Nat := x % 16
72
-
73
- theorem more_payloads_than_addresses_must_collide :
74
- ((List.range 17).map addr4).eraseDups.length < 17 := by decide
75
-
76
- theorem the_address_does_not_determine_the_payload :
77
- ((List.range 17).any (fun a => (List.range 17).any (fun b => a != b && addr4 a == addr4 b))) = true := by decide
78
-
79
- -- not just at 1024: across the whole octave of set sizes, a proof is strictly smaller than the set it
80
- -- proves membership in. Decided over every n from 2 to 256, not sampled at one convenient point.
81
- theorem a_proof_is_smaller_than_its_set_across_the_octave :
82
- (List.range' 2 255).all (fun n => rounds 40 n < n) := by decide
83
-
84
- end LedgerClaims
@@ -1,168 +0,0 @@
1
- set_option maxRecDepth 8000000
2
- -- title: Light, space and time — arithmetic on numbers a standards body fixed
3
- -- wing: the floor
4
- -- prior_art: named
5
- -- prior_art_domain: metrology — the International System of Units
6
- -- prior_art_note: the exact numerical values below are DEFINITIONS adopted by the Conférence Générale des
7
- -- Poids et Mesures, not results of this deposit: the metre from the speed of light (17th CGPM, 1983) and
8
- -- the seven defining constants fixed exactly in the 2019 revision of the SI, effective 20 May 2019
9
- -- (BIPM, https://www.bipm.org/en/measurement-units/si-defining-constants). Nothing here measures anything.
10
- --
11
- -- WHY A FILE ABOUT LIGHT SPEED CAN EXIST IN A DEPOSIT THAT CLAIMS NO PHYSICS.
12
- --
13
- -- Since 1983 the metre has been DEFINED from the speed of light, and since 2019 all seven SI base units are
14
- -- defined by fixing seven constants to exact numerical values with no uncertainty. That makes 299792458 a
15
- -- number a committee adopted, not a quantity anyone measured — the measuring moved to the other side of the
16
- -- definition. Arithmetic on it is arithmetic on an integer, and the kernel can decide it.
17
- --
18
- -- What follows is therefore about the SI, not about nature. Every theorem here would be equally true if the
19
- -- universe were different, because none of them is about the universe.
20
- --
21
- -- AND THE LIMIT IS PROVED, NOT PROMISED. The digital root of 299792458 is 1. That is a fact about the
22
- -- numeral, in metres per second, and nothing else: doubling the numeral changes the root to 2, while
23
- -- multiplying by a hundred leaves it alone. Both are decided below. A root that moves when you change the
24
- -- unit and stays when you change the scale is a property of decimal notation, and reading significance into
25
- -- it would be the overclaim this deposit exists to refuse.
26
-
27
- -- CLAIMS: physical
28
- namespace Light
29
-
30
- -- ── THE SEVEN, as exact integers. h, e, k and N_A are recorded as their DIGIT SEQUENCES: their defining
31
- -- values carry powers of ten that Nat cannot hold, and the arithmetic below concerns the digits. Saying
32
- -- so here rather than letting a reader assume the number is the quantity. ────────────────────────────
33
- def c : Nat := 299792458 -- m/s, exact
34
- def dNuCs : Nat := 9192631770 -- Hz, exact — the caesium-133 hyperfine transition
35
- def hDigits : Nat := 662607015 -- h = 6.62607015 × 10⁻³⁴ J s
36
- def eDigits : Nat := 1602176634 -- e = 1.602176634 × 10⁻¹⁹ C
37
- def kDigits : Nat := 1380649 -- k = 1.380649 × 10⁻²³ J/K
38
- def naDigits : Nat := 602214076 -- N_A = 6.02214076 × 10²³ mol⁻¹
39
- def kcd : Nat := 683 -- K_cd, lm/W, exact
40
-
41
- def defining : List Nat := [c, dNuCs, hDigits, eDigits, kDigits, naDigits, kcd]
42
-
43
- -- Seven, and seven DIFFERENT ones: a list that repeated a constant would still have length seven. Each is
44
- -- nonzero, so each fixes a unit rather than annulling it. (Was `defining.length = 7`, a count of a typed list.)
45
- theorem the_si_fixes_seven_distinct_nonzero_constants :
46
- defining.length = 7 ∧ defining.eraseDups = defining ∧ defining.all (fun x => x > 0) := by decide
47
-
48
- -- ── SPACE FROM TIME, THROUGH LIGHT ──────────────────────────────────────────────────────────────────────
49
- -- The chain is definitional and it runs one way. ΔνCs fixes the second; the second and c fix the metre. So
50
- -- in the SI a length is a duration scaled by a fixed integer, and the integer is the speed of light.
51
- def travel (seconds : Nat) : Nat := c * seconds -- metres crossed in a whole number of seconds
52
- def periods (seconds : Nat) : Nat := dNuCs * seconds -- caesium periods elapsed in the same interval
53
-
54
- theorem travel_at_one_returns_the_defined_constant : travel 1 = c := by decide
55
-
56
- -- AND THE CHAIN RUNS BACK. Dividing the metres by c returns the seconds, and dividing the periods by ΔνCs
57
- -- returns them too, at every whole second below a hundred: travel and periods are each undone by the
58
- -- constant that defines them, so a length and a count of periods both read back the same duration.
59
- theorem the_second_returns_from_the_metre_and_the_period :
60
- (List.range 100).all (fun s => travel s / c == s && periods s / dNuCs == s) := by decide
61
-
62
- -- And at EVERY duration, proved rather than decided: dividing by the constant that defines the map cancels it,
63
- -- whatever the number of seconds. The standard axiom propext is carried and printed by lean.ts.
64
- theorem the_second_returns_from_the_metre_and_the_period_at_every_duration :
65
- ∀ s : Nat, travel s / c = s ∧ periods s / dNuCs = s := by
66
- intro s; exact ⟨Nat.mul_div_cancel_left s (by decide), Nat.mul_div_cancel_left s (by decide)⟩
67
-
68
- -- ONE INTERVAL, TWO UNITS: the same second is 299792458 metres of light and 9192631770 caesium periods.
69
- -- That is the SI's join between space and time, and it is an identity between two definitions rather than
70
- -- a discovery about either.
71
- theorem travel_and_periods_at_one_return_their_constants :
72
- travel 1 = 299792458 ∧ periods 1 = 9192631770 := by decide
73
-
74
- -- Linear over the whole range checked, so the chain is a scaling and not a coincidence at one point.
75
- theorem the_chain_scales :
76
- ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10].all (fun s => travel s == c * s))
77
- ∧ ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10].all (fun s => periods s == dNuCs * s)) := by decide
78
-
79
- -- ── THE RESIDUES, DECIDED ───────────────────────────────────────────────────────────────────────────────
80
- -- Where each defining numeral lands in this deposit's ring. Stated as arithmetic; read as nothing else.
81
- def root (n : Nat) : Nat := if n == 0 then 9 else 1 + (n - 1) % 9
82
-
83
- theorem the_roots_of_the_seven :
84
- defining.map root = [1, 9, 6, 9, 4, 1, 8] := by decide
85
-
86
- -- Three land on the triad {3,6,9} and four on the units. Both counted, so neither can be quoted alone.
87
- theorem three_on_the_triad_and_four_on_the_units :
88
- (defining.filter (fun n => [3, 6, 9].contains (root n))).length = 3
89
- ∧ (defining.filter (fun n => [1, 2, 4, 5, 7, 8].contains (root n))).length = 4 := by decide
90
-
91
- -- AND THEY DO NOT COVER THE RING. Five residues occur, four never do. Stated because seven numbers landing
92
- -- on five of nine residues is what unrelated numbers do, and the absence is the honest half of the count.
93
- theorem the_seven_roots_miss_four_residues :
94
- (defining.map root).eraseDups.length = 5
95
- ∧ ([1, 2, 3, 4, 5, 6, 7, 8, 9].filter (fun d => ¬ (defining.map root).contains d)) = [2, 3, 5, 7] := by decide
96
-
97
- -- ── THE COINCIDENCE A READER WILL FIND, NAMED AND DEFUSED ──────────────────────────────────────────────
98
- -- The four residues the seven constants miss are 2, 3, 5 and 7 — exactly the primes below nine. Nobody
99
- -- reading the theorem above will fail to notice that, and a deposit that states an absence and says nothing
100
- -- further hands the reader the job of supplying its meaning. So it is stated here as an equality, and then
101
- -- shown to be an accident of the numerals: doubling ONE of the seven — a choice of unit, not a fact about
102
- -- anything — moves the missing set to {2,3,5,8}, which is not the primes. A pattern that a change of unit
103
- -- destroys was never a pattern about the quantities.
104
- def kcdDoubled : Nat := 1366 -- K_cd expressed against a unit half the size; the same luminous efficacy
105
- def alternative : List Nat := [c, dNuCs, hDigits, eDigits, kDigits, naDigits, kcdDoubled]
106
-
107
- theorem the_absent_residues_are_the_primes_below_nine :
108
- ([1, 2, 3, 4, 5, 6, 7, 8, 9].filter (fun d => ¬ (defining.map root).contains d)) = [2, 3, 5, 7] := by decide
109
-
110
- theorem and_a_change_of_unit_destroys_it :
111
- ([1, 2, 3, 4, 5, 6, 7, 8, 9].filter (fun d => ¬ (alternative.map root).contains d)) = [2, 3, 5, 8]
112
- ∧ alternative.length = defining.length := by decide
113
-
114
- -- ── THE LIMIT: THE ROOT IS A PROPERTY OF THE NUMERAL, NOT OF LIGHT ──────────────────────────────────────
115
- -- If the digital root of c said something about light, it could not depend on the unit chosen to write c in.
116
- -- It does. Doubling the numeral moves the root; scaling by a power of ten does not. So the root tracks
117
- -- decimal notation in a chosen unit — and the metre is DEFINED to make this particular numeral come out.
118
- theorem the_root_moves_with_the_unit_so_it_is_not_about_light :
119
- root c = 1 ∧ root (2 * c) = 2 ∧ root (100 * c) = 1 := by decide
120
-
121
- -- ── THE REFUSAL, as a theorem so it is checked and not merely written ───────────────────────────────────
122
- -- Every number in this file is a definition adopted by a committee. No proposition here measures a
123
- -- quantity, predicts an observation, or constrains a physical theory, and none could: arithmetic on a
124
- -- definition returns the definition.
125
- -- ── THE CLAIM, STATED BOLDLY, WITH THE COMPUTATION THAT BREAKS IT ──────────────────────────────────────
126
- -- THE SEVEN SI DEFINING CONSTANTS HAVE DIGITAL ROOTS 1, 9, 6, 9, 4, 1, 8 — AND THE FOUR RESIDUES THEY NEVER
127
- -- REACH ARE EXACTLY THE PRIMES BELOW NINE: 2, 3, 5, 7.
128
- --
129
- -- That is a claim about the actual SI system as the CGPM fixed it, not about a toy. Every numeral here is
130
- -- the committee's own: c = 299792458, ΔνCs = 9192631770, h, e, k, N_A, K_cd. `the_roots_of_the_seven` and
131
- -- `the_absent_residues_are_the_primes_below_nine` decide it over the real values, so a critic who disputes
132
- -- it computes the digital roots and shows a different list. Nothing here hides behind hedging.
133
- --
134
- -- AND THE FALSIFIER IS ALREADY PROVED, IN THIS FILE, DIRECTLY BELOW THE CLAIM.
135
- -- `and_a_change_of_unit_destroys_it` expresses K_cd against a unit half the size — the same luminous
136
- -- efficacy, a different numeral — and the four absent residues become 2, 3, 5, 8. The primes are gone.
137
- -- `the_root_moves_with_the_unit_so_it_is_not_about_light` shows the same for c.
138
- --
139
- -- So the claim stands with its own defeater attached: THE PATTERN IS REAL IN SI AND IS A PROPERTY OF THE
140
- -- CHOSEN UNITS, NOT OF NATURE. A critic does not need to find the weakness — it is stated, decided, and
141
- -- published beside the claim it limits. That is what makes the bold form honest rather than reckless.
142
- --
143
- -- What is NOT claimed, because nothing here decides it: that the pattern predicts an observation, constrains
144
- -- a physical theory, or would survive a different unit system. It would not, and the file proves it. That declaration stood here and was deleted: a
145
- -- literal decided against itself is green whatever the file says, so it could never carry a refusal. What a
146
- -- proposition mentions is a property of the source text, and `contradictions.ts` is where that is checked.
147
- theorem the_definitions_are_seven_and_travel_fixes_zero :
148
- defining.length = 7 ∧ travel 0 = 0 := by decide
149
-
150
-
151
- -- ── the capped row above, proved for every whole number of seconds — no bound ───────────────────────────────
152
- -- the second reads back from the metre and from the caesium period at every s, not only s < 100.
153
- theorem the_second_returns_from_the_metre_and_the_period_for_every_s :
154
- ∀ s : Nat, travel s / c = s ∧ periods s / dNuCs = s := by
155
- intro s
156
- exact ⟨Nat.mul_div_cancel_left s (by decide), Nat.mul_div_cancel_left s (by decide)⟩
157
-
158
-
159
- -- ── reflections, from the easy batch: each law beside its inverse (the 2×7 ↔ 1+6 wave) ──
160
- theorem the_metre_returns_from_the_second_for_every_whole_length :
161
- ∀ m : Nat, m % c = 0 → travel (m / c) = m := by
162
- intro m h; unfold travel; exact Nat.mul_div_cancel' (Nat.dvd_of_mod_eq_zero h)
163
-
164
- theorem the_period_count_returns_from_the_second_for_every_whole_count :
165
- ∀ p : Nat, p % dNuCs = 0 → periods (p / dNuCs) = p := by
166
- intro p h; unfold periods; exact Nat.mul_div_cancel' (Nat.dvd_of_mod_eq_zero h)
167
-
168
- end Light