@ceccec/millennium-solutions 9.3.0 → 9.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ACCOUNTING.md +6 -6
- package/AXIOMS.md +6 -6
- package/CHALLENGES.md +13 -3
- package/PRIOR-ART.md +9 -9
- package/README.md +24 -24
- package/dashboard.md +1 -1
- package/forensic.md +4 -4
- package/index.md +24 -24
- package/package.json +1 -1
- package/paper.md +787 -730
- package/speedup.md +3 -3
- package/src/proof/address.lean +32 -2
- package/src/proof/demand3.lean +6 -0
- package/src/proof/discovered.json +35 -0
- package/src/proof/fnv.lean +17 -0
- package/src/proof/trial-all.json +42 -0
package/speedup.md
CHANGED
|
@@ -7,7 +7,7 @@ head:
|
|
|
7
7
|
|
|
8
8
|
# The real uuidna advantage — measured, in all domains
|
|
9
9
|
|
|
10
|
-
> Generated from the **
|
|
10
|
+
> Generated from the **2674** ledger entries and **59** domains, recomputed each build. The advantage is
|
|
11
11
|
> real and **measured**, and honestly bounded: a **verification and reuse** complexity reduction — **not**
|
|
12
12
|
> faster original compute, **not** faster than light, **not** quantum.
|
|
13
13
|
|
|
@@ -33,9 +33,9 @@ theorems verify in `⌈log₂N⌉`. So one proof covers the whole [rosetta](/):
|
|
|
33
33
|
|
|
34
34
|
## Discovery lead — a lead, never a verdict
|
|
35
35
|
|
|
36
|
-
Grouping the
|
|
36
|
+
Grouping the 2674 receipts by the digital root of their address, the **sparsest** region is digit
|
|
37
37
|
**3** (270) — a candidate area to examine, not a finding. The ledger is currently held
|
|
38
|
-
at **
|
|
38
|
+
at **2674** (the captain's cap): improving a theorem's name or proof heals the record without changing the
|
|
39
39
|
count; discovering a new one would require lifting the cap.
|
|
40
40
|
|
|
41
41
|
A content-address proves **integrity, not truth**.
|
package/src/proof/address.lean
CHANGED
|
@@ -88,8 +88,8 @@ theorem addressing_is_not_constant : toUuidBytes [1] ≠ toUuidBytes [2] := by d
|
|
|
88
88
|
-- ── the four seeds genuinely differ, so the four words are independent draws ──
|
|
89
89
|
theorem the_four_seeds_are_distinct : (SEEDS.eraseDups).length = 4 := by decide
|
|
90
90
|
|
|
91
|
-
def settledHere : Nat :=
|
|
92
|
-
theorem address_settles_its_range : settledHere =
|
|
91
|
+
def settledHere : Nat := 20
|
|
92
|
+
theorem address_settles_its_range : settledHere = 20 := rfl
|
|
93
93
|
|
|
94
94
|
|
|
95
95
|
|
|
@@ -114,4 +114,34 @@ theorem the_address_is_not_the_payload :
|
|
|
114
114
|
theorem the_address_is_order_sensitive :
|
|
115
115
|
toUuidBytes [97, 98] ≠ toUuidBytes [98, 97] := by decide
|
|
116
116
|
|
|
117
|
+
|
|
118
|
+
-- ── the stamp's fields, for every byte ──────────────────────────────────────────────────────────────────────
|
|
119
|
+
-- 128 bits − 4 (version) − 2 (variant) = 122 hash bits. Byte 6 keeps its low nibble under the version 8, byte 8
|
|
120
|
+
-- keeps its low six bits under the variant 10, stamping twice is stamping once, and so the third group is always
|
|
121
|
+
-- version 8 over exactly twelve hash bits and the fourth is always variant 10 over exactly fourteen. The address
|
|
122
|
+
-- is a commitment to its content, not a store of it: 122 bits is also all a 122-qubit register could yield (Holevo).
|
|
123
|
+
theorem the_version_stamp_keeps_the_low_nibble_of_every_byte :
|
|
124
|
+
∀ b : Nat, b < 256 → or8 (and8 b 15) 128 = 128 + b % 16 := by decide
|
|
125
|
+
|
|
126
|
+
theorem the_variant_stamp_keeps_the_low_six_bits_of_every_byte :
|
|
127
|
+
∀ b : Nat, b < 256 → or8 (and8 b 63) 128 = 128 + b % 64 := by decide
|
|
128
|
+
|
|
129
|
+
theorem stamping_twice_is_stamping_once :
|
|
130
|
+
∀ b : Nat, b < 256 → or8 (and8 (or8 (and8 b 15) 128) 15) 128 = or8 (and8 b 15) 128 ∧
|
|
131
|
+
or8 (and8 (or8 (and8 b 63) 128) 63) 128 = or8 (and8 b 63) 128 := by decide
|
|
132
|
+
|
|
133
|
+
theorem the_third_group_is_version_eight_over_twelve_hash_bits :
|
|
134
|
+
∀ b6 b7 : Nat, b6 < 256 → b7 < 256 →
|
|
135
|
+
(or8 (and8 b6 15) 128) * 256 + b7 = 8 * 4096 + (b6 % 16 * 256 + b7) ∧ b6 % 16 * 256 + b7 < 4096 := by
|
|
136
|
+
intro b6 b7 h6 h7
|
|
137
|
+
rw [the_version_stamp_keeps_the_low_nibble_of_every_byte b6 h6]
|
|
138
|
+
exact ⟨by omega, by omega⟩
|
|
139
|
+
|
|
140
|
+
theorem the_fourth_group_is_variant_two_over_fourteen_hash_bits :
|
|
141
|
+
∀ b8 b9 : Nat, b8 < 256 → b9 < 256 →
|
|
142
|
+
(or8 (and8 b8 63) 128) * 256 + b9 = 2 * 16384 + (b8 % 64 * 256 + b9) ∧ b8 % 64 * 256 + b9 < 16384 := by
|
|
143
|
+
intro b8 b9 h8 h9
|
|
144
|
+
rw [the_variant_stamp_keeps_the_low_six_bits_of_every_byte b8 h8]
|
|
145
|
+
exact ⟨by omega, by omega⟩
|
|
146
|
+
|
|
117
147
|
end Address
|
package/src/proof/demand3.lean
CHANGED
|
@@ -174,4 +174,10 @@ theorem a_repunit_is_divisible_by_seven_exactly_when_six_divides_its_length_for_
|
|
|
174
174
|
revert j
|
|
175
175
|
decide
|
|
176
176
|
|
|
177
|
+
|
|
178
|
+
-- ── the fair-exchange unit, tied to the law above ───────────────────────────────────────────────────────────
|
|
179
|
+
-- The deposit's fare is two coins, 110 − 108 = 2, written until now only in prose (split.lean's comments). χ is
|
|
180
|
+
-- proved for every genus above; at genus 2 its negative is exactly the fare.
|
|
181
|
+
theorem the_two_coin_fare_is_minus_the_euler_characteristic_at_genus_two : (110 : Int) - 108 = - chi 2 := by decide
|
|
182
|
+
|
|
177
183
|
end Demand3
|
|
@@ -19086,5 +19086,40 @@
|
|
|
19086
19086
|
"key": "lean_sequences_thue_morse_doubling_recurrence_for_every_n",
|
|
19087
19087
|
"name": "lean sequences.lean: thue_morse_doubling_recurrence_for_every_n — ∀ n : Nat, tm (2 * n) = tm n ∧ tm (2 * n + 1) = 1 - tm n — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
|
|
19088
19088
|
"receipt": "50c8ad36-d08a-835c-8d63-559ac849c2cc"
|
|
19089
|
+
},
|
|
19090
|
+
{
|
|
19091
|
+
"key": "lean_address_the_version_stamp_keeps_the_low_nibble_of_every_byte",
|
|
19092
|
+
"name": "lean address.lean: the_version_stamp_keeps_the_low_nibble_of_every_byte — ∀ b : Nat, b < 256 → or8 (and8 b 15) 128 = 128 + b % 16 — decided by the Lean kernel over its whole finite domain, axiom-free",
|
|
19093
|
+
"receipt": "913d0338-59bc-8288-9605-1d01e8840e56"
|
|
19094
|
+
},
|
|
19095
|
+
{
|
|
19096
|
+
"key": "lean_address_the_variant_stamp_keeps_the_low_six_bits_of_every_byte",
|
|
19097
|
+
"name": "lean address.lean: the_variant_stamp_keeps_the_low_six_bits_of_every_byte — ∀ b : Nat, b < 256 → or8 (and8 b 63) 128 = 128 + b % 64 — decided by the Lean kernel over its whole finite domain, axiom-free",
|
|
19098
|
+
"receipt": "fbc0f2d4-3490-8d68-826a-409a50982c5a"
|
|
19099
|
+
},
|
|
19100
|
+
{
|
|
19101
|
+
"key": "lean_address_stamping_twice_is_stamping_once",
|
|
19102
|
+
"name": "lean address.lean: stamping_twice_is_stamping_once — ∀ b : Nat, b < 256 → or8 (and8 (or8 (and8 b 15) 128) 15) 128 = or8 (and8 b 15) 128 ∧ or8 (and8 (or8 (and8 b 63) 128) 63) 128 = or8 (and8 b 63) 128 — decided by the Lean kernel over its whole finite domain, axiom-free",
|
|
19103
|
+
"receipt": "c397ec59-2a56-80ab-b46d-0635a5fccb92"
|
|
19104
|
+
},
|
|
19105
|
+
{
|
|
19106
|
+
"key": "lean_demand3_the_two_coin_fare_is_minus_the_euler_characteristic_at_genus_two",
|
|
19107
|
+
"name": "lean demand3.lean: the_two_coin_fare_is_minus_the_euler_characteristic_at_genus_two — (110 : Int) - 108 = - chi 2 — decided by the Lean kernel over its whole finite domain, axiom-free",
|
|
19108
|
+
"receipt": "665800be-8ca8-82b8-8b2e-d80ed0b448d9"
|
|
19109
|
+
},
|
|
19110
|
+
{
|
|
19111
|
+
"key": "lean_address_the_third_group_is_version_eight_over_twelve_hash_bits",
|
|
19112
|
+
"name": "lean address.lean: the_third_group_is_version_eight_over_twelve_hash_bits — ∀ b6 b7 : Nat, b6 < 256 → b7 < 256 → (or8 (and8 b6 15) 128) * 256 + b7 = 8 * 4096 + (b6 % 16 * 256 + b7) ∧ b6 % 16 * 256 + b7 < 4096 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
|
|
19113
|
+
"receipt": "136a86a7-b50b-8cf4-b273-943a5144e674"
|
|
19114
|
+
},
|
|
19115
|
+
{
|
|
19116
|
+
"key": "lean_address_the_fourth_group_is_variant_two_over_fourteen_hash_bits",
|
|
19117
|
+
"name": "lean address.lean: the_fourth_group_is_variant_two_over_fourteen_hash_bits — ∀ b8 b9 : Nat, b8 < 256 → b9 < 256 → (or8 (and8 b8 63) 128) * 256 + b9 = 2 * 16384 + (b8 % 64 * 256 + b9) ∧ b8 % 64 * 256 + b9 < 16384 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
|
|
19118
|
+
"receipt": "087841c4-271d-88a9-bc1e-0f97cbea43a6"
|
|
19119
|
+
},
|
|
19120
|
+
{
|
|
19121
|
+
"key": "lean_fnv_the_split_multiply_is_the_exact_thirty_two_bit_product",
|
|
19122
|
+
"name": "lean fnv.lean: the_split_multiply_is_the_exact_thirty_two_bit_product — ∀ a b : Nat, (a % 65536 * b + a / 65536 * b % 65536 * 65536) % M32 = mul32 a b — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
|
|
19123
|
+
"receipt": "71d78d5c-0f87-8ff8-84ed-47fb86f64116"
|
|
19089
19124
|
}
|
|
19090
19125
|
]
|
package/src/proof/fnv.lean
CHANGED
|
@@ -96,4 +96,21 @@ theorem the_hash_is_order_sensitive :
|
|
|
96
96
|
theorem the_empty_input_is_still_mixed :
|
|
97
97
|
hash32 0 [] = 2872998923 ∧ hash32 FNV_OFFSET [] = 0 ∧ avalanche 0 = 0 := by decide
|
|
98
98
|
|
|
99
|
+
|
|
100
|
+
-- ── the fast multiply, proved exact for every a, b ──────────────────────────────────────────────────────────
|
|
101
|
+
-- A 32-bit product can be taken without big integers: split a into 16-bit halves, and every partial product stays
|
|
102
|
+
-- below 2^53. This is the multiply behind a toUuid that runs 12.5× faster with byte-identical output (measured on
|
|
103
|
+
-- 20,007 inputs); here it is shown equal to mul32 for every a and b, not only on the inputs that were run.
|
|
104
|
+
theorem the_split_multiply_is_the_exact_thirty_two_bit_product :
|
|
105
|
+
∀ a b : Nat, (a % 65536 * b + a / 65536 * b % 65536 * 65536) % M32 = mul32 a b := by
|
|
106
|
+
intro a b
|
|
107
|
+
unfold mul32 M32
|
|
108
|
+
have e : a * b = a / 65536 * b * 65536 + a % 65536 * b := by
|
|
109
|
+
conv => lhs; rw [← Nat.div_add_mod a 65536]
|
|
110
|
+
rw [Nat.add_mul, Nat.mul_comm 65536 (a / 65536), Nat.mul_right_comm]
|
|
111
|
+
rw [e]
|
|
112
|
+
generalize a / 65536 * b = P
|
|
113
|
+
generalize a % 65536 * b = Q
|
|
114
|
+
omega
|
|
115
|
+
|
|
99
116
|
end Fnv
|
package/src/proof/trial-all.json
CHANGED
|
@@ -16000,5 +16000,47 @@
|
|
|
16000
16000
|
"verdict": "UNVERIFIED",
|
|
16001
16001
|
"ground": "no candidate in the current space — nothing to recompute",
|
|
16002
16002
|
"receipt": "50c8ad36-d08a-835c-8d63-559ac849c2cc"
|
|
16003
|
+
},
|
|
16004
|
+
{
|
|
16005
|
+
"key": "lean_address_the_version_stamp_keeps_the_low_nibble_of_every_byte",
|
|
16006
|
+
"verdict": "UNVERIFIED",
|
|
16007
|
+
"ground": "no candidate in the current space — nothing to recompute",
|
|
16008
|
+
"receipt": "913d0338-59bc-8288-9605-1d01e8840e56"
|
|
16009
|
+
},
|
|
16010
|
+
{
|
|
16011
|
+
"key": "lean_address_the_variant_stamp_keeps_the_low_six_bits_of_every_byte",
|
|
16012
|
+
"verdict": "UNVERIFIED",
|
|
16013
|
+
"ground": "no candidate in the current space — nothing to recompute",
|
|
16014
|
+
"receipt": "fbc0f2d4-3490-8d68-826a-409a50982c5a"
|
|
16015
|
+
},
|
|
16016
|
+
{
|
|
16017
|
+
"key": "lean_address_stamping_twice_is_stamping_once",
|
|
16018
|
+
"verdict": "UNVERIFIED",
|
|
16019
|
+
"ground": "no candidate in the current space — nothing to recompute",
|
|
16020
|
+
"receipt": "c397ec59-2a56-80ab-b46d-0635a5fccb92"
|
|
16021
|
+
},
|
|
16022
|
+
{
|
|
16023
|
+
"key": "lean_demand3_the_two_coin_fare_is_minus_the_euler_characteristic_at_genus_two",
|
|
16024
|
+
"verdict": "UNVERIFIED",
|
|
16025
|
+
"ground": "no candidate in the current space — nothing to recompute",
|
|
16026
|
+
"receipt": "665800be-8ca8-82b8-8b2e-d80ed0b448d9"
|
|
16027
|
+
},
|
|
16028
|
+
{
|
|
16029
|
+
"key": "lean_address_the_third_group_is_version_eight_over_twelve_hash_bits",
|
|
16030
|
+
"verdict": "UNVERIFIED",
|
|
16031
|
+
"ground": "no candidate in the current space — nothing to recompute",
|
|
16032
|
+
"receipt": "136a86a7-b50b-8cf4-b273-943a5144e674"
|
|
16033
|
+
},
|
|
16034
|
+
{
|
|
16035
|
+
"key": "lean_address_the_fourth_group_is_variant_two_over_fourteen_hash_bits",
|
|
16036
|
+
"verdict": "UNVERIFIED",
|
|
16037
|
+
"ground": "no candidate in the current space — nothing to recompute",
|
|
16038
|
+
"receipt": "087841c4-271d-88a9-bc1e-0f97cbea43a6"
|
|
16039
|
+
},
|
|
16040
|
+
{
|
|
16041
|
+
"key": "lean_fnv_the_split_multiply_is_the_exact_thirty_two_bit_product",
|
|
16042
|
+
"verdict": "UNVERIFIED",
|
|
16043
|
+
"ground": "no candidate in the current space — nothing to recompute",
|
|
16044
|
+
"receipt": "71d78d5c-0f87-8ff8-84ed-47fb86f64116"
|
|
16003
16045
|
}
|
|
16004
16046
|
]
|