@ceccec/millennium-solutions 9.0.7 → 9.0.9

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/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) — 2543 standing in 1 families
21
+ ## Discovered theorems (decidable, over ℤ/9) — 2548 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
 
@@ -494,15 +494,11 @@ Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) an
494
494
  - [lean_split_division_is_the_operation_that_leaves](/theorem/lean_split_division_is_the_operation_that_leaves) — lean split.lean: division_is_the_operation_that_leaves — 12 / 3 = 4 ∧ 4 % 3 != 0 ∧ 45 / 9 = 5 ∧ 5 % 3 != 0 ∧ 6 / 3 = 2 ∧ 2 % 3 != 0 — decided by the Lean kernel over its whole finite domain, axiom-free · `b9159d44-811b…`
495
495
  - [lean_split_the_roots_are_the_singles](/theorem/lean_split_the_roots_are_the_singles) — lean split.lean: the_roots_are_the_singles — tokens.map (fun t =&gt; t % 9) = [0, 3, 3, 0, 6, 6, 0] — decided by the Lean kernel over its whole finite domain, axiom-free · `7c878aea-818e…`
496
496
  - [lean_split_every_root_is_a_single](/theorem/lean_split_every_root_is_a_single) — lean split.lean: every_root_is_a_single — tokens.all (fun t =&gt; singles.contains (if t % 9 == 0 then (if t == 0 then 0 else 9) else t % 9)) — decided by the Lean kernel over its whole finite domain, axiom-free · `282584c6-2ad7…`
497
- - [lean_split_the_coin_step_is_three_times_the_two_coins](/theorem/lean_split_the_coin_step_is_three_times_the_two_coins) — lean split.lean: the_coin_step_is_three_times_the_two_coins — coins = 2 ∧ coinStep = 6 ∧ coinStep = 3 * 2 — decided by the Lean kernel over its whole finite domain, axiom-free · `9b87b34f-1d05…`
498
- - [lean_split_accounting_the_coins_on_the_last_pair](/theorem/lean_split_accounting_the_coins_on_the_last_pair) — lean split.lean: accounting_the_coins_on_the_last_pair — 78 = 3 * 26 ∧ 3 * (26 - coins) = 72 ∧ 72 = 8 * 9 — decided by the Lean kernel over its whole finite domain, axiom-free · `758b6f0c-0b43…`
499
497
  - [lean_split_the_exhaustible_tokens_are_those_six_divides](/theorem/lean_split_the_exhaustible_tokens_are_those_six_divides) — lean split.lean: the_exhaustible_tokens_are_those_six_divides — (tokens.filter (fun t =&gt; t % coinStep == 0)) = [0, 12, 6, 78] — decided by the Lean kernel over its whole finite domain, axiom-free · `516917be-eea3…`
500
498
  - [lean_split_the_rest_halt_on_the_generator](/theorem/lean_split_the_rest_halt_on_the_generator) — lean split.lean: the_rest_halt_on_the_generator — (tokens.filter (fun t =&gt; t % coinStep != 0)) = [3, 45, 9] ∧ (tokens.filter (fun t =&gt; t % coinStep != 0)).all (fun t =&gt; t % coinStep == 3) — decided by the Lean kernel over its whole finite domain, axiom-free · `88e1ca63-b3a4…`
501
499
  - [lean_split_every_token_is_void_bound_or_halts_on_three](/theorem/lean_split_every_token_is_void_bound_or_halts_on_three) — lean split.lean: every_token_is_void_bound_or_halts_on_three — tokens.all (fun t =&gt; t % coinStep == 0 || t % coinStep == 3) — decided by the Lean kernel over its whole finite domain, axiom-free · `19e9ea2d-fe3a…`
502
500
  - [lean_split_inside_this_ideal_the_bare_coin_sorts_as_the_scaled_one](/theorem/lean_split_inside_this_ideal_the_bare_coin_sorts_as_the_scaled_one) — lean split.lean: inside_this_ideal_the_bare_coin_sorts_as_the_scaled_one — (tokens.filter (fun t =&gt; t % 2 == 0)) = (tokens.filter (fun t =&gt; t % coinStep == 0)) ∧ tokens.all (fun t =&gt; (t % 2 == 0) == (t % coinStep == 0)) — decided by the Lean kernel over its whole finite domain, axiom-free · `c397ec15-180f…`
503
- - [lean_split_the_seal_affords_sixty_four_payments_of_two](/theorem/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…`
504
501
  - [lean_split_sixty_four_is_where_the_doubling_returns](/theorem/lean_split_sixty_four_is_where_the_doubling_returns) — lean split.lean: sixty_four_is_where_the_doubling_returns — (2 ^ 6) % 9 = 1 ∧ ((List.range 6).map (fun k =&gt; (2 ^ k) % 9)) = [1, 2, 4, 8, 7, 5] ∧ ((List.range' 1 5).all (fun k =&gt; (2 ^ k) % 9 != 1)) — decided by the Lean kernel over its whole finite domain, axiom-free · `5ebd2134-9a22…`
505
- - [lean_split_the_budget_and_the_period_are_one_turn](/theorem/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…`
506
502
  - [lean_coin_the_reflection_is_an_involution](/theorem/lean_coin_the_reflection_is_an_involution) — lean coin.lean: the_reflection_is_an_involution — digits.all (fun d =&gt; refl (refl d) == d) — decided by the Lean kernel over its whole finite domain, axiom-free · `cc33eadb-fdd6…`
507
503
  - [lean_coin_one_side_is_reflected_onto_itself](/theorem/lean_coin_one_side_is_reflected_onto_itself) — lean coin.lean: one_side_is_reflected_onto_itself — tetB.all (fun d =&gt; tetB.contains (refl d)) — decided by the Lean kernel over its whole finite domain, axiom-free · `fe5f7590-73be…`
508
504
  - [lean_coin_the_other_two_swap](/theorem/lean_coin_the_other_two_swap) — lean coin.lean: the_other_two_swap — tetA.all (fun d =&gt; axis.contains (refl d)) ∧ axis.all (fun d =&gt; tetA.contains (refl d)) — decided by the Lean kernel over its whole finite domain, axiom-free · `e047e078-69f7…`
@@ -540,7 +536,6 @@ Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) an
540
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 &gt; largestDomainHere ∧ largestDomainHere % 2 = 0 ∧ (largestDomainHere + 1) % 2 = 1 — decided by the Lean kernel over its whole finite domain, axiom-free · `9f25da95-de94…`
541
537
  - [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 =&gt; statusOf e == 0 || statusOf e == 1) ∧ entries.length = 9 ∧ (entries.filter (fun e =&gt; statusOf e == 0)).length = 7 — decided by the Lean kernel over its whole finite domain, axiom-free · `d3aba4ab-326f…`
542
538
  - [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 =&gt; fall d != d)) = (digits.filter (fun d =&gt; refl d &gt; 9)) — decided by the Lean kernel over its whole finite domain, axiom-free · `ad96432a-9394…`
543
- - [lean_coin_the_digits_are_ten](/theorem/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…`
544
539
  - [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…`
545
540
  - [lean_light_travel_and_periods_at_one_return_their_constants](/theorem/lean_light_travel_and_periods_at_one_return_their_constants) — lean light.lean: travel_and_periods_at_one_return_their_constants — travel 1 = 299792458 ∧ periods 1 = 9192631770 — decided by the Lean kernel over its whole finite domain, axiom-free · `442f56f7-384d…`
546
541
  - [lean_light_the_definitions_are_seven_and_travel_fixes_zero](/theorem/lean_light_the_definitions_are_seven_and_travel_fixes_zero) — lean light.lean: the_definitions_are_seven_and_travel_fixes_zero — defining.length = 7 ∧ travel 0 = 0 — decided by the Lean kernel over its whole finite domain, axiom-free · `660422cc-20f7…`
@@ -643,24 +638,30 @@ Computed by exhaustion, each a monograph with its own page (`/theorem/<key>`) an
643
638
  - [lean_elementary_the_golden_beatty_identity_holds_across_the_range](/theorem/lean_elementary_the_golden_beatty_identity_holds_across_the_range) — lean elementary.lean: the_golden_beatty_identity_holds_across_the_range — (List.range' 1 40).all (fun n =&gt; upperWythoff n - lowerWythoff n == n) — decided by the Lean kernel over its whole finite domain, axiom-free · `b27a7477-6920…`
644
639
  - [lean_elementary_the_partition_and_bell_numbers_count_what_they_claim_to_count](/theorem/lean_elementary_the_partition_and_bell_numbers_count_what_they_claim_to_count) — lean elementary.lean: the_partition_and_bell_numbers_count_what_they_claim_to_count — (partitionsOf 5).length = 7 ∧ (partitionsOf 7).length = 15 ∧ (partitionsOf 10).length = 42 ∧ (List.range 6).all (fun n =&gt; (rgs n).length == bellOf n) ∧ bellOf 3 = 5 ∧ bellOf 4 = 15 ∧ bellOf 5 = 52 — decided by the Lean kernel over its whole finite domain, axiom-free · `d7dd93f3-efbe…`
645
640
  - [lean_elementary_the_unit_graph_is_complete_bipartite_between_the_two_tetrahedra](/theorem/lean_elementary_the_unit_graph_is_complete_bipartite_between_the_two_tetrahedra) — lean elementary.lean: the_unit_graph_is_complete_bipartite_between_the_two_tetrahedra — (tetOf 1).length = 3 ∧ (tetOf 2).length = 3 ∧ (tetOf 1).all (fun d =&gt; (nbrs (unitsMod 9) d).length == 3 && (nbrs (unitsMod 9) d).all (fun t =&gt; (tetOf 2).contains t)) ∧ (tetOf 2).all (fun d =&gt; (nbrs (unitsMod 9) d).length == 3 && (nbrs (unit… — decided by the Lean kernel over its whole finite domain, axiom-free · `19e4c01e-8d78…`
641
+ - [lean_coin_the_nines_complement_pairs_the_ten_digits](/theorem/lean_coin_the_nines_complement_pairs_the_ten_digits) — lean coin.lean: the_nines_complement_pairs_the_ten_digits — digits.all (fun d =&gt; digits.contains (9 - d) && 9 - (9 - d) == d && 9 - d != d) ∧ (digits.filter (fun d =&gt; d &lt; 9 - d)).length * 2 = digits.length — decided by the Lean kernel over its whole finite domain, axiom-free · `4f280944-1969…`
642
+ - [lean_split_the_coin_step_and_the_coins_are_inverse](/theorem/lean_split_the_coin_step_and_the_coins_are_inverse) — lean split.lean: the_coin_step_and_the_coins_are_inverse — ((List.range 20).all (fun c =&gt; 3 * c / 3 == c && (3 * c) % 3 == 0)) ∧ coinStep = 3 * coins ∧ coinStep / 3 = coins — decided by the Lean kernel over its whole finite domain, axiom-free · `1dd0f6d3-af8e…`
643
+ - [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 =&gt; 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
+ - [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 =&gt; (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
+ - [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 =&gt; 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…`
646
646
 
647
647
  ### other — one-of-a-kind (0)
648
648
 
649
649
 
650
650
 
651
- ## Revoked — 1489 entries that no longer stand
651
+ ## Revoked — 1495 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
+ - **16** — orphaned: the theorem this key was sealed from is no longer in src/proof
657
658
  - **12** — revoked in place: circular by construction AND dependent on the removed lexical gate
658
- - **11** — orphaned: the theorem this key was sealed from is no longer in src/proof
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
661
661
  - **1** — revoked in place: it asserts adjudicate('we prove all seven')
662
+ - **1** — carried: this key was sealed from a theorem no longer in src/proof
662
663
 
663
- ## Carried — 435 withdrawn entries whose statement a proof now carries
664
+ ## Carried — 434 withdrawn entries whose statement a proof now carries
664
665
 
665
666
  Each was withdrawn for want of a Lean proof and has since been given one, at a new key. The entry is not restored: its own evidence is still a TypeScript test, and it did not hold on what it had. What the record adds is where the statement stands now.
666
667
 
@@ -705,9 +706,9 @@ Each was withdrawn for want of a Lean proof and has since been given one, at a n
705
706
  - ~~`hasinv_d1`~~ → [`lean_families_an_inverse_mod_nine_exists_at_exactly_the_units`](/theorem/lean_families_an_inverse_mod_nine_exists_at_exactly_the_units)
706
707
  - ~~`hasinv_d2`~~ → [`lean_families_an_inverse_mod_nine_exists_at_exactly_the_units`](/theorem/lean_families_an_inverse_mod_nine_exists_at_exactly_the_units)
707
708
 
708
- …and 395 more.
709
+ …and 394 more.
709
710
 
710
- <details><summary>List all 1489 withdrawn keys — nothing proves these</summary>
711
+ <details><summary>List all 1495 withdrawn keys — nothing proves these</summary>
711
712
 
712
713
  - ~~`qr_u7`~~ — 7 is a quadratic residue mod 9 · `2a422f9b-761a…`
713
714
  - ~~`powinv_k5`~~ — u↦u^5 is an involution on the units mod 9 · `8e327990-c88f…`
@@ -2193,12 +2194,18 @@ Each was withdrawn for want of a Lean proof and has since been given one, at a n
2193
2194
  - ~~`lean_priorart_the_two_sets_cover_every_source`~~ — lean priorart.lean: the_two_sets_cover_every_source — (sources.filter (fun s =&gt; kindOf s == 0)).length + (sources.filter (fun s =&gt; kindOf s == 1)).length = sources.length — decided by the Lean kernel over its whole finite domain, axiom-free · `16cd82ee-e3ff…`
2194
2195
  - ~~`lean_priorart_novelty_is_never_established_here`~~ — lean priorart.lean: novelty_is_never_established_here — noveltyEstablished = 0 — decided by the Lean kernel over its whole finite domain, axiom-free · `aa00a8eb-6f9a…`
2195
2196
  - ~~`lean_priorart_claiming_is_not_establishing`~~ — lean priorart.lean: claiming_is_not_establishing — (sources.filter novelty).length &gt; 0 ∧ noveltyEstablished = 0 — decided by the Lean kernel over its whole finite domain, axiom-free · `cefda112-d0b4…`
2197
+ - ~~`lean_split_the_coin_step_is_three_times_the_two_coins`~~ — lean split.lean: the_coin_step_is_three_times_the_two_coins — coins = 2 ∧ coinStep = 6 ∧ coinStep = 3 * 2 — decided by the Lean kernel over its whole finite domain, axiom-free · `9b87b34f-1d05…`
2198
+ - ~~`lean_split_accounting_the_coins_on_the_last_pair`~~ — lean split.lean: accounting_the_coins_on_the_last_pair — 78 = 3 * 26 ∧ 3 * (26 - coins) = 72 ∧ 72 = 8 * 9 — decided by the Lean kernel over its whole finite domain, axiom-free · `758b6f0c-0b43…`
2199
+ - ~~`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
+ - ~~`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
+ - ~~`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…`
2196
2202
  - ~~`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…`
2197
2203
  - ~~`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…`
2198
2204
  - ~~`lean_reach_this_file_settles_none_of_the_seven`~~ — lean reach.lean: this_file_settles_none_of_the_seven — (bounds.filter (fun n =&gt; (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
+ - ~~`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…`
2199
2206
  - ~~`lean_speed_an_encoding_changes_width_not_the_count_of_operations`~~ — lean speed.lean: an_encoding_changes_width_not_the_count_of_operations — hexbitChars &lt; hexChars ∧ hexbitMs &gt; hexMs ∧ (1048576 / 20 = 52428 ∧ 1048576 / 20 = 52428) — decided by the Lean kernel over its whole finite domain, axiom-free · `9227b54d-7b6f…`
2200
2207
  - ~~`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…`
2201
2208
 
2202
2209
  </details>
2203
2210
 
2204
- Page content-address: `088f3457-3a66-86cd-bfe8-621aebab6352`. Integrity, not truth — decidable facts and cited status, never a proof of the six open conjectures.
2211
+ Page content-address: `4524736c-375c-8e8d-88c4-d3e97fbad3f5`. 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
- - 679 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
19
- <sub>SEALED · `84a3c3c6-2e9f-83ad-ad07-341527db7383`</sub>
18
+ - 684 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
19
+ <sub>SEALED · `a7d42c45-3ec9-827f-a0eb-598d3584c5cc`</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 2543 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
43
- <sub>SEALED · `a734dac2-1a07-8b91-b0d4-40f517345194`</sub>
44
- - The count is 2543, which is 317 octaves and 7 over — the octave is a target the theorems earn, never a quota they are invented to fill.
45
- <sub>SEALED · `aeacbdf8-4162-8275-aa83-ca675e985558`</sub>
42
+ - The ledger records 2548 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
43
+ <sub>SEALED · `6ff7175a-68df-8828-9a61-c340e141692f`</sub>
44
+ - The count is 2548, which is 318 octaves and 4 over — the octave is a target the theorems earn, never a quota they are invented to fill.
45
+ <sub>SEALED · `e550bc41-24b1-89ae-96bb-02741dc8090f`</sub>
46
46
 
47
47
  ## 5 · What the gate does and does not do
48
48
 
@@ -181,20 +181,20 @@ Read from the artefacts at build time, never carried between runs.
181
181
 
182
182
  | measure | value |
183
183
  |---|---|
184
- | ledger entries | 2,543 — 317 octaves and 7 over |
184
+ | ledger entries | 2,548 — 318 octaves and 4 over |
185
185
  | standing — carries its own proof | **619** |
186
- | carried — withdrawn on its own evidence, proved by a live theorem | **435** |
187
- | withdrawn — nothing proves it | 1,489 |
188
- | proved in total | **1054** of 2,543 |
186
+ | carried — withdrawn on its own evidence, proved by a live theorem | **434** |
187
+ | withdrawn — nothing proves it | 1,495 |
188
+ | proved in total | **1053** of 2,548 |
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 |
192
192
  | claims a machine can render | 103 of 1,555 |
193
193
  | claims needing an author | 1,452 — reported, never faked |
194
194
 
195
- **On `carried`.** 435 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.
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 · 11 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.
197
+ **Why the withdrawn were withdrawn.** 1,386 no Lean proof · 457 tested the removed lexical gate · 60 other · 16 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 · 2543 ledger entries · trial root `3c6fa12a-9a38-8b93-a4e3-a833970b0290` · integrity, not truth · 0/7*
230
+ *17 claims, all verified · 619 Lean theorems · 2548 ledger entries · trial root `fe7047f9-d595-8601-8344-7815b2ca1626` · integrity, not truth · 0/7*
package/forensic.md CHANGED
@@ -5,16 +5,16 @@ 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 `802cc79c-9cca-8a47-959a-029deb8f5dbb`.
8
+ `npm run forensic`. Content-address `158f46c2-017e-8a94-bcc4-353a67d20c7c`.
9
9
 
10
10
  ## What this record establishes
11
11
 
12
12
  | | |
13
13
  |---|---:|
14
- | ledger entries | **2,543** |
14
+ | ledger entries | **2,548** |
15
15
  | standing — proved and sealed | 619 |
16
- | carried — withdrawn, proved by a live theorem | 435 |
17
- | withdrawn — nothing currently proves them | 1,489 |
16
+ | carried — withdrawn, proved by a live theorem | 434 |
17
+ | withdrawn — nothing currently proves them | 1,495 |
18
18
  | receipt chain, recomputed | **0 breaks — intact** |
19
19
  | commits that changed ledger state | 573 |
20
20
 
@@ -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
+ | 16 | orphaned: the theorem this key was sealed from is no longer in src/proof. It was deleted or rena |
29
30
  | 12 | revoked in place: circular by construction AND dependent on the removed lexical gate. |
30
- | 11 | orphaned: the theorem this key was sealed from is no longer in src/proof. It was deleted or rena |
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,489** withdrawn entries — 67.9% —
35
+ **1,495** withdrawn entries — 67.6% —
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
- - 679 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
25
- <sub>SEALED · `84a3c3c6-2e9f-83ad-ad07-341527db7383`</sub>
24
+ - 684 of them are sealed into the ledger, each carrying a receipt derived from the one before it.
25
+ <sub>SEALED · `a7d42c45-3ec9-827f-a0eb-598d3584c5cc`</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 2543 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
49
- <sub>SEALED · `a734dac2-1a07-8b91-b0d4-40f517345194`</sub>
50
- - The count is 2543, which is 317 octaves and 7 over — the octave is a target the theorems earn, never a quota they are invented to fill.
51
- <sub>SEALED · `aeacbdf8-4162-8275-aa83-ca675e985558`</sub>
48
+ - The ledger records 2548 entries with 0 chain breaks, 0 duplicate keys and 0 duplicate receipts.
49
+ <sub>SEALED · `6ff7175a-68df-8828-9a61-c340e141692f`</sub>
50
+ - The count is 2548, which is 318 octaves and 4 over — the octave is a target the theorems earn, never a quota they are invented to fill.
51
+ <sub>SEALED · `e550bc41-24b1-89ae-96bb-02741dc8090f`</sub>
52
52
 
53
53
  ## 5 · What the gate does and does not do
54
54
 
@@ -187,20 +187,20 @@ Read from the artefacts at build time, never carried between runs.
187
187
 
188
188
  | measure | value |
189
189
  |---|---|
190
- | ledger entries | 2,543 — 317 octaves and 7 over |
190
+ | ledger entries | 2,548 — 318 octaves and 4 over |
191
191
  | standing — carries its own proof | **619** |
192
- | carried — withdrawn on its own evidence, proved by a live theorem | **435** |
193
- | withdrawn — nothing proves it | 1,489 |
194
- | proved in total | **1054** of 2,543 |
192
+ | carried — withdrawn on its own evidence, proved by a live theorem | **434** |
193
+ | withdrawn — nothing proves it | 1,495 |
194
+ | proved in total | **1053** of 2,548 |
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 |
198
198
  | claims a machine can render | 103 of 1,555 |
199
199
  | claims needing an author | 1,452 — reported, never faked |
200
200
 
201
- **On `carried`.** 435 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.
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 · 11 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.
203
+ **Why the withdrawn were withdrawn.** 1,386 no Lean proof · 457 tested the removed lexical gate · 60 other · 16 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 · 2543 ledger entries · trial root `3c6fa12a-9a38-8b93-a4e3-a833970b0290` · integrity, not truth · 0/7*
219
+ *17 claims, all verified · 619 Lean theorems · 2548 ledger entries · trial root `fe7047f9-d595-8601-8344-7815b2ca1626` · 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.7",
3
+ "version": "9.0.9",
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",