@ceccec/millennium-solutions 9.0.9 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AXIOMS.md +18 -5
- package/CHALLENGES.md +43 -24
- package/README.md +12 -12
- package/forensic.md +6 -6
- package/index.md +12 -12
- package/package.json +1 -1
- package/paper.md +156 -150
- package/src/proof/discovered.json +151 -19
- package/src/proof/energy.lean +125 -76
- package/src/proof/light.lean +4 -1
- package/src/proof/reach.lean +6 -5
- package/src/proof/speed.lean +27 -9
- package/src/proof/trial-all.json +114 -0
package/AXIOMS.md
CHANGED
|
@@ -9,7 +9,7 @@ axiom fails the build rather than earning a footnote. All **628** report the sam
|
|
|
9
9
|
*does not depend on any axioms*.
|
|
10
10
|
|
|
11
11
|
That is a real property, and it is not the whole picture. **Axiom-free is not assumption-free.** These
|
|
12
|
-
theorems rest on **
|
|
12
|
+
theorems rest on **319** definitions, and every one of them is a choice. A theorem about
|
|
13
13
|
`fall` is a theorem about the digital root only because `fall` is *defined* to be it. Both halves are
|
|
14
14
|
indexed below, and the second is the longer one.
|
|
15
15
|
|
|
@@ -90,7 +90,7 @@ The pins in the control fixture follow the community practice of guarding `#prin
|
|
|
90
90
|
`#guard_msgs`, which turns the axiom footprint into an executable regression test: the assertion is
|
|
91
91
|
checked by the elaborator, and drift fails the build with a mismatch instead of passing unnoticed.
|
|
92
92
|
|
|
93
|
-
## What IS assumed: the
|
|
93
|
+
## What IS assumed: the 319 definitions
|
|
94
94
|
|
|
95
95
|
Each of these is a primitive of this deposit — not derived, not proved, chosen. They are listed in full
|
|
96
96
|
because a reader checking a theorem must be able to read the definition it is about, and because a
|
|
@@ -210,27 +210,39 @@ def tetOf (r : Nat) : List Nat := (unitsMod 9).filter (fun d => d % 3 == r)
|
|
|
210
210
|
def settledHere : Nat := 31
|
|
211
211
|
```
|
|
212
212
|
|
|
213
|
-
### `energy.lean` —
|
|
213
|
+
### `energy.lean` — 30 definition(s), 19 theorem(s)
|
|
214
214
|
|
|
215
215
|
```lean
|
|
216
216
|
def splitCost : Nat := 52000 -- Wh to electrolyse 1 kg H₂ (real cells: 50–55 kWh/kg; ideal is ~39.4)
|
|
217
217
|
def burnYield : Nat := 12000 -- Wh recovered burning it at ~35% engine efficiency (LHV 33.3 kWh/kg)
|
|
218
218
|
def waterOut : Nat := 9 -- litres: 1 kg H₂ + 8 kg O₂ → 9 kg H₂O, the whole point of the exhaust
|
|
219
219
|
def roPerLitre : Nat := 4 -- Wh/litre for reverse osmosis, the ordinary way to clean a litre of water
|
|
220
|
+
def pct (part whole : Nat) : Nat := part * 100 / whole
|
|
220
221
|
def mgH2 : Nat := 2016 -- H₂ = 2 × 1.008 g/mol
|
|
221
222
|
def mgO2 : Nat := 31998 -- O₂ = 2 × 15.999 g/mol
|
|
222
223
|
def mgH2O : Nat := 18015 -- H₂O = 18.015 g/mol
|
|
224
|
+
def mgH : Nat := 1008
|
|
225
|
+
def mgO : Nat := 15999
|
|
226
|
+
def mass (h o : Nat) : Nat := h * mgH + o * mgO
|
|
223
227
|
def balances (a b c : Nat) : Bool := (2 * a == 2 * b) && (a == 2 * c)
|
|
224
228
|
def atomsH2 : Nat × Nat := (2, 0)
|
|
225
229
|
def atomsO2 : Nat × Nat := (0, 2)
|
|
226
230
|
def atomsH2O : Nat × Nat := (2, 1)
|
|
231
|
+
def per10k (part whole : Nat) : Nat := part * 10000 / whole
|
|
232
|
+
def bondHundredthsKJ : Nat := 28583 -- ΔH°f of liquid water, 285.83 kJ/mol, in hundredths
|
|
233
|
+
def splitE (e : Nat) : Nat := e + bondHundredthsKJ
|
|
234
|
+
def burnE (e : Nat) : Nat := e - bondHundredthsKJ
|
|
227
235
|
def molH2 : Nat := 496 -- moles in 1 kg of H₂ (1000 g ÷ 2.016)
|
|
228
236
|
def molO2 : Nat := 248 -- the oxygen that comes with it, half as many moles
|
|
229
237
|
def mLperMol : Nat := 22414 -- millilitres per mole at STP
|
|
230
238
|
def whPerKgH2 : Nat := 33300 -- lower heating value, Wh per kg
|
|
231
239
|
def petrolWhL : Nat := 9700 -- Wh per litre of petrol, for scale
|
|
240
|
+
def litresOf (mol : Nat) : Nat := mol * mLperMol / 1000
|
|
241
|
+
def molesOf (l : Nat) : Nat := l * 1000 / mLperMol
|
|
242
|
+
def whPerLitreAt (kgPerM3 : Nat) : Nat := kgPerM3 * whPerKgH2 / 1000
|
|
232
243
|
def tdsSeawater : Nat := 35000 -- mg of dissolved solids per litre
|
|
233
244
|
def tdsTapWater : Nat := 50 -- mg per litre, ordinary supply
|
|
245
|
+
def residueMg (litres tds : Nat) : Nat := litres * tds
|
|
234
246
|
```
|
|
235
247
|
|
|
236
248
|
### `families.lean` — 44 definition(s), 41 theorem(s)
|
|
@@ -488,7 +500,7 @@ def popcount (n : Nat) : Nat := (List.range 12).foldl (fun a i => a + n / 2 ^ i
|
|
|
488
500
|
def tm (n : Nat) : Nat := popcount n % 2
|
|
489
501
|
```
|
|
490
502
|
|
|
491
|
-
### `speed.lean` —
|
|
503
|
+
### `speed.lean` — 8 definition(s), 10 theorem(s)
|
|
492
504
|
|
|
493
505
|
```lean
|
|
494
506
|
def recomputeUs : Nat := 21582900 -- folding 2^20 leaves
|
|
@@ -498,6 +510,7 @@ def hexChars : Nat := 32 -- an address in the 8-bit hex form fixed by RFC 95
|
|
|
498
510
|
def hexbitChars : Nat := 22 -- the same address over the 64-hexagram lattice
|
|
499
511
|
def hexMs : Nat := 16 -- median ms for 200,000 encodings, 8-bit table
|
|
500
512
|
def hexbitMs : Nat := 30 -- the same work, 6-bit lattice
|
|
513
|
+
def charsFor (b : Nat) : Nat := (128 + b - 1) / b
|
|
501
514
|
```
|
|
502
515
|
|
|
503
516
|
### `split.lean` — 8 definition(s), 19 theorem(s)
|
|
@@ -554,6 +567,6 @@ def gcd9 (a b : Nat) : Nat := gcdF (a + b + 1) a b
|
|
|
554
567
|
|
|
555
568
|
---
|
|
556
569
|
|
|
557
|
-
**628** declarations, **0** axiom dependencies, **
|
|
570
|
+
**628** declarations, **0** axiom dependencies, **319** definitions they rest on.
|
|
558
571
|
A content-address proves integrity, not truth, and an axiom index proves neither: it states what was
|
|
559
572
|
assumed, so a reader can disagree with the assumptions rather than guess at them. `0/7`.
|
package/CHALLENGES.md
CHANGED
|
@@ -18,7 +18,7 @@ title: Challenges
|
|
|
18
18
|
|
|
19
19
|
**Humanity: 1 / 7** (6 open). **This deposit: 0 / 7** — it settles none of the seven itself.
|
|
20
20
|
|
|
21
|
-
## Discovered theorems (decidable, over ℤ/9) —
|
|
21
|
+
## Discovered theorems (decidable, over ℤ/9) — 2567 standing in 1 families
|
|
22
22
|
|
|
23
23
|
Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) and chained receipt. Grouped by family (largest first) — easy to spot; use the search box for any keyword:
|
|
24
24
|
|
|
@@ -271,17 +271,11 @@ Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) an
|
|
|
271
271
|
- [lean_imagined_sextuple_collapses_triad_to_one_value](/theorem/lean_imagined_sextuple_collapses_triad_to_one_value) — lean imagined.lean: sextuple_collapses_triad_to_one_value — ([3, 6, 0].map (fun d => m9 (6 * d))).eraseDups.length = 1 — decided by the Lean kernel over its whole finite domain, axiom-free · `6c5bf198-bd89…`
|
|
272
272
|
- [lean_imagined_sextuple_collapses_tetA_to_one_value](/theorem/lean_imagined_sextuple_collapses_tetA_to_one_value) — lean imagined.lean: sextuple_collapses_tetA_to_one_value — ([1, 4, 7].map (fun d => m9 (6 * d))).eraseDups.length = 1 — decided by the Lean kernel over its whole finite domain, axiom-free · `d29da6cf-62b5…`
|
|
273
273
|
- [lean_imagined_sextuple_collapses_tetB_to_one_value](/theorem/lean_imagined_sextuple_collapses_tetB_to_one_value) — lean imagined.lean: sextuple_collapses_tetB_to_one_value — ([2, 5, 8].map (fun d => m9 (6 * d))).eraseDups.length = 1 — decided by the Lean kernel over its whole finite domain, axiom-free · `ee2a3939-17c8…`
|
|
274
|
-
- [lean_energy_the_loop_returns_less_than_it_took](/theorem/lean_energy_the_loop_returns_less_than_it_took) — lean energy.lean: the_loop_returns_less_than_it_took — burnYield < splitCost ∧ burnYield * 100 / splitCost = 23 — decided by the Lean kernel over its whole finite domain, axiom-free · `8229c511-d4bd…`
|
|
275
274
|
- [lean_energy_a_chain_of_efficiencies_can_only_lose](/theorem/lean_energy_a_chain_of_efficiencies_can_only_lose) — lean energy.lean: a_chain_of_efficiencies_can_only_lose — (List.range 101).all (fun a => (List.range 101).all (fun b => a * b ≤ 100 * a && a * b ≤ 100 * b)) — decided by the Lean kernel over its whole finite domain, axiom-free · `34cbdadb-77a7…`
|
|
276
|
-
- [lean_energy_as_a_purifier_the_loop_costs_a_thousandfold](/theorem/lean_energy_as_a_purifier_the_loop_costs_a_thousandfold) — lean energy.lean: as_a_purifier_the_loop_costs_a_thousandfold — splitCost / waterOut = 5777 ∧ splitCost / waterOut > roPerLitre * 1000 — decided by the Lean kernel over its whole finite domain, axiom-free · `840c66b6-b891…`
|
|
277
|
-
- [lean_energy_the_equation_balances_by_atom_count](/theorem/lean_energy_the_equation_balances_by_atom_count) — lean energy.lean: the_equation_balances_by_atom_count — (2 * 2 = 2 * 2) ∧ (2 * 1 = 1 * 2) ∧ 4 = 2 * 2 ∧ 2 = 1 * 2 — decided by the Lean kernel over its whole finite domain, axiom-free · `ecfd70b1-b35b…`
|
|
278
|
-
- [lean_energy_the_equation_balances_by_mass](/theorem/lean_energy_the_equation_balances_by_mass) — lean energy.lean: the_equation_balances_by_mass — 2 * mgH2O = 2 * mgH2 + mgO2 ∧ 2 * mgH2O = 36030 — decided by the Lean kernel over its whole finite domain, axiom-free · `debf920f-a945…`
|
|
279
275
|
- [lean_energy_the_gases_are_two_to_one_and_consume_each_other_exactly](/theorem/lean_energy_the_gases_are_two_to_one_and_consume_each_other_exactly) — lean energy.lean: the_gases_are_two_to_one_and_consume_each_other_exactly — 2 * 1 = 2 ∧ (2 * 100 / 3 = 66) ∧ (1 * 100 / 3 = 33) ∧ ¬ (1 * 1 = 2) — decided by the Lean kernel over its whole finite domain, axiom-free · `4411df61-18c7…`
|
|
280
|
-
- [lean_energy_hydrogen_is_a_ninth_of_the_mass_and_oxygen_the_rest](/theorem/lean_energy_hydrogen_is_a_ninth_of_the_mass_and_oxygen_the_rest) — lean energy.lean: hydrogen_is_a_ninth_of_the_mass_and_oxygen_the_rest — mgO2 * 100 / (2 * mgH2) = 793 ∧ (2 * mgH2) * 10000 / (2 * mgH2O) = 1119 ∧ mgO2 * 10000 / (2 * mgH2O) = 8880 ∧ 1119 + 8880 = 9999 — decided by the Lean kernel over its whole finite domain, axiom-free · `585ebc79-3eac…`
|
|
281
276
|
- [lean_energy_mass_is_conserved_at_every_scale_so_the_loop_cannot_make_water](/theorem/lean_energy_mass_is_conserved_at_every_scale_so_the_loop_cannot_make_water) — lean energy.lean: mass_is_conserved_at_every_scale_so_the_loop_cannot_make_water — (List.range' 1 100).all (fun n => 2 * n * mgH2O == 2 * n * mgH2 + n * mgO2) ∧ ¬ ((List.range' 1 100).all (fun n => n * mgH2O == n * mgH2 + n * mgO2)) — decided by the Lean kernel over its whole finite domain, axiom-free · `55429cd8-2b19…`
|
|
282
277
|
- [lean_energy_one_litre_split_returns_one_litre_burnt](/theorem/lean_energy_one_litre_split_returns_one_litre_burnt) — lean energy.lean: one_litre_split_returns_one_litre_burnt — 111900 + 888100 = 1000000 ∧ 888100 * 100 / 111900 = 793 — decided by the Lean kernel over its whole finite domain, axiom-free · `e88c70d6-0123…`
|
|
283
278
|
- [lean_energy_only_oxy_hydrogen_burns_without_admitting_nitrogen](/theorem/lean_energy_only_oxy_hydrogen_burns_without_admitting_nitrogen) — lean energy.lean: only_oxy_hydrogen_burns_without_admitting_nitrogen — 7808 * 100 / 2095 = 372 ∧ 0 * 372 = 0 ∧ ¬ (372 = 0) — decided by the Lean kernel over its whole finite domain, axiom-free · `69997ab3-1d7e…`
|
|
284
|
-
- [lean_energy_the_ideal_round_trip_is_exactly_zero](/theorem/lean_energy_the_ideal_round_trip_is_exactly_zero) — lean energy.lean: the_ideal_round_trip_is_exactly_zero — 28583 - 28583 = 0 ∧ 28583 ≤ 28583 ∧ burnYield * 100 / splitCost = 23 — decided by the Lean kernel over its whole finite domain, axiom-free · `181481c2-3745…`
|
|
285
279
|
- [lean_energy_the_two_to_one_is_forced_by_the_oxygen](/theorem/lean_energy_the_two_to_one_is_forced_by_the_oxygen) — lean energy.lean: the_two_to_one_is_forced_by_the_oxygen — balances 2 2 1 = true ∧ balances 1 1 1 = false ∧ (((List.range' 1 9).flatMap (fun a => (List.range' 1 9).flatMap (fun b => (List.range' 1 9).filter (fun c => balances a b c)))).length = 4) ∧ balances 4 4 2 = true ∧ balances 6 6 3 = true ∧ b… — decided by the Lean kernel over its whole finite domain, axiom-free · `75828bd9-1d34…`
|
|
286
280
|
- [lean_imagined_units_is_closed_under_quadruple](/theorem/lean_imagined_units_is_closed_under_quadruple) — lean imagined.lean: units_is_closed_under_quadruple — [1, 2, 4, 5, 7, 8].all (fun d => [1, 2, 4, 5, 7, 8].contains (m9 (4 * d))) — decided by the Lean kernel over its whole finite domain, axiom-free · `e90978b5-a350…`
|
|
287
281
|
- [lean_imagined_triad_is_closed_under_quadruple](/theorem/lean_imagined_triad_is_closed_under_quadruple) — lean imagined.lean: triad_is_closed_under_quadruple — [3, 6, 0].all (fun d => [3, 6, 0].contains (m9 (4 * d))) — decided by the Lean kernel over its whole finite domain, axiom-free · `6d2f140d-6eff…`
|
|
@@ -307,13 +301,6 @@ Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) an
|
|
|
307
301
|
- [lean_imagined_square_carries_all_onto_squares](/theorem/lean_imagined_square_carries_all_onto_squares) — lean imagined.lean: square_carries_all_onto_squares — [0,1,2,3,4,5,6,7,8].all (fun d => [0, 1, 4, 7].contains (m9 (d * d))) ∧ ([0,1,2,3,4,5,6,7,8].map (fun d => m9 (d * d))).eraseDups.length = 4 — decided by the Lean kernel over its whole finite domain, axiom-free · `95bfa2f5-30af…`
|
|
308
302
|
- [lean_imagined_cube_carries_all_onto_cubes](/theorem/lean_imagined_cube_carries_all_onto_cubes) — lean imagined.lean: cube_carries_all_onto_cubes — [0,1,2,3,4,5,6,7,8].all (fun d => [0, 1, 8].contains (m9 (d * d * d))) ∧ ([0,1,2,3,4,5,6,7,8].map (fun d => m9 (d * d * d))).eraseDups.length = 3 — decided by the Lean kernel over its whole finite domain, axiom-free · `614b5517-fe8e…`
|
|
309
303
|
- [lean_imagined_sextuple_carries_cubes_onto_triad](/theorem/lean_imagined_sextuple_carries_cubes_onto_triad) — lean imagined.lean: sextuple_carries_cubes_onto_triad — [0, 1, 8].all (fun d => [3, 6, 0].contains (m9 (6 * d))) ∧ ([0, 1, 8].map (fun d => m9 (6 * d))).eraseDups.length = 3 — decided by the Lean kernel over its whole finite domain, axiom-free · `8d1758c9-e43d…`
|
|
310
|
-
- [lean_energy_the_gases_are_eighteen_hundred_times_the_water_they_came_from](/theorem/lean_energy_the_gases_are_eighteen_hundred_times_the_water_they_came_from) — lean energy.lean: the_gases_are_eighteen_hundred_times_the_water_they_came_from — molH2 * mLperMol / 1000 = 11117 ∧ molO2 * mLperMol / 1000 = 5558 ∧ (molH2 * mLperMol / 1000 + molO2 * mLperMol / 1000) / 9 = 1852 — decided by the Lean kernel over its whole finite domain, axiom-free · `033b4a15-d8ee…`
|
|
311
|
-
- [lean_energy_two_thirds_of_the_volume_carries_a_ninth_of_the_mass](/theorem/lean_energy_two_thirds_of_the_volume_carries_a_ninth_of_the_mass) — lean energy.lean: two_thirds_of_the_volume_carries_a_ninth_of_the_mass — molH2 * 100 / (molH2 + molO2) = 66 ∧ (2 * mgH2) * 100 / (2 * mgH2O) = 11 — decided by the Lean kernel over its whole finite domain, axiom-free · `f8780f77-c9ef…`
|
|
312
|
-
- [lean_energy_uncompressed_hydrogen_is_three_thousandfold_worse_by_volume](/theorem/lean_energy_uncompressed_hydrogen_is_three_thousandfold_worse_by_volume) — lean energy.lean: uncompressed_hydrogen_is_three_thousandfold_worse_by_volume — whPerKgH2 * 100 / (molH2 * mLperMol / 1000) = 299 ∧ petrolWhL * 100 / 299 = 3244 — decided by the Lean kernel over its whole finite domain, axiom-free · `9c0e0943-6e5a…`
|
|
313
|
-
- [lean_energy_even_at_seven_hundred_bar_it_is_sevenfold_worse_by_volume](/theorem/lean_energy_even_at_seven_hundred_bar_it_is_sevenfold_worse_by_volume) — lean energy.lean: even_at_seven_hundred_bar_it_is_sevenfold_worse_by_volume — 42 * whPerKgH2 / 1000 = 1398 ∧ petrolWhL / 1398 = 6 — decided by the Lean kernel over its whole finite domain, axiom-free · `a1413809-d6e9…`
|
|
314
|
-
- [lean_energy_each_delivered_kilowatt_hour_costs_four_and_cycles_a_litre](/theorem/lean_energy_each_delivered_kilowatt_hour_costs_four_and_cycles_a_litre) — lean energy.lean: each_delivered_kilowatt_hour_costs_four_and_cycles_a_litre — splitCost * 100 / burnYield = 433 ∧ 9 * 1000 / (burnYield / 1000) = 750 — decided by the Lean kernel over its whole finite domain, axiom-free · `574b2b86-71c5…`
|
|
315
|
-
- [lean_energy_three_quarters_of_the_input_leaves_as_heat](/theorem/lean_energy_three_quarters_of_the_input_leaves_as_heat) — lean energy.lean: three_quarters_of_the_input_leaves_as_heat — splitCost - burnYield = 40000 ∧ (splitCost - burnYield) * 100 / splitCost = 76 — decided by the Lean kernel over its whole finite domain, axiom-free · `35c25641-5b8d…`
|
|
316
|
-
- [lean_energy_what_the_feedwater_leaves_behind_decides_the_maintenance](/theorem/lean_energy_what_the_feedwater_leaves_behind_decides_the_maintenance) — lean energy.lean: what_the_feedwater_leaves_behind_decides_the_maintenance — 100 * tdsSeawater / 1000 = 3500 ∧ 100 * tdsTapWater / 1000 = 5 ∧ tdsSeawater / tdsTapWater = 700 — decided by the Lean kernel over its whole finite domain, axiom-free · `2c3cf0b0-2ea7…`
|
|
317
304
|
- [lean_mechanical_relation_digital_root](/theorem/lean_mechanical_relation_digital_root) — lean mechanical.lean: relation_digital_root — DR (78) == 6 && DR (12) == DR (21) && [1,2,4,5,7,8].contains (DR (7)) — decided by the Lean kernel over its whole finite domain, axiom-free · `d07323c6-683c…`
|
|
318
305
|
- [lean_mechanical_relation_432_factors](/theorem/lean_mechanical_relation_432_factors) — lean mechanical.lean: relation_432_factors — 432 == 16 * 27 && 432 == 2 ^ 4 * 3 ^ 3 && DR (432) == 9 — decided by the Lean kernel over its whole finite domain, axiom-free · `34d3073f-7f81…`
|
|
319
306
|
- [lean_mechanical_fib_trinity_horizon](/theorem/lean_mechanical_fib_trinity_horizon) — lean mechanical.lean: fib_trinity_horizon — DR (3 + 5 + 8) == 7 — decided by the Lean kernel over its whole finite domain, axiom-free · `458420c0-010d…`
|
|
@@ -452,9 +439,7 @@ Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) an
|
|
|
452
439
|
- [lean_speed_the_verify_path_is_the_exponent](/theorem/lean_speed_the_verify_path_is_the_exponent) — lean speed.lean: the_verify_path_is_the_exponent — rounds 40 1024 = 10 ∧ rounds 40 16384 = 14 ∧ rounds 40 262144 = 18 ∧ rounds 40 1048576 = 20 — decided by the Lean kernel over its whole finite domain, axiom-free · `6fb8b2f6-095f…`
|
|
453
440
|
- [lean_speed_the_gap_widens_with_every_doubling](/theorem/lean_speed_the_gap_widens_with_every_doubling) — lean speed.lean: the_gap_widens_with_every_doubling — 1024 / 10 < 16384 / 14 ∧ 16384 / 14 < 262144 / 18 ∧ 262144 / 18 < 1048576 / 20 — decided by the Lean kernel over its whole finite domain, axiom-free · `81082913-b396…`
|
|
454
441
|
- [lean_speed_no_constant_factor_accounts_for_the_gap](/theorem/lean_speed_no_constant_factor_accounts_for_the_gap) — lean speed.lean: no_constant_factor_accounts_for_the_gap — ¬ (10000 * 20 ≥ 1048576) ∧ 100 * 10 ≥ 1024 - 24 — decided by the Lean kernel over its whole finite domain, axiom-free · `ca47080d-22fb…`
|
|
455
|
-
- [lean_speed_the_measured_ratio_at_a_million_leaves](/theorem/lean_speed_the_measured_ratio_at_a_million_leaves) — lean speed.lean: the_measured_ratio_at_a_million_leaves — recomputeUs / verifyUs = 567971 ∧ recomputeUs > verifyUs * 500000 — decided by the Lean kernel over its whole finite domain, axiom-free · `167a92e0-5d27…`
|
|
456
442
|
- [lean_speed_verification_grows_it_is_not_constant](/theorem/lean_speed_verification_grows_it_is_not_constant) — lean speed.lean: verification_grows_it_is_not_constant — rounds 40 1024 < rounds 40 1048576 ∧ ((List.range' 1 10).all (fun k => rounds 40 (2 ^ k) == k)) — decided by the Lean kernel over its whole finite domain, axiom-free · `05461a91-454a…`
|
|
457
|
-
- [lean_speed_the_verify_is_thirty_eight_thousand_nanoseconds_not_one](/theorem/lean_speed_the_verify_is_thirty_eight_thousand_nanoseconds_not_one) — lean speed.lean: the_verify_is_thirty_eight_thousand_nanoseconds_not_one — nsPerVerify = 38000 ∧ nsPerVerify > 1 ∧ nsPerVerify > 10000 — decided by the Lean kernel over its whole finite domain, axiom-free · `8eb1b99d-9b78…`
|
|
458
443
|
- [lean_speed_the_advantage_is_the_count_not_the_operation](/theorem/lean_speed_the_advantage_is_the_count_not_the_operation) — lean speed.lean: the_advantage_is_the_count_not_the_operation — 1048576 - 20 = 1048556 ∧ 1048576 / 20 = 52428 — decided by the Lean kernel over its whole finite domain, axiom-free · `dc213511-7bcd…`
|
|
459
444
|
- [lean_speed_the_break_even_is_the_ratio_of_verifications](/theorem/lean_speed_the_break_even_is_the_ratio_of_verifications) — lean speed.lean: the_break_even_is_the_ratio_of_verifications — 1048576 / 20 = 52428 ∧ 52428 * 20 ≤ 1048576 ∧ 1048576 < 52429 * 20 + 20 — decided by the Lean kernel over its whole finite domain, axiom-free · `2ab2aa2c-03a3…`
|
|
460
445
|
- [lean_mechanical_relation_units_sum_and_product](/theorem/lean_mechanical_relation_units_sum_and_product) — lean mechanical.lean: relation_units_sum_and_product — let m9 := fun n => ((n % 9) + 9) % 9; let U := [1,2,4,5,7,8]; M9 (U.foldl (fun a b => a + b) 0) == 0 && M9 (U.foldl (fun a b => a * b) 1) == 8 — decided by the Lean kernel over its whole finite domain, axiom-free · `55a81791-db87…`
|
|
@@ -517,7 +502,6 @@ Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) an
|
|
|
517
502
|
- [lean_involution_the_constant_sum_is_rare](/theorem/lean_involution_the_constant_sum_is_rare) — lean involution.lean: the_constant_sum_is_rare — (all.filter constantSum).length = 90 — decided by the Lean kernel over its whole finite domain, axiom-free · `08ae4f57-abb2…`
|
|
518
503
|
- [lean_involution_so_involutions_are_not_all_harmonic_in_that_sense](/theorem/lean_involution_so_involutions_are_not_all_harmonic_in_that_sense) — lean involution.lean: so_involutions_are_not_all_harmonic_in_that_sense — ¬ all.all constantSum — decided by the Lean kernel over its whole finite domain, axiom-free · `1b69f98b-1867…`
|
|
519
504
|
- [lean_involution_the_coins_reflection_is_harmonic_and_is_one_of_the_ninety](/theorem/lean_involution_the_coins_reflection_is_harmonic_and_is_one_of_the_ninety) — lean involution.lean: the_coins_reflection_is_harmonic_and_is_one_of_the_ninety — constantSum coinLike = true ∧ fixedPoints coinLike = 1 ∧ (swaps coinLike).all (fun p => p.1 + p.2 == 9) — decided by the Lean kernel over its whole finite domain, axiom-free · `813ea66f-9b19…`
|
|
520
|
-
- [lean_light_the_si_fixes_exactly_seven_constants](/theorem/lean_light_the_si_fixes_exactly_seven_constants) — lean light.lean: the_si_fixes_exactly_seven_constants — defining.length = 7 — decided by the Lean kernel over its whole finite domain, axiom-free · `34b3da62-a7f5…`
|
|
521
505
|
- [lean_light_the_chain_scales](/theorem/lean_light_the_chain_scales) — lean light.lean: the_chain_scales — ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10].all (fun s => travel s == c * s)) ∧ ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10].all (fun s => periods s == dNuCs * s)) — decided by the Lean kernel over its whole finite domain, axiom-free · `43fea27e-ab9a…`
|
|
522
506
|
- [lean_light_the_roots_of_the_seven](/theorem/lean_light_the_roots_of_the_seven) — lean light.lean: the_roots_of_the_seven — defining.map root = [1, 9, 6, 9, 4, 1, 8] — decided by the Lean kernel over its whole finite domain, axiom-free · `6e5b42a1-9c30…`
|
|
523
507
|
- [lean_light_three_on_the_triad_and_four_on_the_units](/theorem/lean_light_three_on_the_triad_and_four_on_the_units) — lean light.lean: three_on_the_triad_and_four_on_the_units — (defining.filter (fun n => [3, 6, 9].contains (root n))).length = 3 ∧ (defining.filter (fun n => [1, 2, 4, 5, 7, 8].contains (root n))).length = 4 — decided by the Lean kernel over its whole finite domain, axiom-free · `d09fac98-79f7…`
|
|
@@ -533,7 +517,6 @@ Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) an
|
|
|
533
517
|
- [lean_reach_exhaustion_never_reaches_its_own_bound](/theorem/lean_reach_exhaustion_never_reaches_its_own_bound) — lean reach.lean: exhaustion_never_reaches_its_own_bound — bounds.all (fun n => (List.range n).length == n && ¬ (List.range n).contains n) — decided by the Lean kernel over its whole finite domain, axiom-free · `5ed549ae-bc8e…`
|
|
534
518
|
- [lean_reach_the_successor_of_every_bound_lies_outside](/theorem/lean_reach_the_successor_of_every_bound_lies_outside) — lean reach.lean: the_successor_of_every_bound_lies_outside — bounds.all (fun n => ¬ (List.range n).contains (n + 1)) — decided by the Lean kernel over its whole finite domain, axiom-free · `1741c0fd-b09c…`
|
|
535
519
|
- [lean_reach_doubling_the_domain_leaves_the_same_hole](/theorem/lean_reach_doubling_the_domain_leaves_the_same_hole) — lean reach.lean: doubling_the_domain_leaves_the_same_hole — bounds.all (fun n => ¬ (List.range (2 * n)).contains (2 * n)) — decided by the Lean kernel over its whole finite domain, axiom-free · `ec21ebe8-a25e…`
|
|
536
|
-
- [lean_reach_even_the_largest_domain_here_has_an_outside](/theorem/lean_reach_even_the_largest_domain_here_has_an_outside) — lean reach.lean: even_the_largest_domain_here_has_an_outside — largestDomainHere + 1 > largestDomainHere ∧ largestDomainHere % 2 = 0 ∧ (largestDomainHere + 1) % 2 = 1 — decided by the Lean kernel over its whole finite domain, axiom-free · `9f25da95-de94…`
|
|
537
520
|
- [lean_phenomena_the_table_is_closed_and_that_is_all_this_file_decides](/theorem/lean_phenomena_the_table_is_closed_and_that_is_all_this_file_decides) — lean phenomena.lean: the_table_is_closed_and_that_is_all_this_file_decides — entries.all (fun e => statusOf e == 0 || statusOf e == 1) ∧ entries.length = 9 ∧ (entries.filter (fun e => statusOf e == 0)).length = 7 — decided by the Lean kernel over its whole finite domain, axiom-free · `d3aba4ab-326f…`
|
|
538
521
|
- [lean_coin_the_fall_and_the_reflection_share_one_exceptional_digit](/theorem/lean_coin_the_fall_and_the_reflection_share_one_exceptional_digit) — lean coin.lean: the_fall_and_the_reflection_share_one_exceptional_digit — (digits.filter (fun d => fall d != d)) = (digits.filter (fun d => refl d > 9)) — decided by the Lean kernel over its whole finite domain, axiom-free · `ad96432a-9394…`
|
|
539
522
|
- [lean_light_travel_at_one_returns_the_defined_constant](/theorem/lean_light_travel_at_one_returns_the_defined_constant) — lean light.lean: travel_at_one_returns_the_defined_constant — travel 1 = c — decided by the Lean kernel over its whole finite domain, axiom-free · `9dc58fa5-fb1f…`
|
|
@@ -542,8 +525,6 @@ Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) an
|
|
|
542
525
|
- [lean_priorart_novelty_is_claimed_of_no_source](/theorem/lean_priorart_novelty_is_claimed_of_no_source) — lean priorart.lean: novelty_is_claimed_of_no_source — (sources.filter novelty).length = 0 — decided by the Lean kernel over its whole finite domain, axiom-free · `f7830678-15e8…`
|
|
543
526
|
- [lean_imagined_triad_is_closed_under_double](/theorem/lean_imagined_triad_is_closed_under_double) — lean imagined.lean: triad_is_closed_under_double — [3, 6, 0].all (fun d => [3, 6, 0].contains (m9 (2 * d))) — decided by the Lean kernel over its whole finite domain, axiom-free · `e97a7f4a-5ea2…`
|
|
544
527
|
- [lean_imagined_double_is_involutive_on_triad](/theorem/lean_imagined_double_is_involutive_on_triad) — lean imagined.lean: double_is_involutive_on_triad — [3, 6, 0].all (fun d => (fun x => m9 (2 * x)) (m9 (2 * d)) == d) — decided by the Lean kernel over its whole finite domain, axiom-free · `2745f785-9f44…`
|
|
545
|
-
- [lean_speed_hexbits_are_shorter_than_hex](/theorem/lean_speed_hexbits_are_shorter_than_hex) — lean speed.lean: hexbits_are_shorter_than_hex — hexbitChars < hexChars ∧ hexChars - hexbitChars = 10 ∧ hexbitChars * 100 / hexChars = 68 — decided by the Lean kernel over its whole finite domain, axiom-free · `d3b171cf-2487…`
|
|
546
|
-
- [lean_speed_hexbits_are_slower_than_hex](/theorem/lean_speed_hexbits_are_slower_than_hex) — lean speed.lean: hexbits_are_slower_than_hex — hexbitMs > hexMs ∧ hexbitMs * 10 / hexMs = 18 — decided by the Lean kernel over its whole finite domain, axiom-free · `cf4672e4-0be3…`
|
|
547
528
|
- [lean_quantum_the_ghz_x_support_is_exactly_the_even_parity_strings](/theorem/lean_quantum_the_ghz_x_support_is_exactly_the_even_parity_strings) — lean quantum.lean: the_ghz_x_support_is_exactly_the_even_parity_strings — (List.range 8).filter (fun n => par3 n == 0) = ghzXSupport — decided by the Lean kernel over its whole finite domain, axiom-free · `7fb1069f-54b2…`
|
|
548
529
|
- [lean_quantum_it_is_half_of_the_eight](/theorem/lean_quantum_it_is_half_of_the_eight) — lean quantum.lean: it_is_half_of_the_eight — ghzXSupport.length = 4 ∧ (List.range 8).length = 8 — decided by the Lean kernel over its whole finite domain, axiom-free · `8c2ae28f-cbb1…`
|
|
549
530
|
- [lean_quantum_a_classical_mixture_reaches_the_parity_ghz_never_does](/theorem/lean_quantum_a_classical_mixture_reaches_the_parity_ghz_never_does) — lean quantum.lean: a_classical_mixture_reaches_the_parity_ghz_never_does — ((List.range 8).filter (fun n => par3 n == 1)).length = 4 ∧ ((List.range 8).filter (fun n => par3 n == 1)).all (fun n => ¬ ghzXSupport.contains n) — decided by the Lean kernel over its whole finite domain, axiom-free · `1e0393b3-351a…`
|
|
@@ -643,18 +624,37 @@ Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) an
|
|
|
643
624
|
- [lean_split_paying_and_refunding_coins_on_the_last_pair_round_trips](/theorem/lean_split_paying_and_refunding_coins_on_the_last_pair_round_trips) — lean split.lean: paying_and_refunding_coins_on_the_last_pair_round_trips — ((List.range 27).all (fun k => 3 * (26 - k) + 3 * k == 78)) ∧ 3 * (26 - coins) = 72 ∧ 72 = 8 * 9 — decided by the Lean kernel over its whole finite domain, axiom-free · `d09b81fa-777d…`
|
|
644
625
|
- [lean_split_a_seal_divides_into_payments_and_multiplies_back](/theorem/lean_split_a_seal_divides_into_payments_and_multiplies_back) — lean split.lean: a_seal_divides_into_payments_and_multiplies_back — ([1, 2, 4, 8, 16, 32, 64, 128].all (fun c => (sealBits / c) * c == sealBits && sealBits / (sealBits / c) == c)) ∧ sealBits / coins = 2 ^ 6 — decided by the Lean kernel over its whole finite domain, axiom-free · `1984d72b-4263…`
|
|
645
626
|
- [lean_split_the_orbit_turns_once_per_budget](/theorem/lean_split_the_orbit_turns_once_per_budget) — lean split.lean: the_orbit_turns_once_per_budget — ((List.range 60).all (fun n => 2 ^ (n + 6) % 9 == 2 ^ n % 9)) ∧ 2 ^ 6 = sealBits / coins — decided by the Lean kernel over its whole finite domain, axiom-free · `35d5dc48-cbc0…`
|
|
627
|
+
- [lean_energy_any_yield_below_its_cost_reads_under_the_whole](/theorem/lean_energy_any_yield_below_its_cost_reads_under_the_whole) — lean energy.lean: any_yield_below_its_cost_reads_under_the_whole — (List.range' 1 60).all (fun c => (List.range c).all (fun y => pct y c < 100)) ∧ burnYield < splitCost ∧ pct burnYield splitCost = 23 — decided by the Lean kernel over its whole finite domain, axiom-free · `64823215-1e97…`
|
|
628
|
+
- [lean_energy_the_cost_per_litre_multiplies_back_to_the_cost](/theorem/lean_energy_the_cost_per_litre_multiplies_back_to_the_cost) — lean energy.lean: the_cost_per_litre_multiplies_back_to_the_cost — (List.range' 1 20).all (fun l => (splitCost / l) * l ≤ splitCost && splitCost < (splitCost / l + 1) * l) ∧ splitCost / waterOut = 5777 ∧ splitCost / waterOut > roPerLitre * 1000 — decided by the Lean kernel over its whole finite domain, axiom-free · `2fafc1e2-f58f…`
|
|
629
|
+
- [lean_energy_the_mass_balance_is_the_atom_balance](/theorem/lean_energy_the_mass_balance_is_the_atom_balance) — lean energy.lean: the_mass_balance_is_the_atom_balance — mgH2 = mass 2 0 ∧ mgO2 = mass 0 2 ∧ mgH2O = mass 2 1 ∧ (List.range' 1 9).all (fun a => (List.range' 1 9).all (fun b => (List.range' 1 9).all (fun c => (a * mass 2 1 == b * mass 2 0 + c * mass 0 2) == balances a b c))) ∧ 2 * mgH2O = 2 * mgH2… — decided by the Lean kernel over its whole finite domain, axiom-free · `2854e1d5-ab5d…`
|
|
630
|
+
- [lean_energy_the_atom_table_decides_the_balance](/theorem/lean_energy_the_atom_table_decides_the_balance) — lean energy.lean: the_atom_table_decides_the_balance — (List.range' 1 9).all (fun a => (List.range' 1 9).all (fun b => (List.range' 1 9).all (fun c => (a * atomsH2O.1 == b * atomsH2.1 + c * atomsO2.1 && a * atomsH2O.2 == b * atomsH2.2 + c * atomsO2.2) == balances a b c))) — decided by the Lean kernel over its whole finite domain, axiom-free · `98e0c98d-7b0c…`
|
|
631
|
+
- [lean_energy_a_part_and_its_rest_read_back_the_whole](/theorem/lean_energy_a_part_and_its_rest_read_back_the_whole) — lean energy.lean: a_part_and_its_rest_read_back_the_whole — (List.range' 1 40).all (fun w => (List.range (w + 1)).all (fun a => per10k a w + per10k (w - a) w ≤ 10000 && 10000 ≤ per10k a w + per10k (w - a) w + 1)) ∧ mgO2 * 100 / (2 * mgH2) = 793 ∧ per10k (2 * mgH2) (2 * mgH2O) = 1119 ∧ per10k mgO2 (2… — decided by the Lean kernel over its whole finite domain, axiom-free · `d4addfa7-6e96…`
|
|
632
|
+
- [lean_energy_splitting_then_burning_is_the_identity_at_the_ideal](/theorem/lean_energy_splitting_then_burning_is_the_identity_at_the_ideal) — lean energy.lean: splitting_then_burning_is_the_identity_at_the_ideal — (List.range 1000).all (fun e => burnE (splitE e) == e) ∧ pct burnYield splitCost = 23 — decided by the Lean kernel over its whole finite domain, axiom-free · `f354845f-b6af…`
|
|
633
|
+
- [lean_energy_the_gas_volume_reads_back_its_moles](/theorem/lean_energy_the_gas_volume_reads_back_its_moles) — lean energy.lean: the_gas_volume_reads_back_its_moles — (List.range 1000).all (fun m => molesOf (litresOf m) ≤ m && m ≤ molesOf (litresOf m) + 1) ∧ molH2 = 2 * molO2 ∧ litresOf molH2 = 11117 ∧ litresOf molO2 = 5558 ∧ (litresOf molH2 + litresOf molO2) / 9 = 1852 — decided by the Lean kernel over its whole finite domain, axiom-free · `464b601e-4839…`
|
|
634
|
+
- [lean_energy_two_parts_in_three_is_two_thirds_at_every_scale](/theorem/lean_energy_two_parts_in_three_is_two_thirds_at_every_scale) — lean energy.lean: two_parts_in_three_is_two_thirds_at_every_scale — (List.range' 1 500).all (fun m => pct (2 * m) (3 * m) == 66) ∧ pct molH2 (molH2 + molO2) = 66 ∧ pct (2 * mgH2) (2 * mgH2O) = 11 — decided by the Lean kernel over its whole finite domain, axiom-free · `6913b23d-5d6d…`
|
|
635
|
+
- [lean_energy_the_energy_per_litre_multiplies_back_to_the_energy](/theorem/lean_energy_the_energy_per_litre_multiplies_back_to_the_energy) — lean energy.lean: the_energy_per_litre_multiplies_back_to_the_energy — (List.range' 1 30).all (fun l => (whPerKgH2 * 100 / l) * l ≤ whPerKgH2 * 100 && whPerKgH2 * 100 < (whPerKgH2 * 100 / l + 1) * l) ∧ whPerKgH2 * 100 / litresOf molH2 = 299 ∧ petrolWhL * 100 / 299 = 3244 — decided by the Lean kernel over its whole finite domain, axiom-free · `6ca259eb-a048…`
|
|
636
|
+
- [lean_energy_compression_scales_the_energy_per_litre_linearly](/theorem/lean_energy_compression_scales_the_energy_per_litre_linearly) — lean energy.lean: compression_scales_the_energy_per_litre_linearly — (List.range 100).all (fun k => 2 * whPerLitreAt k ≤ whPerLitreAt (2 * k) && whPerLitreAt (2 * k) ≤ 2 * whPerLitreAt k + 1) ∧ whPerLitreAt 42 = 1398 ∧ petrolWhL / whPerLitreAt 42 = 6 — decided by the Lean kernel over its whole finite domain, axiom-free · `62f26437-7387…`
|
|
637
|
+
- [lean_energy_a_ratio_and_its_reciprocal_multiply_back_to_the_whole](/theorem/lean_energy_a_ratio_and_its_reciprocal_multiply_back_to_the_whole) — lean energy.lean: a_ratio_and_its_reciprocal_multiply_back_to_the_whole — (List.range' 1 40).all (fun b => (List.range' 1 b).all (fun a => pct a b * pct b a ≤ 10000 && 10000 < (pct a b + 1) * (pct b a + 1))) ∧ pct splitCost burnYield = 433 ∧ pct burnYield splitCost = 23 ∧ 9 * 1000 / (burnYield / 1000) = 750 — decided by the Lean kernel over its whole finite domain, axiom-free · `07ef3913-ea46…`
|
|
638
|
+
- [lean_energy_the_loss_and_the_yield_read_back_the_input](/theorem/lean_energy_the_loss_and_the_yield_read_back_the_input) — lean energy.lean: the_loss_and_the_yield_read_back_the_input — (List.range' 1 60).all (fun c => (List.range (c + 1)).all (fun y => (c - y) + y == c && 99 ≤ pct (c - y) c + pct y c && pct (c - y) c + pct y c ≤ 100)) ∧ splitCost - burnYield = 40000 ∧ pct (splitCost - burnYield) splitCost = 76 ∧ pct burnY… — decided by the Lean kernel over its whole finite domain, axiom-free · `945f6f02-5f28…`
|
|
639
|
+
- [lean_energy_the_residue_ratio_is_the_same_at_every_volume](/theorem/lean_energy_the_residue_ratio_is_the_same_at_every_volume) — lean energy.lean: the_residue_ratio_is_the_same_at_every_volume — (List.range' 1 200).all (fun l => residueMg l tdsSeawater == 700 * residueMg l tdsTapWater) ∧ residueMg 100 tdsSeawater / 1000 = 3500 ∧ residueMg 100 tdsTapWater / 1000 = 5 — decided by the Lean kernel over its whole finite domain, axiom-free · `b0b19d5b-1924…`
|
|
640
|
+
- [lean_light_the_si_fixes_seven_distinct_nonzero_constants](/theorem/lean_light_the_si_fixes_seven_distinct_nonzero_constants) — lean light.lean: the_si_fixes_seven_distinct_nonzero_constants — defining.length = 7 ∧ defining.eraseDups = defining ∧ defining.all (fun x => x > 0) — decided by the Lean kernel over its whole finite domain, axiom-free · `b8191727-00d7…`
|
|
641
|
+
- [lean_reach_the_successor_leaves_every_domain_and_the_predecessor_returns](/theorem/lean_reach_the_successor_leaves_every_domain_and_the_predecessor_returns) — lean reach.lean: the_successor_leaves_every_domain_and_the_predecessor_returns — (bounds ++ [largestDomainHere]).all (fun n => n + 1 > n && (n + 1) - 1 == n && (n + 1) % 2 != n % 2) — decided by the Lean kernel over its whole finite domain, axiom-free · `e11c16ca-5d37…`
|
|
642
|
+
- [lean_speed_the_measured_ratio_exceeds_the_counted_gap](/theorem/lean_speed_the_measured_ratio_exceeds_the_counted_gap) — lean speed.lean: the_measured_ratio_exceeds_the_counted_gap — (List.range' 1 20).all (fun k => 2 ^ k / rounds 40 (2 ^ k) ≤ recomputeUs / verifyUs) ∧ (recomputeUs / verifyUs) * verifyUs ≤ recomputeUs ∧ recomputeUs < (recomputeUs / verifyUs + 1) * verifyUs ∧ recomputeUs / verifyUs = 567971 — decided by the Lean kernel over its whole finite domain, axiom-free · `f8640798-50bd…`
|
|
643
|
+
- [lean_speed_the_verify_in_nanoseconds_reads_back_its_microseconds](/theorem/lean_speed_the_verify_in_nanoseconds_reads_back_its_microseconds) — lean speed.lean: the_verify_in_nanoseconds_reads_back_its_microseconds — (List.range 1000).all (fun u => u * 1000 / 1000 == u) ∧ nsPerVerify = verifyUs * 1000 ∧ nsPerVerify / 1000 = verifyUs ∧ nsPerVerify > 10000 — decided by the Lean kernel over its whole finite domain, axiom-free · `e8a082ef-9515…`
|
|
644
|
+
- [lean_speed_the_width_is_the_ceiling_of_128_bits_over_the_symbol](/theorem/lean_speed_the_width_is_the_ceiling_of_128_bits_over_the_symbol) — lean speed.lean: the_width_is_the_ceiling_of_128_bits_over_the_symbol — (List.range' 1 8).all (fun b => charsFor b * b ≥ 128 && (charsFor b - 1) * b < 128) ∧ charsFor 4 = hexChars ∧ charsFor 6 = hexbitChars ∧ hexbitChars < hexChars ∧ hexbitChars * 100 / hexChars = 68 — decided by the Lean kernel over its whole finite domain, axiom-free · `5811891a-d052…`
|
|
645
|
+
- [lean_speed_hexbits_are_slower_and_the_ratio_multiplies_back](/theorem/lean_speed_hexbits_are_slower_and_the_ratio_multiplies_back) — lean speed.lean: hexbits_are_slower_and_the_ratio_multiplies_back — (List.range' 1 20).all (fun b => (List.range 400).all (fun a => (a / b) * b ≤ a && a < (a / b + 1) * b)) ∧ hexbitMs > hexMs ∧ hexbitMs * 10 / hexMs = 18 — decided by the Lean kernel over its whole finite domain, axiom-free · `91a92ea5-bedd…`
|
|
646
646
|
|
|
647
647
|
### other — one-of-a-kind (0)
|
|
648
648
|
|
|
649
649
|
|
|
650
650
|
|
|
651
|
-
## Revoked —
|
|
651
|
+
## Revoked — 1514 entries that no longer stand
|
|
652
652
|
|
|
653
653
|
The ledger is append-only: an entry that stops holding is marked in place, never deleted — deleting would break the receipt chain, and rewriting a receipt is tamper. These keep their receipts and stay in the record, but they are **not citable** and have no `/theorem/` page. Grouped by the reason they went:
|
|
654
654
|
|
|
655
655
|
- **1011** — dirty: not backed by a Lean proof
|
|
656
656
|
- **443** — revoked in place: its test asserted a lexical drain (computes(boast)
|
|
657
|
-
- **
|
|
657
|
+
- **35** — orphaned: the theorem this key was sealed from is no longer in src/proof
|
|
658
658
|
- **12** — revoked in place: circular by construction AND dependent on the removed lexical gate
|
|
659
659
|
- **10** — revoked in place: circular by construction — the test defines the answer it checks, proving a declaration rather than a fact
|
|
660
660
|
- **1** — revoked in place: its test asserts that a list of proof-boasts written across many scripts and languages ALL drain the gate — a lexical drain assertion, and the word-list gate was removed by order, so there is no lexicon to drain and the assertion tests nothing
|
|
@@ -708,7 +708,7 @@ Each was withdrawn for want of a Lean proof and has since been given one, at a n
|
|
|
708
708
|
|
|
709
709
|
…and 394 more.
|
|
710
710
|
|
|
711
|
-
<details><summary>List all
|
|
711
|
+
<details><summary>List all 1514 withdrawn keys — nothing proves these</summary>
|
|
712
712
|
|
|
713
713
|
- ~~`qr_u7`~~ — 7 is a quadratic residue mod 9 · `2a422f9b-761a…`
|
|
714
714
|
- ~~`powinv_k5`~~ — u↦u^5 is an involution on the units mod 9 · `8e327990-c88f…`
|
|
@@ -2188,7 +2188,22 @@ Each was withdrawn for want of a Lean proof and has since been given one, at a n
|
|
|
2188
2188
|
- ~~`pure_ts_pbkdf2_hmac_sha256_truncates_a_partial_final_block`~~ — pure-TS PBKDF2-HMAC-SHA256 truncates a partial final block — a twenty-byte derived key is not a whole number of hashes; 0/7 · `cf6f888e-151d…`
|
|
2189
2189
|
- ~~`the_pure_ts_aead_rejects_a_flipped_additional_data_bit`~~ — the pure-TS ChaCha20-Poly1305 AEAD rejects a flipped additional-data bit — the aad is authenticated, not merely carried; 0/7 · `57305d0f-ed04…`
|
|
2190
2190
|
- ~~`the_pure_ts_aead_tag_depends_on_the_additional_data`~~ — the pure-TS ChaCha20-Poly1305 tag depends on the additional data — the same plaintext under different aad tags differently; 0/7 · `5daa79d5-5154…`
|
|
2191
|
+
- ~~`lean_energy_the_loop_returns_less_than_it_took`~~ — lean energy.lean: the_loop_returns_less_than_it_took — burnYield < splitCost ∧ burnYield * 100 / splitCost = 23 — decided by the Lean kernel over its whole finite domain, axiom-free · `8229c511-d4bd…`
|
|
2192
|
+
- ~~`lean_energy_as_a_purifier_the_loop_costs_a_thousandfold`~~ — lean energy.lean: as_a_purifier_the_loop_costs_a_thousandfold — splitCost / waterOut = 5777 ∧ splitCost / waterOut > roPerLitre * 1000 — decided by the Lean kernel over its whole finite domain, axiom-free · `840c66b6-b891…`
|
|
2193
|
+
- ~~`lean_energy_the_equation_balances_by_atom_count`~~ — lean energy.lean: the_equation_balances_by_atom_count — (2 * 2 = 2 * 2) ∧ (2 * 1 = 1 * 2) ∧ 4 = 2 * 2 ∧ 2 = 1 * 2 — decided by the Lean kernel over its whole finite domain, axiom-free · `ecfd70b1-b35b…`
|
|
2194
|
+
- ~~`lean_energy_the_equation_balances_by_mass`~~ — lean energy.lean: the_equation_balances_by_mass — 2 * mgH2O = 2 * mgH2 + mgO2 ∧ 2 * mgH2O = 36030 — decided by the Lean kernel over its whole finite domain, axiom-free · `debf920f-a945…`
|
|
2195
|
+
- ~~`lean_energy_hydrogen_is_a_ninth_of_the_mass_and_oxygen_the_rest`~~ — lean energy.lean: hydrogen_is_a_ninth_of_the_mass_and_oxygen_the_rest — mgO2 * 100 / (2 * mgH2) = 793 ∧ (2 * mgH2) * 10000 / (2 * mgH2O) = 1119 ∧ mgO2 * 10000 / (2 * mgH2O) = 8880 ∧ 1119 + 8880 = 9999 — decided by the Lean kernel over its whole finite domain, axiom-free · `585ebc79-3eac…`
|
|
2196
|
+
- ~~`lean_energy_the_ideal_round_trip_is_exactly_zero`~~ — lean energy.lean: the_ideal_round_trip_is_exactly_zero — 28583 - 28583 = 0 ∧ 28583 ≤ 28583 ∧ burnYield * 100 / splitCost = 23 — decided by the Lean kernel over its whole finite domain, axiom-free · `181481c2-3745…`
|
|
2197
|
+
- ~~`lean_energy_the_gases_are_eighteen_hundred_times_the_water_they_came_from`~~ — lean energy.lean: the_gases_are_eighteen_hundred_times_the_water_they_came_from — molH2 * mLperMol / 1000 = 11117 ∧ molO2 * mLperMol / 1000 = 5558 ∧ (molH2 * mLperMol / 1000 + molO2 * mLperMol / 1000) / 9 = 1852 — decided by the Lean kernel over its whole finite domain, axiom-free · `033b4a15-d8ee…`
|
|
2198
|
+
- ~~`lean_energy_two_thirds_of_the_volume_carries_a_ninth_of_the_mass`~~ — lean energy.lean: two_thirds_of_the_volume_carries_a_ninth_of_the_mass — molH2 * 100 / (molH2 + molO2) = 66 ∧ (2 * mgH2) * 100 / (2 * mgH2O) = 11 — decided by the Lean kernel over its whole finite domain, axiom-free · `f8780f77-c9ef…`
|
|
2199
|
+
- ~~`lean_energy_uncompressed_hydrogen_is_three_thousandfold_worse_by_volume`~~ — lean energy.lean: uncompressed_hydrogen_is_three_thousandfold_worse_by_volume — whPerKgH2 * 100 / (molH2 * mLperMol / 1000) = 299 ∧ petrolWhL * 100 / 299 = 3244 — decided by the Lean kernel over its whole finite domain, axiom-free · `9c0e0943-6e5a…`
|
|
2200
|
+
- ~~`lean_energy_even_at_seven_hundred_bar_it_is_sevenfold_worse_by_volume`~~ — lean energy.lean: even_at_seven_hundred_bar_it_is_sevenfold_worse_by_volume — 42 * whPerKgH2 / 1000 = 1398 ∧ petrolWhL / 1398 = 6 — decided by the Lean kernel over its whole finite domain, axiom-free · `a1413809-d6e9…`
|
|
2201
|
+
- ~~`lean_energy_each_delivered_kilowatt_hour_costs_four_and_cycles_a_litre`~~ — lean energy.lean: each_delivered_kilowatt_hour_costs_four_and_cycles_a_litre — splitCost * 100 / burnYield = 433 ∧ 9 * 1000 / (burnYield / 1000) = 750 — decided by the Lean kernel over its whole finite domain, axiom-free · `574b2b86-71c5…`
|
|
2202
|
+
- ~~`lean_energy_three_quarters_of_the_input_leaves_as_heat`~~ — lean energy.lean: three_quarters_of_the_input_leaves_as_heat — splitCost - burnYield = 40000 ∧ (splitCost - burnYield) * 100 / splitCost = 76 — decided by the Lean kernel over its whole finite domain, axiom-free · `35c25641-5b8d…`
|
|
2203
|
+
- ~~`lean_energy_what_the_feedwater_leaves_behind_decides_the_maintenance`~~ — lean energy.lean: what_the_feedwater_leaves_behind_decides_the_maintenance — 100 * tdsSeawater / 1000 = 3500 ∧ 100 * tdsTapWater / 1000 = 5 ∧ tdsSeawater / tdsTapWater = 700 — decided by the Lean kernel over its whole finite domain, axiom-free · `2c3cf0b0-2ea7…`
|
|
2191
2204
|
- ~~`lean_mechanical_geom_exterior_360`~~ — lean mechanical.lean: geom_exterior_360 — [3, 5, 8].all (fun n => n * (360 / n) == 360) — decided by the Lean kernel over its whole finite domain, axiom-free · `b484eaf3-88c5…`
|
|
2205
|
+
- ~~`lean_speed_the_measured_ratio_at_a_million_leaves`~~ — lean speed.lean: the_measured_ratio_at_a_million_leaves — recomputeUs / verifyUs = 567971 ∧ recomputeUs > verifyUs * 500000 — decided by the Lean kernel over its whole finite domain, axiom-free · `167a92e0-5d27…`
|
|
2206
|
+
- ~~`lean_speed_the_verify_is_thirty_eight_thousand_nanoseconds_not_one`~~ — lean speed.lean: the_verify_is_thirty_eight_thousand_nanoseconds_not_one — nsPerVerify = 38000 ∧ nsPerVerify > 1 ∧ nsPerVerify > 10000 — decided by the Lean kernel over its whole finite domain, axiom-free · `8eb1b99d-9b78…`
|
|
2192
2207
|
- ~~`lean_priorart_novelty_is_claimed_exactly_where_no_prior_art_is_known`~~ — lean priorart.lean: novelty_is_claimed_exactly_where_no_prior_art_is_known — sources.all (fun s => (kindOf s == 1) == novelty s) — decided by the Lean kernel over its whole finite domain, axiom-free · `29363caf-0baf…`
|
|
2193
2208
|
- ~~`lean_priorart_no_source_both_restates_and_claims`~~ — lean priorart.lean: no_source_both_restates_and_claims — (sources.filter (fun s => kindOf s == 0 && novelty s)).length = 0 — decided by the Lean kernel over its whole finite domain, axiom-free · `5f8c3038-bf92…`
|
|
2194
2209
|
- ~~`lean_priorart_the_two_sets_cover_every_source`~~ — lean priorart.lean: the_two_sets_cover_every_source — (sources.filter (fun s => kindOf s == 0)).length + (sources.filter (fun s => kindOf s == 1)).length = sources.length — decided by the Lean kernel over its whole finite domain, axiom-free · `16cd82ee-e3ff…`
|
|
@@ -2199,13 +2214,17 @@ Each was withdrawn for want of a Lean proof and has since been given one, at a n
|
|
|
2199
2214
|
- ~~`lean_split_the_seal_affords_sixty_four_payments_of_two`~~ — lean split.lean: the_seal_affords_sixty_four_payments_of_two — sealBits / coins = 64 ∧ 64 = 2 ^ 6 ∧ sealBits = 64 * coins — decided by the Lean kernel over its whole finite domain, axiom-free · `983dd276-c1a1…`
|
|
2200
2215
|
- ~~`lean_split_the_budget_and_the_period_are_one_turn`~~ — lean split.lean: the_budget_and_the_period_are_one_turn — sealBits / coins = 2 ^ 6 ∧ (2 ^ 6) % 9 = 1 — decided by the Lean kernel over its whole finite domain, axiom-free · `c595d67b-fa66…`
|
|
2201
2216
|
- ~~`lean_coin_this_file_makes_no_physical_claim`~~ — lean coin.lean: this_file_makes_no_physical_claim — physicalClaims = 0 ∧ digits.length = 10 — decided by the Lean kernel over its whole finite domain, axiom-free · `be643cd8-b421…`
|
|
2217
|
+
- ~~`lean_light_the_si_fixes_exactly_seven_constants`~~ — lean light.lean: the_si_fixes_exactly_seven_constants — defining.length = 7 — decided by the Lean kernel over its whole finite domain, axiom-free · `34b3da62-a7f5…`
|
|
2202
2218
|
- ~~`lean_phenomena_this_deposit_explains_predicts_and_constrains_nothing`~~ — lean phenomena.lean: this_deposit_explains_predicts_and_constrains_nothing — explanations = 0 ∧ predictions = 0 ∧ theoriesConstrained = 0 — decided by the Lean kernel over its whole finite domain, axiom-free · `f3f2dd32-107d…`
|
|
2203
2219
|
- ~~`lean_phenomena_arithmetic_on_a_definition_returns_the_definition`~~ — lean phenomena.lean: arithmetic_on_a_definition_returns_the_definition — (299792458 % 9 = 1) ∧ explanations = 0 — decided by the Lean kernel over its whole finite domain, axiom-free · `2f338a89-2ef5…`
|
|
2220
|
+
- ~~`lean_reach_even_the_largest_domain_here_has_an_outside`~~ — lean reach.lean: even_the_largest_domain_here_has_an_outside — largestDomainHere + 1 > largestDomainHere ∧ largestDomainHere % 2 = 0 ∧ (largestDomainHere + 1) % 2 = 1 — decided by the Lean kernel over its whole finite domain, axiom-free · `9f25da95-de94…`
|
|
2204
2221
|
- ~~`lean_reach_this_file_settles_none_of_the_seven`~~ — lean reach.lean: this_file_settles_none_of_the_seven — (bounds.filter (fun n => (List.range n).contains n)).length = 0 ∧ bounds.length = 50 — decided by the Lean kernel over its whole finite domain, axiom-free · `2c8272de-17dd…`
|
|
2205
2222
|
- ~~`lean_coin_the_digits_are_ten`~~ — lean coin.lean: the_digits_are_ten — digits.length = 10 — decided by the Lean kernel over its whole finite domain, axiom-free · `bdd50a11-7fb4…`
|
|
2223
|
+
- ~~`lean_speed_hexbits_are_shorter_than_hex`~~ — lean speed.lean: hexbits_are_shorter_than_hex — hexbitChars < hexChars ∧ hexChars - hexbitChars = 10 ∧ hexbitChars * 100 / hexChars = 68 — decided by the Lean kernel over its whole finite domain, axiom-free · `d3b171cf-2487…`
|
|
2224
|
+
- ~~`lean_speed_hexbits_are_slower_than_hex`~~ — lean speed.lean: hexbits_are_slower_than_hex — hexbitMs > hexMs ∧ hexbitMs * 10 / hexMs = 18 — decided by the Lean kernel over its whole finite domain, axiom-free · `cf4672e4-0be3…`
|
|
2206
2225
|
- ~~`lean_speed_an_encoding_changes_width_not_the_count_of_operations`~~ — lean speed.lean: an_encoding_changes_width_not_the_count_of_operations — hexbitChars < hexChars ∧ hexbitMs > hexMs ∧ (1048576 / 20 = 52428 ∧ 1048576 / 20 = 52428) — decided by the Lean kernel over its whole finite domain, axiom-free · `9227b54d-7b6f…`
|
|
2207
2226
|
- ~~`lean_quantum_the_witness_is_about_the_state_not_the_machine`~~ — lean quantum.lean: the_witness_is_about_the_state_not_the_machine — ghzXSupport.length * 2 = (List.range 8).length ∧ (2:Nat) ^ 3 = 8 — decided by the Lean kernel over its whole finite domain, axiom-free · `850e2e33-ed0d…`
|
|
2208
2227
|
|
|
2209
2228
|
</details>
|
|
2210
2229
|
|
|
2211
|
-
Page content-address: `
|
|
2230
|
+
Page content-address: `739e6f7e-4b0a-84de-84bb-bcea6054d238`. Integrity, not truth — decidable facts and cited status, never a proof of the six open conjectures.
|
package/README.md
CHANGED
|
@@ -15,8 +15,8 @@ last because the orbit never reaches it.
|
|
|
15
15
|
<sub>SEALED · `8a4b7616-bc25-8fb3-bc42-b0b8e606da96`</sub>
|
|
16
16
|
- 619 of those 628 are THEOREMS by this deposit's own rule — they close by decide, which is to say the kernel evaluates the proposition over its whole finite domain rather than accepting a declaration; the remaining 9 close by rfl and are declarations.
|
|
17
17
|
<sub>SEALED · `4aaa302d-a672-8210-8f65-39e2a3026316`</sub>
|
|
18
|
-
-
|
|
19
|
-
<sub>SEALED · `
|
|
18
|
+
- 703 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
|
|
19
|
+
<sub>SEALED · `2291d903-c683-805a-b886-6ab7926eb31b`</sub>
|
|
20
20
|
|
|
21
21
|
## 2 · The ring
|
|
22
22
|
|
|
@@ -39,10 +39,10 @@ last because the orbit never reaches it.
|
|
|
39
39
|
|
|
40
40
|
## 7 · The ledger
|
|
41
41
|
|
|
42
|
-
- The ledger records
|
|
43
|
-
<sub>SEALED · `
|
|
44
|
-
- The count is
|
|
45
|
-
<sub>SEALED · `
|
|
42
|
+
- The ledger records 2567 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
|
|
43
|
+
<sub>SEALED · `59b254fa-d4da-8f0f-9363-997bdc43830e`</sub>
|
|
44
|
+
- The count is 2567, which is 320 octaves and 7 over — the octave is a target the theorems earn, never a quota they are invented to fill.
|
|
45
|
+
<sub>SEALED · `02e65c78-ee20-89b5-862f-33019cfc6d89`</sub>
|
|
46
46
|
|
|
47
47
|
## 5 · What the gate does and does not do
|
|
48
48
|
|
|
@@ -172,7 +172,7 @@ this page; there is nowhere else to keep the description in step.
|
|
|
172
172
|
|
|
173
173
|
**Recovered — claims that computed and were withdrawn for want of a proof** — `recovered.lean`, 15 theorem(s). material, credited. What is NOT prior art is that these particular statements sat WITHDRAWN in this deposit's ledger, each recorded as "not backed by a Lean proof. Its evidence is a TypeScript test", while every one is decidable in a line. prior_art_search: literature search performed 2026-09-05, terms "units and non-units of Z/9 multiplicative inverses group of units modulo 9"; prior art found and credited.
|
|
174
174
|
|
|
175
|
-
|
|
175
|
+
20 of 628 declarations carry no comment of their own and are shown here as the gap they are, not
|
|
176
176
|
filled with a template.
|
|
177
177
|
|
|
178
178
|
## 8 · What this build measured about itself
|
|
@@ -181,11 +181,11 @@ Read from the artefacts at build time, never carried between runs.
|
|
|
181
181
|
|
|
182
182
|
| measure | value |
|
|
183
183
|
|---|---|
|
|
184
|
-
| ledger entries | 2,
|
|
184
|
+
| ledger entries | 2,567 — 320 octaves and 7 over |
|
|
185
185
|
| standing — carries its own proof | **619** |
|
|
186
186
|
| carried — withdrawn on its own evidence, proved by a live theorem | **434** |
|
|
187
|
-
| withdrawn — nothing proves it | 1,
|
|
188
|
-
| proved in total | **1053** of 2,
|
|
187
|
+
| withdrawn — nothing proves it | 1,514 |
|
|
188
|
+
| proved in total | **1053** of 2,567 |
|
|
189
189
|
| standing keys → distinct theorems | 619 sealed, 0 of them keyed twice, 0 unresolvable |
|
|
190
190
|
| Lean files · theorems | 32 · 619 theorems (closed by exhaustion) + 9 rfl declarations, all axiom-free |
|
|
191
191
|
| proved `by decide` | 619 of 628 |
|
|
@@ -194,7 +194,7 @@ Read from the artefacts at build time, never carried between runs.
|
|
|
194
194
|
|
|
195
195
|
**On `carried`.** 434 entries were withdrawn for want of a Lean proof and have since been given one, at a new key. Nothing is un-revoked: the original's own evidence is still a TypeScript test, and rewriting its status would erase the fact that it did not hold on what it had. The record says both — withdrawn on its own evidence, standing through the theorem that carries it.
|
|
196
196
|
|
|
197
|
-
**Why the withdrawn were withdrawn.** 1,386 no Lean proof · 457 tested the removed lexical gate · 60 other ·
|
|
197
|
+
**Why the withdrawn were withdrawn.** 1,386 no Lean proof · 457 tested the removed lexical gate · 60 other · 35 its Lean source was deleted or renamed · 10 circular by construction. Nothing is deleted: the ledger is append-only, so an entry that stopped holding is marked in place with its reason and keeps its receipt.
|
|
198
198
|
|
|
199
199
|
**What verification costs.** Proving the set touches all 16,384 leaves; verifying membership afterwards touches 14 — one sibling per level. That is **1,170× less work**, exactly, and the factor grows with the set because N/log N grows. Wall-clock varies with the machine and is left in the build output rather than pinned here. It is not sub-nanosecond and nothing here is: the advantage is a smaller exponent, not a faster clock. The counting is proved in `speed.lean`.
|
|
200
200
|
|
|
@@ -227,4 +227,4 @@ whether the work restates someone earlier. [The paper](/paper) typesets every st
|
|
|
227
227
|
|
|
228
228
|
---
|
|
229
229
|
|
|
230
|
-
*17 claims, all verified · 619 Lean theorems ·
|
|
230
|
+
*17 claims, all verified · 619 Lean theorems · 2567 ledger entries · trial root `d295e2c3-b6c1-83e3-8680-202e18691522` · integrity, not truth · 0/7*
|
package/forensic.md
CHANGED
|
@@ -5,18 +5,18 @@ title: Every state change, dated
|
|
|
5
5
|
# Provenance of this deposit's ledger
|
|
6
6
|
|
|
7
7
|
**Recomputed on every build** from git history and the append-only ledger. Regenerate with
|
|
8
|
-
`npm run forensic`. Content-address `
|
|
8
|
+
`npm run forensic`. Content-address `a77fb27f-8538-8d41-b1d6-d6eddf1ef263`.
|
|
9
9
|
|
|
10
10
|
## What this record establishes
|
|
11
11
|
|
|
12
12
|
| | |
|
|
13
13
|
|---|---:|
|
|
14
|
-
| ledger entries | **2,
|
|
14
|
+
| ledger entries | **2,567** |
|
|
15
15
|
| standing — proved and sealed | 619 |
|
|
16
16
|
| carried — withdrawn, proved by a live theorem | 434 |
|
|
17
|
-
| withdrawn — nothing currently proves them | 1,
|
|
17
|
+
| withdrawn — nothing currently proves them | 1,514 |
|
|
18
18
|
| receipt chain, recomputed | **0 breaks — intact** |
|
|
19
|
-
| commits that changed ledger state |
|
|
19
|
+
| commits that changed ledger state | 574 |
|
|
20
20
|
|
|
21
21
|
## Why entries were withdrawn — the reason recorded at the time
|
|
22
22
|
|
|
@@ -26,13 +26,13 @@ Verbatim, as written when the entry was revoked. Not inferred afterwards.
|
|
|
26
26
|
|---:|---|
|
|
27
27
|
| 1,011 | dirty: not backed by a Lean proof. Its evidence is a TypeScript test, which reports that a compu |
|
|
28
28
|
| 443 | revoked in place: its test asserted a lexical drain (computes(boast).binary === 0). The word-lis |
|
|
29
|
-
|
|
|
29
|
+
| 35 | orphaned: the theorem this key was sealed from is no longer in src/proof. It was deleted or rena |
|
|
30
30
|
| 12 | revoked in place: circular by construction AND dependent on the removed lexical gate. |
|
|
31
31
|
| 10 | revoked in place: circular by construction — the test defines the answer it checks, proving a de |
|
|
32
32
|
| 1 | revoked in place: its test asserts that a list of proof-boasts written across many scripts and l |
|
|
33
33
|
|
|
34
34
|
**1,011** of
|
|
35
|
-
**1,
|
|
35
|
+
**1,514** withdrawn entries — 66.8% —
|
|
36
36
|
were withdrawn for want of a Lean proof while their evidence was a TypeScript test that **computed**.
|
|
37
37
|
Withdrawal costs one line of record; proving costs real work, and a green gate rewards both identically.
|
|
38
38
|
|
package/index.md
CHANGED
|
@@ -21,8 +21,8 @@ last because the orbit never reaches it.
|
|
|
21
21
|
<sub>SEALED · `8a4b7616-bc25-8fb3-bc42-b0b8e606da96`</sub>
|
|
22
22
|
- 619 of those 628 are THEOREMS by this deposit's own rule — they close by decide, which is to say the kernel evaluates the proposition over its whole finite domain rather than accepting a declaration; the remaining 9 close by rfl and are declarations.
|
|
23
23
|
<sub>SEALED · `4aaa302d-a672-8210-8f65-39e2a3026316`</sub>
|
|
24
|
-
-
|
|
25
|
-
<sub>SEALED · `
|
|
24
|
+
- 703 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
|
|
25
|
+
<sub>SEALED · `2291d903-c683-805a-b886-6ab7926eb31b`</sub>
|
|
26
26
|
|
|
27
27
|
## 2 · The ring
|
|
28
28
|
|
|
@@ -45,10 +45,10 @@ last because the orbit never reaches it.
|
|
|
45
45
|
|
|
46
46
|
## 7 · The ledger
|
|
47
47
|
|
|
48
|
-
- The ledger records
|
|
49
|
-
<sub>SEALED · `
|
|
50
|
-
- The count is
|
|
51
|
-
<sub>SEALED · `
|
|
48
|
+
- The ledger records 2567 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
|
|
49
|
+
<sub>SEALED · `59b254fa-d4da-8f0f-9363-997bdc43830e`</sub>
|
|
50
|
+
- The count is 2567, which is 320 octaves and 7 over — the octave is a target the theorems earn, never a quota they are invented to fill.
|
|
51
|
+
<sub>SEALED · `02e65c78-ee20-89b5-862f-33019cfc6d89`</sub>
|
|
52
52
|
|
|
53
53
|
## 5 · What the gate does and does not do
|
|
54
54
|
|
|
@@ -178,7 +178,7 @@ this page; there is nowhere else to keep the description in step.
|
|
|
178
178
|
|
|
179
179
|
**Recovered — claims that computed and were withdrawn for want of a proof** — `recovered.lean`, 15 theorem(s). material, credited. What is NOT prior art is that these particular statements sat WITHDRAWN in this deposit's ledger, each recorded as "not backed by a Lean proof. Its evidence is a TypeScript test", while every one is decidable in a line. prior_art_search: literature search performed 2026-09-05, terms "units and non-units of Z/9 multiplicative inverses group of units modulo 9"; prior art found and credited.
|
|
180
180
|
|
|
181
|
-
|
|
181
|
+
20 of 628 declarations carry no comment of their own and are shown here as the gap they are, not
|
|
182
182
|
filled with a template.
|
|
183
183
|
|
|
184
184
|
## 8 · What this build measured about itself
|
|
@@ -187,11 +187,11 @@ Read from the artefacts at build time, never carried between runs.
|
|
|
187
187
|
|
|
188
188
|
| measure | value |
|
|
189
189
|
|---|---|
|
|
190
|
-
| ledger entries | 2,
|
|
190
|
+
| ledger entries | 2,567 — 320 octaves and 7 over |
|
|
191
191
|
| standing — carries its own proof | **619** |
|
|
192
192
|
| carried — withdrawn on its own evidence, proved by a live theorem | **434** |
|
|
193
|
-
| withdrawn — nothing proves it | 1,
|
|
194
|
-
| proved in total | **1053** of 2,
|
|
193
|
+
| withdrawn — nothing proves it | 1,514 |
|
|
194
|
+
| proved in total | **1053** of 2,567 |
|
|
195
195
|
| standing keys → distinct theorems | 619 sealed, 0 of them keyed twice, 0 unresolvable |
|
|
196
196
|
| Lean files · theorems | 32 · 619 theorems (closed by exhaustion) + 9 rfl declarations, all axiom-free |
|
|
197
197
|
| proved `by decide` | 619 of 628 |
|
|
@@ -200,7 +200,7 @@ Read from the artefacts at build time, never carried between runs.
|
|
|
200
200
|
|
|
201
201
|
**On `carried`.** 434 entries were withdrawn for want of a Lean proof and have since been given one, at a new key. Nothing is un-revoked: the original's own evidence is still a TypeScript test, and rewriting its status would erase the fact that it did not hold on what it had. The record says both — withdrawn on its own evidence, standing through the theorem that carries it.
|
|
202
202
|
|
|
203
|
-
**Why the withdrawn were withdrawn.** 1,386 no Lean proof · 457 tested the removed lexical gate · 60 other ·
|
|
203
|
+
**Why the withdrawn were withdrawn.** 1,386 no Lean proof · 457 tested the removed lexical gate · 60 other · 35 its Lean source was deleted or renamed · 10 circular by construction. Nothing is deleted: the ledger is append-only, so an entry that stopped holding is marked in place with its reason and keeps its receipt.
|
|
204
204
|
|
|
205
205
|
**What verification costs.** Proving the set touches all 16,384 leaves; verifying membership afterwards touches 14 — one sibling per level. That is **1,170× less work**, exactly, and the factor grows with the set because N/log N grows. Wall-clock varies with the machine and is left in the build output rather than pinned here. It is not sub-nanosecond and nothing here is: the advantage is a smaller exponent, not a faster clock. The counting is proved in `speed.lean`.
|
|
206
206
|
|
|
@@ -216,4 +216,4 @@ because no test was written that would seal them.
|
|
|
216
216
|
|
|
217
217
|
---
|
|
218
218
|
|
|
219
|
-
*17 claims, all verified · 619 Lean theorems ·
|
|
219
|
+
*17 claims, all verified · 619 Lean theorems · 2567 ledger entries · trial root `d295e2c3-b6c1-83e3-8680-202e18691522` · integrity, not truth · 0/7*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ceccec/millennium-solutions",
|
|
3
|
-
"version": "9.0
|
|
3
|
+
"version": "9.1.0",
|
|
4
4
|
"description": "Verifiable, recomputable ℤ/9 vortex framework in ONE package — content-addressing, audit ledger, exact arithmetic (0/7), and the honesty toolkit. Facts only.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Tsvetan Rouschev",
|