@ceccec/millennium-solutions 9.2.5 → 9.2.6

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/speedup.md CHANGED
@@ -7,7 +7,7 @@ head:
7
7
 
8
8
  # The real uuidna advantage — measured, in all domains
9
9
 
10
- > Generated from the **2580** ledger entries and **59** domains, recomputed each build. The advantage is
10
+ > Generated from the **2607** ledger entries and **59** domains, recomputed each build. The advantage is
11
11
  > real and **measured**, and honestly bounded: a **verification and reuse** complexity reduction — **not**
12
12
  > faster original compute, **not** faster than light, **not** quantum.
13
13
 
@@ -33,9 +33,9 @@ theorems verify in `⌈log₂N⌉`. So one proof covers the whole [rosetta](/):
33
33
 
34
34
  ## Discovery lead — a lead, never a verdict
35
35
 
36
- Grouping the 2580 receipts by the digital root of their address, the **sparsest** region is digit
37
- **3** (262) — a candidate area to examine, not a finding. The ledger is currently held
38
- at **2580** (the captain's cap): improving a theorem's name or proof heals the record without changing the
36
+ Grouping the 2607 receipts by the digital root of their address, the **sparsest** region is digit
37
+ **3** (265) — a candidate area to examine, not a finding. The ledger is currently held
38
+ at **2607** (the captain's cap): improving a theorem's name or proof heals the record without changing the
39
39
  count; discovering a new one would require lifting the cap.
40
40
 
41
41
  A content-address proves **integrity, not truth**.
@@ -109,4 +109,26 @@ theorem factorial_seven_is_five_thousand_and_forty :
109
109
  theorem mantels_bound_is_n_squared_over_four :
110
110
  (List.range' 1 20).all (fun n => (n / 2) * (n - n / 2) == n * n / 4) := by decide
111
111
 
112
+
113
+ -- ── the capped row above, proved for every value — no bound ───────────────────────────────────────────────────
114
+ -- mantels_bound_is_n_squared_over_four checked 1 ≤ n ≤ 20; this proves the identity for every n.
115
+ theorem mantels_bound_is_n_squared_over_four_for_every_n :
116
+ ∀ n : Nat, (n / 2) * (n - n / 2) = n * n / 4 := by
117
+ intro n
118
+ rcases Nat.mod_two_eq_zero_or_one n with h | h
119
+ · obtain ⟨m, rfl⟩ : ∃ m, n = 2 * m := ⟨n / 2, by omega⟩
120
+ have h1 : 2 * m / 2 = m := by omega
121
+ have h2 : 2 * m * (2 * m) = 4 * (m * m) := by
122
+ rw [Nat.mul_assoc 2 m (2 * m), Nat.mul_comm m (2 * m), Nat.mul_assoc 2 m m]; omega
123
+ rw [h1, show 2 * m - m = m by omega, h2]
124
+ omega
125
+ · obtain ⟨m, rfl⟩ : ∃ m, n = 2 * m + 1 := ⟨n / 2, by omega⟩
126
+ have h1 : (2 * m + 1) / 2 = m := by omega
127
+ have h2 : (2 * m + 1) * (2 * m + 1) = 4 * (m * (m + 1)) + 1 := by
128
+ rw [Nat.mul_add m m 1, Nat.mul_one, Nat.add_mul, Nat.mul_add, Nat.mul_add, Nat.mul_one, Nat.one_mul]
129
+ rw [Nat.mul_assoc 2 m (2 * m), Nat.mul_comm m (2 * m), Nat.mul_assoc 2 m m]
130
+ omega
131
+ rw [h1, show 2 * m + 1 - m = m + 1 by omega, h2]
132
+ omega
133
+
112
134
  end Demand
@@ -114,4 +114,64 @@ theorem havel_hakimi_decides_graphical_sequences :
114
114
  hh 12 [3, 3, 3, 3] = true ∧ hh 12 [2, 2, 2] = true ∧
115
115
  hh 12 [3, 3, 1, 1] = false ∧ hh 12 [4, 1, 1, 1, 1] = true ∧ hh 12 [5, 1, 1, 1, 1] = false := by decide
116
116
 
117
+
118
+ -- ── the capped rows above, proved for every value by induction — no bound ────────────────────────────────────
119
+ -- the_euler_characteristic_of_a_genus_g_surface checked g < 12; this proves χ(g) + 2g = 2 for every g.
120
+ theorem the_euler_characteristic_of_a_genus_g_surface_for_every_g :
121
+ ∀ g : Nat, chi g + 2 * (g : Int) = 2 := by
122
+ intro g
123
+ unfold chi
124
+ omega
125
+
126
+ theorem a_repunit_has_the_residue_of_its_length_mod_three : ∀ n : Nat, repunit n % 3 = n % 3 := by
127
+ intro n
128
+ induction n with
129
+ | zero => rfl
130
+ | succ n ih =>
131
+ show (10 * repunit n + 1) % 3 = (n + 1) % 3
132
+ rw [Nat.add_mod, Nat.mul_mod, ih]
133
+ have h : n % 3 = 0 ∨ n % 3 = 1 ∨ n % 3 = 2 := by omega
134
+ rcases h with h | h | h <;> simp [h] <;> omega
135
+
136
+ -- repunit_divisibility_by_three_and_seven checked n ≤ 18; these prove both halves for every n.
137
+ theorem a_repunit_is_divisible_by_three_exactly_when_its_length_is_for_every_n :
138
+ ∀ n : Nat, (repunit n % 3 = 0) ↔ (n % 3 = 0) := by
139
+ intro n
140
+ rw [a_repunit_has_the_residue_of_its_length_mod_three]
141
+
142
+ theorem repunit_of_a_sum : ∀ n k : Nat, repunit (n + k) = 10 ^ k * repunit n + repunit k := by
143
+ intro n k
144
+ induction k with
145
+ | zero => simp [repunit]
146
+ | succ k ih =>
147
+ show 10 * repunit (n + k) + 1 = 10 ^ (k + 1) * repunit n + (10 * repunit k + 1)
148
+ rw [ih, Nat.pow_succ, Nat.mul_add, ← Nat.mul_assoc, Nat.mul_comm 10 (10 ^ k)]
149
+ omega
150
+
151
+ theorem repunits_repeat_mod_seven_every_six_digits : ∀ n : Nat, repunit (n + 6) % 7 = repunit n % 7 := by
152
+ intro n
153
+ rw [repunit_of_a_sum, Nat.add_mod, Nat.mul_mod]
154
+ have h1 : 10 ^ 6 % 7 = 1 := by decide
155
+ have h2 : repunit 6 % 7 = 0 := by decide
156
+ rw [h1, h2, Nat.one_mul, Nat.add_zero]
157
+ omega
158
+
159
+ theorem a_repunit_has_the_residue_of_its_length_mod_six_mod_seven : ∀ n : Nat, repunit n % 7 = repunit (n % 6) % 7 := by
160
+ intro n
161
+ induction n using Nat.strongRecOn with
162
+ | _ n ih =>
163
+ if hn : n < 6 then rw [Nat.mod_eq_of_lt hn]
164
+ else
165
+ have e : n = (n - 6) + 6 := by omega
166
+ rw [e, repunits_repeat_mod_seven_every_six_digits, ih (n - 6) (by omega), Nat.add_mod_right]
167
+
168
+ theorem a_repunit_is_divisible_by_seven_exactly_when_six_divides_its_length_for_every_n :
169
+ ∀ n : Nat, (repunit n % 7 = 0) ↔ (n % 6 = 0) := by
170
+ intro n
171
+ rw [a_repunit_has_the_residue_of_its_length_mod_six_mod_seven]
172
+ have h : n % 6 < 6 := Nat.mod_lt _ (by decide)
173
+ generalize n % 6 = j at h ⊢
174
+ revert j
175
+ decide
176
+
117
177
  end Demand3
@@ -18651,5 +18651,140 @@
18651
18651
  "key": "lean_flow_navier_stokes_flow_is_bounded_for_every_step",
18652
18652
  "name": "lean flow.lean: navier_stokes_flow_is_bounded_for_every_step — ∀ k : Nat, orbit k < 9 ∧ span.contains (orbit k) = true — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18653
18653
  "receipt": "6dec28f9-502b-86ee-8f87-d09f701ed7e7"
18654
+ },
18655
+ {
18656
+ "key": "lean_demand_mantels_bound_is_n_squared_over_four_for_every_n",
18657
+ "name": "lean demand.lean: mantels_bound_is_n_squared_over_four_for_every_n — ∀ n : Nat, (n / 2) * (n - n / 2) = n * n / 4 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18658
+ "receipt": "b9212e56-a3ea-8d6d-be87-f946b87d6b6c"
18659
+ },
18660
+ {
18661
+ "key": "lean_demand3_the_euler_characteristic_of_a_genus_g_surface_for_every_g",
18662
+ "name": "lean demand3.lean: the_euler_characteristic_of_a_genus_g_surface_for_every_g — ∀ g : Nat, chi g + 2 * (g : Int) = 2 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18663
+ "receipt": "a1a899d7-b3c5-8941-b02c-55f111d49fca"
18664
+ },
18665
+ {
18666
+ "key": "lean_demand3_a_repunit_has_the_residue_of_its_length_mod_three",
18667
+ "name": "lean demand3.lean: a_repunit_has_the_residue_of_its_length_mod_three — ∀ n : Nat, repunit n % 3 = n % 3 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18668
+ "receipt": "732113b8-a6d4-8b14-8681-6f31d2a78e30"
18669
+ },
18670
+ {
18671
+ "key": "lean_demand3_a_repunit_is_divisible_by_three_exactly_when_its_length_is_for_every_n",
18672
+ "name": "lean demand3.lean: a_repunit_is_divisible_by_three_exactly_when_its_length_is_for_every_n — ∀ n : Nat, (repunit n % 3 = 0) ↔ (n % 3 = 0) — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18673
+ "receipt": "93c43bd9-4707-8199-be02-c954c8916904"
18674
+ },
18675
+ {
18676
+ "key": "lean_demand3_repunit_of_a_sum",
18677
+ "name": "lean demand3.lean: repunit_of_a_sum — ∀ n k : Nat, repunit (n + k) = 10 ^ k * repunit n + repunit k — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18678
+ "receipt": "5558e77e-438c-84e4-9a58-2520685771a3"
18679
+ },
18680
+ {
18681
+ "key": "lean_demand3_repunits_repeat_mod_seven_every_six_digits",
18682
+ "name": "lean demand3.lean: repunits_repeat_mod_seven_every_six_digits — ∀ n : Nat, repunit (n + 6) % 7 = repunit n % 7 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18683
+ "receipt": "a67a8eec-997b-86f2-adbe-b77355dafc70"
18684
+ },
18685
+ {
18686
+ "key": "lean_demand3_a_repunit_has_the_residue_of_its_length_mod_six_mod_seven",
18687
+ "name": "lean demand3.lean: a_repunit_has_the_residue_of_its_length_mod_six_mod_seven — ∀ n : Nat, repunit n % 7 = repunit (n % 6) % 7 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18688
+ "receipt": "ec5bf7fe-1dd8-863d-8443-8682088d254b"
18689
+ },
18690
+ {
18691
+ "key": "lean_demand3_a_repunit_is_divisible_by_seven_exactly_when_six_divides_its_length_for_every_n",
18692
+ "name": "lean demand3.lean: a_repunit_is_divisible_by_seven_exactly_when_six_divides_its_length_for_every_n — ∀ n : Nat, (repunit n % 7 = 0) ↔ (n % 6 = 0) — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18693
+ "receipt": "2bb98278-186d-8284-9c6e-9c9e74177679"
18694
+ },
18695
+ {
18696
+ "key": "lean_elementary_the_interior_and_exterior_angles_are_n_straight_angles_for_every_n",
18697
+ "name": "lean elementary.lean: the_interior_and_exterior_angles_are_n_straight_angles_for_every_n — ∀ n : Nat, 2 ≤ n → (n - 2) * 180 + 360 = n * 180 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18698
+ "receipt": "d1fbd7f1-d1df-8c7f-bb56-d565780d1db2"
18699
+ },
18700
+ {
18701
+ "key": "lean_elementary_a_product_of_consecutive_numbers_is_even",
18702
+ "name": "lean elementary.lean: a_product_of_consecutive_numbers_is_even — ∀ n : Nat, n * (n + 1) % 2 = 0 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18703
+ "receipt": "cf763033-1ed3-82d8-866e-88ea2a38b2d1"
18704
+ },
18705
+ {
18706
+ "key": "lean_elementary_eight_times_a_triangular_number_plus_one_is_an_odd_square_for_every_n",
18707
+ "name": "lean elementary.lean: eight_times_a_triangular_number_plus_one_is_an_odd_square_for_every_n — ∀ n : Nat, 8 * (n * (n + 1) / 2) + 1 = (2 * n + 1) * (2 * n + 1) — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18708
+ "receipt": "1aa59ef6-880c-8e39-b946-1b88e426040e"
18709
+ },
18710
+ {
18711
+ "key": "lean_energy_two_parts_in_three_is_two_thirds_at_every_scale_for_every_m",
18712
+ "name": "lean energy.lean: two_parts_in_three_is_two_thirds_at_every_scale_for_every_m — ∀ m : Nat, 0 < m → pct (2 * m) (3 * m) = 66 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18713
+ "receipt": "9177c3d3-8280-8d65-9df5-c27b42454279"
18714
+ },
18715
+ {
18716
+ "key": "lean_families_the_powers_of_two_sum_to_one_less_than_the_next_for_every_n",
18717
+ "name": "lean families.lean: the_powers_of_two_sum_to_one_less_than_the_next_for_every_n — ∀ n : Nat, ((List.range (n + 1)).map (fun i => 2 ^ i)).foldl (· + ·) 0 = 2 ^ (n + 1) - 1 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18718
+ "receipt": "3cab57ca-4d36-8f80-a221-21c11d25adc9"
18719
+ },
18720
+ {
18721
+ "key": "lean_families_square_of_successor",
18722
+ "name": "lean families.lean: square_of_successor — ∀ n : Nat, (n + 1) * (n + 1) = n * n + 2 * n + 1 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18723
+ "receipt": "f9826dc5-b85d-8a85-800b-f6027e83a0cf"
18724
+ },
18725
+ {
18726
+ "key": "lean_families_the_first_n_odd_numbers_sum_to_n_squared_for_every_n",
18727
+ "name": "lean families.lean: the_first_n_odd_numbers_sum_to_n_squared_for_every_n — ∀ n : Nat, ((List.range n).map (fun i => 2 * i + 1)).foldl (· + ·) 0 = n * n — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18728
+ "receipt": "7baff487-adea-8866-9d67-71fbbb0cdee6"
18729
+ },
18730
+ {
18731
+ "key": "lean_mechanical_consecutive_squares_differ_by_the_odd_numbers",
18732
+ "name": "lean mechanical.lean: consecutive_squares_differ_by_the_odd_numbers — ∀ n : Nat, (n + 1) ^ 2 - n * n = 2 * n + 1 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18733
+ "receipt": "65131201-9df7-8805-8427-c1407fcd92cf"
18734
+ },
18735
+ {
18736
+ "key": "lean_mechanical_every_multiple_of_three_four_five_is_pythagorean",
18737
+ "name": "lean mechanical.lean: every_multiple_of_three_four_five_is_pythagorean — ∀ k : Nat, (3 * k) ^ 2 + (4 * k) ^ 2 = (5 * k) ^ 2 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18738
+ "receipt": "a20992d7-56ea-8048-a939-96fc2fdc451d"
18739
+ },
18740
+ {
18741
+ "key": "lean_mechanical_the_product_of_three_consecutive_numbers_is_even",
18742
+ "name": "lean mechanical.lean: the_product_of_three_consecutive_numbers_is_even — ∀ n : Nat, n * (n + 1) * (n + 2) % 2 = 0 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18743
+ "receipt": "0eb7327f-0789-8918-8365-8d4188436e01"
18744
+ },
18745
+ {
18746
+ "key": "lean_mechanical_the_product_of_three_consecutive_numbers_is_a_multiple_of_three",
18747
+ "name": "lean mechanical.lean: the_product_of_three_consecutive_numbers_is_a_multiple_of_three — ∀ n : Nat, n * (n + 1) * (n + 2) % 3 = 0 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18748
+ "receipt": "f3e2ee80-28d1-89e3-92c7-082265ef98dc"
18749
+ },
18750
+ {
18751
+ "key": "lean_mechanical_the_product_of_any_three_consecutive_integers_is_divisible_by_six_for_every_n",
18752
+ "name": "lean mechanical.lean: the_product_of_any_three_consecutive_integers_is_divisible_by_six_for_every_n — ∀ n : Nat, n * (n + 1) * (n + 2) % 6 = 0 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18753
+ "receipt": "65518577-2bc3-82a2-97f8-f6cd4f7d1b62"
18754
+ },
18755
+ {
18756
+ "key": "lean_reversal_foldl_add_start",
18757
+ "name": "lean reversal.lean: foldl_add_start — ∀ (l : List Nat) (a : Nat), l.foldl (· + ·) a = a + l.foldl (· + ·) 0 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18758
+ "receipt": "70a7cff5-e668-8f44-a8d0-797abfa246c8"
18759
+ },
18760
+ {
18761
+ "key": "lean_reversal_the_digits_sum_to_the_number_mod_nine_when_the_fuel_covers_them",
18762
+ "name": "lean reversal.lean: the_digits_sum_to_the_number_mod_nine_when_the_fuel_covers_them — ∀ f n : Nat, n < 10 ^ f → (digitsF f n).foldl (· + ·) 0 % 9 = n % 9 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18763
+ "receipt": "58d4c502-7f73-8e6c-923e-76fdf25fc81c"
18764
+ },
18765
+ {
18766
+ "key": "lean_reversal_a_number_is_below_ten_to_its_own_successor",
18767
+ "name": "lean reversal.lean: a_number_is_below_ten_to_its_own_successor — ∀ n : Nat, n < 10 ^ (n + 1) — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18768
+ "receipt": "dc7330c0-7a4c-8d99-9874-37c4c10fd1bb"
18769
+ },
18770
+ {
18771
+ "key": "lean_reversal_the_digit_sum_has_the_residue_of_the_number_mod_nine_for_every_n",
18772
+ "name": "lean reversal.lean: the_digit_sum_has_the_residue_of_the_number_mod_nine_for_every_n — ∀ n : Nat, digitSum n % 9 = n % 9 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18773
+ "receipt": "1a8922c4-c55c-88a0-b55a-23663d22fe49"
18774
+ },
18775
+ {
18776
+ "key": "lean_reversal_folding_by_ten_keeps_the_residue_of_the_digit_sum",
18777
+ "name": "lean reversal.lean: folding_by_ten_keeps_the_residue_of_the_digit_sum — ∀ (l : List Nat) (a : Nat), (l.foldl (fun a d => a * 10 + d) a) % 9 = (a + l.foldl (· + ·) 0) % 9 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18778
+ "receipt": "c7ce0223-8884-8e3a-84a1-dded449c3cb0"
18779
+ },
18780
+ {
18781
+ "key": "lean_reversal_reversal_keeps_the_residue_mod_nine_for_every_n",
18782
+ "name": "lean reversal.lean: reversal_keeps_the_residue_mod_nine_for_every_n — ∀ n : Nat, reverseNum n % 9 = n % 9 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18783
+ "receipt": "3159b043-f18c-8c28-b831-114d6dc70ce2"
18784
+ },
18785
+ {
18786
+ "key": "lean_split_the_coin_step_and_the_coins_are_inverse_for_every_c",
18787
+ "name": "lean split.lean: the_coin_step_and_the_coins_are_inverse_for_every_c — ∀ c : Nat, 3 * c / 3 = c ∧ (3 * c) % 3 = 0 — proved by the Lean kernel for every value (by\n intro), standard axioms only — checked by lean.ts",
18788
+ "receipt": "1c1ebe41-4e80-80ad-b352-e90a09922838"
18654
18789
  }
18655
18790
  ]
@@ -398,4 +398,29 @@ theorem the_unit_graph_is_complete_bipartite_between_the_two_tetrahedra :
398
398
  def settledHere : Nat := 32
399
399
  theorem elementary_settles_its_range : settledHere = 32 := rfl
400
400
 
401
+
402
+ -- ── the capped rows above, proved for every value — no bound ──────────────────────────────────────────────────
403
+ -- the_interior_and_exterior_angles_are_n_straight_angles checked 3 ≤ n ≤ 32; this proves it for every n ≥ 2.
404
+ theorem the_interior_and_exterior_angles_are_n_straight_angles_for_every_n :
405
+ ∀ n : Nat, 2 ≤ n → (n - 2) * 180 + 360 = n * 180 := by
406
+ intro n h
407
+ omega
408
+
409
+ theorem a_product_of_consecutive_numbers_is_even : ∀ n : Nat, n * (n + 1) % 2 = 0 := by
410
+ intro n
411
+ rcases Nat.mod_two_eq_zero_or_one n with h | h <;> simp [Nat.mul_mod, Nat.add_mod, h]
412
+
413
+ -- eight_times_a_triangular_number_plus_one_is_an_odd_square checked n < 60; this proves it for every n.
414
+ theorem eight_times_a_triangular_number_plus_one_is_an_odd_square_for_every_n :
415
+ ∀ n : Nat, 8 * (n * (n + 1) / 2) + 1 = (2 * n + 1) * (2 * n + 1) := by
416
+ intro n
417
+ have hdiv : n * (n + 1) / 2 * 2 = n * (n + 1) :=
418
+ Nat.div_mul_cancel (Nat.dvd_of_mod_eq_zero (a_product_of_consecutive_numbers_is_even n))
419
+ have hexp : (2 * n + 1) * (2 * n + 1) = 4 * (n * (n + 1)) + 1 := by
420
+ rw [Nat.mul_add n n 1, Nat.mul_one, Nat.add_mul, Nat.mul_add, Nat.mul_add, Nat.mul_one, Nat.one_mul]
421
+ rw [Nat.mul_assoc 2 n (2 * n), Nat.mul_comm n (2 * n), Nat.mul_assoc 2 n n]
422
+ omega
423
+ rw [hexp]
424
+ omega
425
+
401
426
  end Elementary
@@ -279,4 +279,13 @@ theorem the_atoms_read_back_from_the_mass :
279
279
  (List.range 10).all (fun h => (List.range 10).all (fun o => atomsOf (mass h o) == some (h, o))) ∧
280
280
  atomsOf mgH2 = some (2, 0) ∧ atomsOf mgO2 = some (0, 2) ∧ atomsOf mgH2O = some (2, 1) := by decide
281
281
 
282
+
283
+ -- ── the capped row above, proved for every value — no bound ───────────────────────────────────────────────────
284
+ -- two_parts_in_three_is_two_thirds_at_every_scale checked 1 ≤ m ≤ 500; this proves the ratio part for every m.
285
+ theorem two_parts_in_three_is_two_thirds_at_every_scale_for_every_m :
286
+ ∀ m : Nat, 0 < m → pct (2 * m) (3 * m) = 66 := by
287
+ intro m hm
288
+ unfold pct
289
+ rw [Nat.mul_comm 2 m, Nat.mul_assoc, Nat.mul_comm 3 m, Nat.mul_div_mul_left _ _ hm]
290
+
282
291
  end Energy
@@ -184,9 +184,9 @@ def digitsF : Nat → Nat → List Nat
184
184
  | 0, _ => []
185
185
  | _, 0 => []
186
186
  | Nat.succ f, n => n % 10 :: digitsF f (n / 10)
187
- -- fuel 20 covers every Nat that fits in 64 bits; a fuel just large enough for the range below would
188
- -- silently truncate the digits of any larger number a later theorem passed in
189
- def digitsOf (n : Nat) : List Nat := digitsF 20 n
187
+ -- the fuel is n + 1, which covers every digit of every n: the earlier fuel of 20 capped this at twenty digits
188
+ -- and silently truncated anything larger
189
+ def digitsOf (n : Nat) : List Nat := digitsF (n + 1) n
190
190
  def reverseDigits (n : Nat) : Nat := (digitsOf n).foldl (fun a d => a * 10 + d) 0
191
191
  def digitalRoot (n : Nat) : Nat := if n == 0 then 0 else 1 + (n - 1) % 9
192
192
 
@@ -447,4 +447,36 @@ theorem choose_is_invariant_under_the_involution_k_to_n_minus_k :
447
447
  def settledHere : Nat := 42
448
448
  theorem families_settle_their_ranges : settledHere = 42 := rfl
449
449
 
450
+
451
+ -- ── the capped rows above, proved for every value by induction — no bound ────────────────────────────────────
452
+ -- the_powers_of_two_sum_to_one_less_than_the_next checked n ≤ 40; this proves it for every n.
453
+ theorem the_powers_of_two_sum_to_one_less_than_the_next_for_every_n :
454
+ ∀ n : Nat, ((List.range (n + 1)).map (fun i => 2 ^ i)).foldl (· + ·) 0 = 2 ^ (n + 1) - 1 := by
455
+ intro n
456
+ induction n with
457
+ | zero => decide
458
+ | succ n ih =>
459
+ rw [List.range_succ, List.map_append, List.foldl_append, ih]
460
+ simp only [List.map, List.foldl]
461
+ have h : 1 ≤ 2 ^ (n + 1) := Nat.one_le_two_pow
462
+ rw [Nat.pow_succ 2 (n + 1)]
463
+ omega
464
+
465
+ theorem square_of_successor : ∀ n : Nat, (n + 1) * (n + 1) = n * n + 2 * n + 1 := by
466
+ intro n
467
+ rw [Nat.add_mul, Nat.mul_add, Nat.mul_one, Nat.one_mul]
468
+ omega
469
+
470
+ -- the_first_n_odd_numbers_sum_to_n_squared checked n ≤ 200; this proves it for every n.
471
+ theorem the_first_n_odd_numbers_sum_to_n_squared_for_every_n :
472
+ ∀ n : Nat, ((List.range n).map (fun i => 2 * i + 1)).foldl (· + ·) 0 = n * n := by
473
+ intro n
474
+ induction n with
475
+ | zero => decide
476
+ | succ n ih =>
477
+ rw [List.range_succ, List.map_append, List.foldl_append, ih]
478
+ simp only [List.map, List.foldl]
479
+ rw [square_of_successor]
480
+ omega
481
+
450
482
  end Families
@@ -418,4 +418,38 @@ theorem a_reflexive_address_claim_holds_for_a_constant_function :
418
418
  -- recording. What is now published beside them is exactly where a critic should aim, which is the whole of
419
419
  -- what "claim boldly" can honestly mean — the falsifier travels with the claim.
420
420
 
421
+
422
+ -- ── the capped rows above, proved for every value by induction and case analysis — no bound ──────────────────
423
+ -- the_difference_of_consecutive_squares_is_the_odd_numbers checked n ≤ 500; this proves it for every n.
424
+ theorem consecutive_squares_differ_by_the_odd_numbers : ∀ n : Nat, (n + 1) ^ 2 - n * n = 2 * n + 1 := by
425
+ intro n
426
+ have h : (n + 1) ^ 2 = n * n + (2 * n + 1) := by
427
+ rw [Nat.pow_two, Nat.add_mul, Nat.mul_add, Nat.mul_one, Nat.one_mul]
428
+ omega
429
+ omega
430
+
431
+ -- there_are_infinitely_many_pythagorean_triples checked k ≤ 100; here every multiple of (3, 4, 5) is a triple, for every k.
432
+ -- prior_art_theorem: every_multiple_of_three_four_five_is_pythagorean — the 3-4-5 triangle, known in antiquity
433
+ theorem every_multiple_of_three_four_five_is_pythagorean : ∀ k : Nat, (3 * k) ^ 2 + (4 * k) ^ 2 = (5 * k) ^ 2 := by
434
+ intro k
435
+ rw [Nat.mul_pow, Nat.mul_pow, Nat.mul_pow]
436
+ omega
437
+
438
+ theorem the_product_of_three_consecutive_numbers_is_even : ∀ n : Nat, n * (n + 1) * (n + 2) % 2 = 0 := by
439
+ intro n
440
+ rcases Nat.mod_two_eq_zero_or_one n with h | h <;> simp [Nat.mul_mod, Nat.add_mod, h]
441
+
442
+ theorem the_product_of_three_consecutive_numbers_is_a_multiple_of_three : ∀ n : Nat, n * (n + 1) * (n + 2) % 3 = 0 := by
443
+ intro n
444
+ have : n % 3 = 0 ∨ n % 3 = 1 ∨ n % 3 = 2 := by omega
445
+ rcases this with h | h | h <;> simp [Nat.mul_mod, Nat.add_mod, h]
446
+
447
+ -- the_product_of_any_three_consecutive_integers_is_divisible_by_six checked n ≤ 500; this proves it for every n.
448
+ theorem the_product_of_any_three_consecutive_integers_is_divisible_by_six_for_every_n :
449
+ ∀ n : Nat, n * (n + 1) * (n + 2) % 6 = 0 := by
450
+ intro n
451
+ have h2 := the_product_of_three_consecutive_numbers_is_even n
452
+ have h3 := the_product_of_three_consecutive_numbers_is_a_multiple_of_three n
453
+ omega
454
+
421
455
  end Mechanical
@@ -70,4 +70,79 @@ theorem reversal_is_involutive_exactly_off_the_trailing_zeros :
70
70
  def settledHere : Nat := 8
71
71
  theorem reversal_settles_its_range : settledHere = 8 := rfl
72
72
 
73
+
74
+ -- ── the capped rows above, proved for every value by induction — no bound ────────────────────────────────────
75
+ -- casting out nines, in general: a number, its digit sum and its reversal share their residue mod 9.
76
+ theorem foldl_add_start : ∀ (l : List Nat) (a : Nat), l.foldl (· + ·) a = a + l.foldl (· + ·) 0 := by
77
+ intro l
78
+ induction l with
79
+ | nil => intro a; simp
80
+ | cons x xs ih =>
81
+ intro a
82
+ simp only [List.foldl]
83
+ rw [ih (a + x), ih (0 + x)]
84
+ omega
85
+
86
+ theorem the_digits_sum_to_the_number_mod_nine_when_the_fuel_covers_them :
87
+ ∀ f n : Nat, n < 10 ^ f → (digitsF f n).foldl (· + ·) 0 % 9 = n % 9 := by
88
+ intro f
89
+ induction f with
90
+ | zero =>
91
+ intro n h
92
+ have : n = 0 := by simp at h; omega
93
+ subst this
94
+ simp [digitsF]
95
+ | succ f ih =>
96
+ intro n h
97
+ cases n with
98
+ | zero => simp [digitsF]
99
+ | succ m =>
100
+ simp only [digitsF, List.foldl]
101
+ rw [foldl_add_start]
102
+ have hlt : (m + 1) / 10 < 10 ^ f := by
103
+ rw [Nat.pow_succ] at h
104
+ omega
105
+ have := ih ((m + 1) / 10) hlt
106
+ omega
107
+
108
+ theorem a_number_is_below_ten_to_its_own_successor : ∀ n : Nat, n < 10 ^ (n + 1) := by
109
+ intro n
110
+ induction n with
111
+ | zero => decide
112
+ | succ n ih =>
113
+ rw [Nat.pow_succ]
114
+ omega
115
+
116
+ theorem the_digit_sum_has_the_residue_of_the_number_mod_nine_for_every_n :
117
+ ∀ n : Nat, digitSum n % 9 = n % 9 := by
118
+ intro n
119
+ unfold digitSum digits
120
+ split
121
+ · rename_i h
122
+ have : n = 0 := by simpa using h
123
+ subst this
124
+ rfl
125
+ · exact the_digits_sum_to_the_number_mod_nine_when_the_fuel_covers_them (n + 1) n (a_number_is_below_ten_to_its_own_successor n)
126
+
127
+ theorem folding_by_ten_keeps_the_residue_of_the_digit_sum :
128
+ ∀ (l : List Nat) (a : Nat), (l.foldl (fun a d => a * 10 + d) a) % 9 = (a + l.foldl (· + ·) 0) % 9 := by
129
+ intro l
130
+ induction l with
131
+ | nil => intro a; simp
132
+ | cons x xs ih =>
133
+ intro a
134
+ simp only [List.foldl]
135
+ rw [ih (a * 10 + x), foldl_add_start xs (0 + x)]
136
+ omega
137
+
138
+ -- digital_root_is_invariant_under_reversal checked 1 ≤ n ≤ 300; this proves it for every n.
139
+ theorem reversal_keeps_the_residue_mod_nine_for_every_n :
140
+ ∀ n : Nat, reverseNum n % 9 = n % 9 := by
141
+ intro n
142
+ have h1 : reverseNum n % 9 = digitSum n % 9 := by
143
+ unfold reverseNum digitSum
144
+ rw [folding_by_ten_keeps_the_residue_of_the_digit_sum]
145
+ simp
146
+ rw [h1, the_digit_sum_has_the_residue_of_the_number_mod_nine_for_every_n]
147
+
73
148
  end Reversal
@@ -188,4 +188,12 @@ theorem the_orbit_turns_once_per_budget :
188
188
  ((List.range 60).all (fun n => 2 ^ (n + 6) % 9 == 2 ^ n % 9)) ∧ 2 ^ 6 = sealBits / coins := by decide
189
189
 
190
190
 
191
+
192
+ -- ── the capped row above, proved for every value — no bound ───────────────────────────────────────────────────
193
+ -- the_coin_step_and_the_coins_are_inverse checked c < 20; this proves tripling and dividing by three undo each other for every c.
194
+ theorem the_coin_step_and_the_coins_are_inverse_for_every_c :
195
+ ∀ c : Nat, 3 * c / 3 = c ∧ (3 * c) % 3 = 0 := by
196
+ intro c
197
+ exact ⟨Nat.mul_div_cancel_left c (by decide), Nat.mul_mod_right 3 c⟩
198
+
191
199
  end Split
@@ -15478,5 +15478,167 @@
15478
15478
  "verdict": "UNVERIFIED",
15479
15479
  "ground": "no candidate in the current space — nothing to recompute",
15480
15480
  "receipt": "6dec28f9-502b-86ee-8f87-d09f701ed7e7"
15481
+ },
15482
+ {
15483
+ "key": "lean_demand_mantels_bound_is_n_squared_over_four_for_every_n",
15484
+ "verdict": "UNVERIFIED",
15485
+ "ground": "no candidate in the current space — nothing to recompute",
15486
+ "receipt": "b9212e56-a3ea-8d6d-be87-f946b87d6b6c"
15487
+ },
15488
+ {
15489
+ "key": "lean_demand3_the_euler_characteristic_of_a_genus_g_surface_for_every_g",
15490
+ "verdict": "UNVERIFIED",
15491
+ "ground": "no candidate in the current space — nothing to recompute",
15492
+ "receipt": "a1a899d7-b3c5-8941-b02c-55f111d49fca"
15493
+ },
15494
+ {
15495
+ "key": "lean_demand3_a_repunit_has_the_residue_of_its_length_mod_three",
15496
+ "verdict": "UNVERIFIED",
15497
+ "ground": "no candidate in the current space — nothing to recompute",
15498
+ "receipt": "732113b8-a6d4-8b14-8681-6f31d2a78e30"
15499
+ },
15500
+ {
15501
+ "key": "lean_demand3_a_repunit_is_divisible_by_three_exactly_when_its_length_is_for_every_n",
15502
+ "verdict": "UNVERIFIED",
15503
+ "ground": "no candidate in the current space — nothing to recompute",
15504
+ "receipt": "93c43bd9-4707-8199-be02-c954c8916904"
15505
+ },
15506
+ {
15507
+ "key": "lean_demand3_repunit_of_a_sum",
15508
+ "verdict": "UNVERIFIED",
15509
+ "ground": "no candidate in the current space — nothing to recompute",
15510
+ "receipt": "5558e77e-438c-84e4-9a58-2520685771a3"
15511
+ },
15512
+ {
15513
+ "key": "lean_demand3_repunits_repeat_mod_seven_every_six_digits",
15514
+ "verdict": "UNVERIFIED",
15515
+ "ground": "no candidate in the current space — nothing to recompute",
15516
+ "receipt": "a67a8eec-997b-86f2-adbe-b77355dafc70"
15517
+ },
15518
+ {
15519
+ "key": "lean_demand3_a_repunit_has_the_residue_of_its_length_mod_six_mod_seven",
15520
+ "verdict": "UNVERIFIED",
15521
+ "ground": "no candidate in the current space — nothing to recompute",
15522
+ "receipt": "ec5bf7fe-1dd8-863d-8443-8682088d254b"
15523
+ },
15524
+ {
15525
+ "key": "lean_demand3_a_repunit_is_divisible_by_seven_exactly_when_six_divides_its_length_for_every_n",
15526
+ "verdict": "UNVERIFIED",
15527
+ "ground": "no candidate in the current space — nothing to recompute",
15528
+ "receipt": "2bb98278-186d-8284-9c6e-9c9e74177679"
15529
+ },
15530
+ {
15531
+ "key": "lean_elementary_the_interior_and_exterior_angles_are_n_straight_angles_for_every_n",
15532
+ "verdict": "UNVERIFIED",
15533
+ "ground": "no candidate in the current space — nothing to recompute",
15534
+ "receipt": "d1fbd7f1-d1df-8c7f-bb56-d565780d1db2"
15535
+ },
15536
+ {
15537
+ "key": "lean_elementary_a_product_of_consecutive_numbers_is_even",
15538
+ "verdict": "UNVERIFIED",
15539
+ "ground": "no candidate in the current space — nothing to recompute",
15540
+ "receipt": "cf763033-1ed3-82d8-866e-88ea2a38b2d1"
15541
+ },
15542
+ {
15543
+ "key": "lean_elementary_eight_times_a_triangular_number_plus_one_is_an_odd_square_for_every_n",
15544
+ "verdict": "UNVERIFIED",
15545
+ "ground": "no candidate in the current space — nothing to recompute",
15546
+ "receipt": "1aa59ef6-880c-8e39-b946-1b88e426040e"
15547
+ },
15548
+ {
15549
+ "key": "lean_energy_two_parts_in_three_is_two_thirds_at_every_scale_for_every_m",
15550
+ "verdict": "UNVERIFIED",
15551
+ "ground": "no candidate in the current space — nothing to recompute",
15552
+ "receipt": "9177c3d3-8280-8d65-9df5-c27b42454279"
15553
+ },
15554
+ {
15555
+ "key": "lean_families_the_powers_of_two_sum_to_one_less_than_the_next_for_every_n",
15556
+ "verdict": "UNVERIFIED",
15557
+ "ground": "no candidate in the current space — nothing to recompute",
15558
+ "receipt": "3cab57ca-4d36-8f80-a221-21c11d25adc9"
15559
+ },
15560
+ {
15561
+ "key": "lean_families_square_of_successor",
15562
+ "verdict": "UNVERIFIED",
15563
+ "ground": "no candidate in the current space — nothing to recompute",
15564
+ "receipt": "f9826dc5-b85d-8a85-800b-f6027e83a0cf"
15565
+ },
15566
+ {
15567
+ "key": "lean_families_the_first_n_odd_numbers_sum_to_n_squared_for_every_n",
15568
+ "verdict": "UNVERIFIED",
15569
+ "ground": "no candidate in the current space — nothing to recompute",
15570
+ "receipt": "7baff487-adea-8866-9d67-71fbbb0cdee6"
15571
+ },
15572
+ {
15573
+ "key": "lean_mechanical_consecutive_squares_differ_by_the_odd_numbers",
15574
+ "verdict": "UNVERIFIED",
15575
+ "ground": "no candidate in the current space — nothing to recompute",
15576
+ "receipt": "65131201-9df7-8805-8427-c1407fcd92cf"
15577
+ },
15578
+ {
15579
+ "key": "lean_mechanical_every_multiple_of_three_four_five_is_pythagorean",
15580
+ "verdict": "UNVERIFIED",
15581
+ "ground": "no candidate in the current space — nothing to recompute",
15582
+ "receipt": "a20992d7-56ea-8048-a939-96fc2fdc451d"
15583
+ },
15584
+ {
15585
+ "key": "lean_mechanical_the_product_of_three_consecutive_numbers_is_even",
15586
+ "verdict": "UNVERIFIED",
15587
+ "ground": "no candidate in the current space — nothing to recompute",
15588
+ "receipt": "0eb7327f-0789-8918-8365-8d4188436e01"
15589
+ },
15590
+ {
15591
+ "key": "lean_mechanical_the_product_of_three_consecutive_numbers_is_a_multiple_of_three",
15592
+ "verdict": "UNVERIFIED",
15593
+ "ground": "no candidate in the current space — nothing to recompute",
15594
+ "receipt": "f3e2ee80-28d1-89e3-92c7-082265ef98dc"
15595
+ },
15596
+ {
15597
+ "key": "lean_mechanical_the_product_of_any_three_consecutive_integers_is_divisible_by_six_for_every_n",
15598
+ "verdict": "UNVERIFIED",
15599
+ "ground": "no candidate in the current space — nothing to recompute",
15600
+ "receipt": "65518577-2bc3-82a2-97f8-f6cd4f7d1b62"
15601
+ },
15602
+ {
15603
+ "key": "lean_reversal_foldl_add_start",
15604
+ "verdict": "UNVERIFIED",
15605
+ "ground": "no candidate in the current space — nothing to recompute",
15606
+ "receipt": "70a7cff5-e668-8f44-a8d0-797abfa246c8"
15607
+ },
15608
+ {
15609
+ "key": "lean_reversal_the_digits_sum_to_the_number_mod_nine_when_the_fuel_covers_them",
15610
+ "verdict": "UNVERIFIED",
15611
+ "ground": "no candidate in the current space — nothing to recompute",
15612
+ "receipt": "58d4c502-7f73-8e6c-923e-76fdf25fc81c"
15613
+ },
15614
+ {
15615
+ "key": "lean_reversal_a_number_is_below_ten_to_its_own_successor",
15616
+ "verdict": "UNVERIFIED",
15617
+ "ground": "no candidate in the current space — nothing to recompute",
15618
+ "receipt": "dc7330c0-7a4c-8d99-9874-37c4c10fd1bb"
15619
+ },
15620
+ {
15621
+ "key": "lean_reversal_the_digit_sum_has_the_residue_of_the_number_mod_nine_for_every_n",
15622
+ "verdict": "UNVERIFIED",
15623
+ "ground": "no candidate in the current space — nothing to recompute",
15624
+ "receipt": "1a8922c4-c55c-88a0-b55a-23663d22fe49"
15625
+ },
15626
+ {
15627
+ "key": "lean_reversal_folding_by_ten_keeps_the_residue_of_the_digit_sum",
15628
+ "verdict": "UNVERIFIED",
15629
+ "ground": "no candidate in the current space — nothing to recompute",
15630
+ "receipt": "c7ce0223-8884-8e3a-84a1-dded449c3cb0"
15631
+ },
15632
+ {
15633
+ "key": "lean_reversal_reversal_keeps_the_residue_mod_nine_for_every_n",
15634
+ "verdict": "UNVERIFIED",
15635
+ "ground": "no candidate in the current space — nothing to recompute",
15636
+ "receipt": "3159b043-f18c-8c28-b831-114d6dc70ce2"
15637
+ },
15638
+ {
15639
+ "key": "lean_split_the_coin_step_and_the_coins_are_inverse_for_every_c",
15640
+ "verdict": "UNVERIFIED",
15641
+ "ground": "no candidate in the current space — nothing to recompute",
15642
+ "receipt": "1c1ebe41-4e80-80ad-b352-e90a09922838"
15481
15643
  }
15482
15644
  ]