@ceccec/millennium-solutions 9.2.6 → 9.2.8

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.
@@ -15640,5 +15640,221 @@
15640
15640
  "verdict": "UNVERIFIED",
15641
15641
  "ground": "no candidate in the current space — nothing to recompute",
15642
15642
  "receipt": "1c1ebe41-4e80-80ad-b352-e90a09922838"
15643
+ },
15644
+ {
15645
+ "key": "lean_light_the_second_returns_from_the_metre_and_the_period_for_every_s",
15646
+ "verdict": "UNVERIFIED",
15647
+ "ground": "no candidate in the current space — nothing to recompute",
15648
+ "receipt": "1de974bb-854a-879c-a8f0-712b59f8d7bc"
15649
+ },
15650
+ {
15651
+ "key": "lean_mechanical_repeated_doubling_is_the_power_of_two_for_every_k",
15652
+ "verdict": "UNVERIFIED",
15653
+ "ground": "no candidate in the current space — nothing to recompute",
15654
+ "receipt": "71d6eeaa-fd06-8af1-893f-dfa60297892d"
15655
+ },
15656
+ {
15657
+ "key": "lean_mechanical_relation_digitroot_is_residue_mod9_for_every_n",
15658
+ "verdict": "UNVERIFIED",
15659
+ "ground": "no candidate in the current space — nothing to recompute",
15660
+ "receipt": "22aed33c-e7ff-80ef-aded-b466c40bf0e4"
15661
+ },
15662
+ {
15663
+ "key": "lean_mechanical_the_nine_times_table_always_digital_roots_to_nine_for_every_k",
15664
+ "verdict": "UNVERIFIED",
15665
+ "ground": "no candidate in the current space — nothing to recompute",
15666
+ "receipt": "36b3b4ea-25f1-8083-b075-d707f2fb91ea"
15667
+ },
15668
+ {
15669
+ "key": "lean_mechanical_the_digital_root_has_the_residue_of_its_number",
15670
+ "verdict": "UNVERIFIED",
15671
+ "ground": "no candidate in the current space — nothing to recompute",
15672
+ "receipt": "efc4383f-1f52-8cfc-9d4a-d291f4aa5bd4"
15673
+ },
15674
+ {
15675
+ "key": "lean_mechanical_a_digital_root_lies_between_one_and_nine",
15676
+ "verdict": "UNVERIFIED",
15677
+ "ground": "no candidate in the current space — nothing to recompute",
15678
+ "receipt": "298da32e-60d7-8bf9-9135-c6e904ae937f"
15679
+ },
15680
+ {
15681
+ "key": "lean_mechanical_casting_out_nines_is_multiplicative_for_every_a_b",
15682
+ "verdict": "UNVERIFIED",
15683
+ "ground": "no candidate in the current space — nothing to recompute",
15684
+ "receipt": "58842a8d-45b2-8316-b9a6-440b595e6782"
15685
+ },
15686
+ {
15687
+ "key": "lean_mechanical_the_moduli_dimensions_are_three_g_minus_three_and_six_g_minus_six_for_every_g",
15688
+ "verdict": "UNVERIFIED",
15689
+ "ground": "no candidate in the current space — nothing to recompute",
15690
+ "receipt": "633ba212-336a-8600-90d6-836751f6b813"
15691
+ },
15692
+ {
15693
+ "key": "lean_reach_exhaustion_never_reaches_its_own_bound_for_every_n",
15694
+ "verdict": "UNVERIFIED",
15695
+ "ground": "no candidate in the current space — nothing to recompute",
15696
+ "receipt": "dfc2849f-3870-823b-ade5-f036c5f40166"
15697
+ },
15698
+ {
15699
+ "key": "lean_reach_the_successor_of_every_bound_lies_outside_for_every_n",
15700
+ "verdict": "UNVERIFIED",
15701
+ "ground": "no candidate in the current space — nothing to recompute",
15702
+ "receipt": "1113761c-4967-898e-a9d9-d836a27b42ae"
15703
+ },
15704
+ {
15705
+ "key": "lean_reach_doubling_the_domain_leaves_the_same_hole_for_every_n",
15706
+ "verdict": "UNVERIFIED",
15707
+ "ground": "no candidate in the current space — nothing to recompute",
15708
+ "receipt": "f57338c8-104b-8058-90f6-b86622f64f86"
15709
+ },
15710
+ {
15711
+ "key": "lean_z9plus_doubling_has_period_six_for_every_k",
15712
+ "verdict": "UNVERIFIED",
15713
+ "ground": "no candidate in the current space — nothing to recompute",
15714
+ "receipt": "2c9ca8bc-08a6-87e8-ba10-0390547c7318"
15715
+ },
15716
+ {
15717
+ "key": "lean_z9plus_orbit_digital_roots_have_period_six_for_every_k",
15718
+ "verdict": "UNVERIFIED",
15719
+ "ground": "no candidate in the current space — nothing to recompute",
15720
+ "receipt": "e88dfdf8-3c33-87c9-b480-65d2db2769ac"
15721
+ },
15722
+ {
15723
+ "key": "lean_z9plus_the_doubling_orbit_is_read_from_the_exponent_mod_six",
15724
+ "verdict": "UNVERIFIED",
15725
+ "ground": "no candidate in the current space — nothing to recompute",
15726
+ "receipt": "c688c966-b59f-8e39-91d8-fa1f9fc564a0"
15727
+ },
15728
+ {
15729
+ "key": "lean_z9plus_the_orbit_never_meets_the_triad_for_every_k",
15730
+ "verdict": "UNVERIFIED",
15731
+ "ground": "no candidate in the current space — nothing to recompute",
15732
+ "receipt": "8c3dfc38-91e6-8a00-9d2f-ac18974cd169"
15733
+ },
15734
+ {
15735
+ "key": "lean_z9plus_fibonacci_residues_mod_nine_repeat_every_twenty_four_steps",
15736
+ "verdict": "UNVERIFIED",
15737
+ "ground": "no candidate in the current space — nothing to recompute",
15738
+ "receipt": "04f6a9cd-b19f-8b13-b5d9-7d88fec0139e"
15739
+ },
15740
+ {
15741
+ "key": "lean_z9plus_pisano_period_mod_nine_is_twenty_four_for_every_k",
15742
+ "verdict": "UNVERIFIED",
15743
+ "ground": "no candidate in the current space — nothing to recompute",
15744
+ "receipt": "985c1ebe-dc19-877e-8573-82765db72126"
15745
+ },
15746
+ {
15747
+ "key": "lean_z9plus_the_fuelled_gcd_is_the_gcd_when_the_fuel_exceeds_the_second_argument",
15748
+ "verdict": "UNVERIFIED",
15749
+ "ground": "no candidate in the current space — nothing to recompute",
15750
+ "receipt": "73c32b16-76ca-8bbc-91f3-3d550cd02477"
15751
+ },
15752
+ {
15753
+ "key": "lean_z9plus_consecutive_fibonacci_numbers_are_coprime",
15754
+ "verdict": "UNVERIFIED",
15755
+ "ground": "no candidate in the current space — nothing to recompute",
15756
+ "receipt": "5ae6ebcf-4c89-80d4-bc8c-1e5fed479a69"
15757
+ },
15758
+ {
15759
+ "key": "lean_z9plus_consecutive_fibonacci_are_coprime_for_every_n",
15760
+ "verdict": "UNVERIFIED",
15761
+ "ground": "no candidate in the current space — nothing to recompute",
15762
+ "receipt": "424d4751-1648-8d01-b6aa-e31be117166a"
15763
+ },
15764
+ {
15765
+ "key": "lean_z9plus_digital_root_agrees_with_the_residue_for_every_n",
15766
+ "verdict": "UNVERIFIED",
15767
+ "ground": "no candidate in the current space — nothing to recompute",
15768
+ "receipt": "20da0230-2b9f-8735-848e-8009809d9f04"
15769
+ },
15770
+ {
15771
+ "key": "lean_z9plus_digital_root_is_the_digit_sum_residue_for_every_n",
15772
+ "verdict": "UNVERIFIED",
15773
+ "ground": "no candidate in the current space — nothing to recompute",
15774
+ "receipt": "694fefdf-a71b-8019-84e5-04477e7be3d8"
15775
+ },
15776
+ {
15777
+ "key": "lean_demand2_the_two_power_sums_are_one_sum",
15778
+ "verdict": "UNVERIFIED",
15779
+ "ground": "no candidate in the current space — nothing to recompute",
15780
+ "receipt": "6551630b-4917-8c1c-999f-4728c266cfd1"
15781
+ },
15782
+ {
15783
+ "key": "lean_demand2_nicomachus_sum_of_cubes_is_the_square_of_the_triangular_number_for_every_n",
15784
+ "verdict": "UNVERIFIED",
15785
+ "ground": "no candidate in the current space — nothing to recompute",
15786
+ "receipt": "7aa0bbe0-b4ae-82e8-8319-7aed7047d654"
15787
+ },
15788
+ {
15789
+ "key": "lean_demand2_the_sum_of_fifth_powers_has_the_closed_form_for_every_n",
15790
+ "verdict": "UNVERIFIED",
15791
+ "ground": "no candidate in the current space — nothing to recompute",
15792
+ "receipt": "6916652f-bda2-80d1-882e-009dee2d791d"
15793
+ },
15794
+ {
15795
+ "key": "lean_elementary_the_lucas_numbers_are_the_sum_of_the_neighbouring_fibonaccis_for_every_n",
15796
+ "verdict": "UNVERIFIED",
15797
+ "ground": "no candidate in the current space — nothing to recompute",
15798
+ "receipt": "cacb33f1-2fc1-8887-87a8-67aa352b3ac6"
15799
+ },
15800
+ {
15801
+ "key": "lean_families_cassinis_identity_for_every_m",
15802
+ "verdict": "UNVERIFIED",
15803
+ "ground": "no candidate in the current space — nothing to recompute",
15804
+ "receipt": "75a810f1-ae27-8fb7-b4d3-b257c0c917c7"
15805
+ },
15806
+ {
15807
+ "key": "lean_families_a_sum_over_one_to_n_plus_one_adds_the_last_term",
15808
+ "verdict": "UNVERIFIED",
15809
+ "ground": "no candidate in the current space — nothing to recompute",
15810
+ "receipt": "f664ca1d-8371-8bd5-a369-060e34e5baaf"
15811
+ },
15812
+ {
15813
+ "key": "lean_families_the_numbers_sum_to_their_closed_form_for_every_n",
15814
+ "verdict": "UNVERIFIED",
15815
+ "ground": "no candidate in the current space — nothing to recompute",
15816
+ "receipt": "34fa9fc8-b8ed-8895-bb81-c92f4515e9fe"
15817
+ },
15818
+ {
15819
+ "key": "lean_families_the_squares_sum_to_their_closed_form_for_every_n",
15820
+ "verdict": "UNVERIFIED",
15821
+ "ground": "no candidate in the current space — nothing to recompute",
15822
+ "receipt": "0b7a0569-fb3f-8ba7-a49a-900c19bf369d"
15823
+ },
15824
+ {
15825
+ "key": "lean_families_the_cubes_sum_to_their_closed_form_for_every_n",
15826
+ "verdict": "UNVERIFIED",
15827
+ "ground": "no candidate in the current space — nothing to recompute",
15828
+ "receipt": "96b0047e-cf09-8755-be28-1cb49080d466"
15829
+ },
15830
+ {
15831
+ "key": "lean_families_the_fourth_powers_sum_to_their_closed_form_for_every_n",
15832
+ "verdict": "UNVERIFIED",
15833
+ "ground": "no candidate in the current space — nothing to recompute",
15834
+ "receipt": "3419aabd-970f-8738-ae26-0adbfd4cf7fb"
15835
+ },
15836
+ {
15837
+ "key": "lean_families_the_fifth_powers_sum_to_their_closed_form_for_every_n",
15838
+ "verdict": "UNVERIFIED",
15839
+ "ground": "no candidate in the current space — nothing to recompute",
15840
+ "receipt": "790310ea-f06d-875d-89aa-2aba93d133e3"
15841
+ },
15842
+ {
15843
+ "key": "lean_families_power_sums_match_their_closed_forms_for_every_n",
15844
+ "verdict": "UNVERIFIED",
15845
+ "ground": "no candidate in the current space — nothing to recompute",
15846
+ "receipt": "04b04822-598b-8529-a44c-7881174ec382"
15847
+ },
15848
+ {
15849
+ "key": "lean_families_the_sums_of_triangular_numbers_are_the_tetrahedral_numbers_for_every_n",
15850
+ "verdict": "UNVERIFIED",
15851
+ "ground": "no candidate in the current space — nothing to recompute",
15852
+ "receipt": "43b9cdd8-7110-8f6f-887b-297d0262ae80"
15853
+ },
15854
+ {
15855
+ "key": "lean_sequences_cassinis_identity_for_every_m",
15856
+ "verdict": "UNVERIFIED",
15857
+ "ground": "no candidate in the current space — nothing to recompute",
15858
+ "receipt": "3b815427-42b8-8b8c-abf3-423b1e268af3"
15643
15859
  }
15644
15860
  ]
@@ -205,4 +205,96 @@ theorem both_parts_sum_to_zero :
205
205
  m9 ((R.filter (fun d => R.any (fun e => m9 (d * e) == 1))).foldl (· + ·) 0) == 0
206
206
  ∧ m9 ((R.filter (fun d => ! R.any (fun e => m9 (d * e) == 1))).foldl (· + ·) 0) == 0 := by decide
207
207
 
208
+
209
+ -- ── the capped rows above, proved for every value — no bound ─────────────────────────────────────────────────
210
+ -- doubling_has_period_six (k < 30), orbit_digital_roots_have_period_six (k < 24), the_orbit_never_meets_the_triad
211
+ -- (k < 40), pisano_period_mod_nine_is_twenty_four (k < 30), consecutive_fibonacci_are_coprime (n ≤ 25) and
212
+ -- digital_root_agrees_with_the_residue (n ≤ 300) were checked up to a bound; these prove them for every value.
213
+ -- 2⁶ ≡ 1 mod 9 turns the orbit; the pair (fib k, fib (k+1)) mod 9 returns after 24 steps; gcd9 is Euclid with fuel
214
+ -- a + b + 1, which always exceeds what Euclid needs, so it is the gcd.
215
+ theorem doubling_has_period_six_for_every_k : ∀ k : Nat, pw 2 (k + 6) = pw 2 k := by
216
+ intro k
217
+ unfold pw m9
218
+ rw [Nat.pow_add, Nat.mul_mod]
219
+ have h : 2 ^ 6 % 9 = 1 := by decide
220
+ rw [h, Nat.mul_one, Nat.mod_mod]
221
+
222
+ theorem orbit_digital_roots_have_period_six_for_every_k : ∀ k : Nat, dr (pw 2 (k + 6)) = dr (pw 2 k) := by
223
+ intro k
224
+ rw [doubling_has_period_six_for_every_k]
225
+
226
+ theorem the_doubling_orbit_is_read_from_the_exponent_mod_six : ∀ k : Nat, pw 2 k = pw 2 (k % 6) := by
227
+ intro k
228
+ induction k using Nat.strongRecOn with
229
+ | _ k ih =>
230
+ if hk : k < 6 then rw [Nat.mod_eq_of_lt hk]
231
+ else
232
+ have e : k = (k - 6) + 6 := by omega
233
+ rw [e, doubling_has_period_six_for_every_k, ih (k - 6) (by omega), Nat.add_mod_right]
234
+
235
+ theorem the_orbit_never_meets_the_triad_for_every_k : ∀ k : Nat, pw 2 k ≠ 0 ∧ pw 2 k ≠ 3 ∧ pw 2 k ≠ 6 := by
236
+ intro k
237
+ rw [the_doubling_orbit_is_read_from_the_exponent_mod_six]
238
+ have h : k % 6 < 6 := Nat.mod_lt _ (by decide)
239
+ generalize k % 6 = j at h ⊢
240
+ revert j
241
+ decide
242
+
243
+ theorem fibonacci_residues_mod_nine_repeat_every_twenty_four_steps :
244
+ ∀ k : Nat, fib (k + 24) % 9 = fib k % 9 ∧ fib (k + 25) % 9 = fib (k + 1) % 9 := by
245
+ intro k
246
+ induction k with
247
+ | zero => decide
248
+ | succ k ih =>
249
+ refine ⟨ih.2, ?_⟩
250
+ show (fib (k + 24) + fib (k + 25)) % 9 = (fib k + fib (k + 1)) % 9
251
+ rw [Nat.add_mod, ih.1, ih.2, ← Nat.add_mod]
252
+
253
+ theorem pisano_period_mod_nine_is_twenty_four_for_every_k : ∀ k : Nat, fib9 (k + 24) = fib9 k := by
254
+ intro k
255
+ exact (fibonacci_residues_mod_nine_repeat_every_twenty_four_steps k).1
256
+
257
+ theorem the_fuelled_gcd_is_the_gcd_when_the_fuel_exceeds_the_second_argument :
258
+ ∀ f a b : Nat, b < f → gcdF f a b = Nat.gcd a b := by
259
+ intro f
260
+ induction f with
261
+ | zero => intro a b h; exact absurd h (Nat.not_lt_zero b)
262
+ | succ f ih =>
263
+ intro a b h
264
+ cases b with
265
+ | zero => show a = Nat.gcd a 0; rw [Nat.gcd_zero_right]
266
+ | succ b =>
267
+ show gcdF f (b + 1) (a % (b + 1)) = Nat.gcd a (b + 1)
268
+ have hm : a % (b + 1) < b + 1 := Nat.mod_lt a (Nat.succ_pos b)
269
+ rw [ih (b + 1) (a % (b + 1)) (by omega), Nat.gcd_comm a (b + 1), Nat.gcd_rec (b + 1) a, Nat.gcd_comm]
270
+
271
+ theorem consecutive_fibonacci_numbers_are_coprime : ∀ n : Nat, Nat.gcd (fib n) (fib (n + 1)) = 1 := by
272
+ intro n
273
+ induction n with
274
+ | zero => show Nat.gcd 0 1 = 1; exact Nat.gcd_zero_left 1
275
+ | succ n ih =>
276
+ show Nat.gcd (fib (n + 1)) (fib n + fib (n + 1)) = 1
277
+ rw [Nat.gcd_rec, Nat.add_mod_right, ← Nat.gcd_rec, Nat.gcd_comm, ih]
278
+
279
+ theorem consecutive_fibonacci_are_coprime_for_every_n : ∀ n : Nat, gcd9 (fib n) (fib (n + 1)) = 1 := by
280
+ intro n
281
+ unfold gcd9
282
+ rw [the_fuelled_gcd_is_the_gcd_when_the_fuel_exceeds_the_second_argument _ _ _ (by omega)]
283
+ exact consecutive_fibonacci_numbers_are_coprime n
284
+
285
+ theorem digital_root_agrees_with_the_residue_for_every_n : ∀ n : Nat, 0 < n → (dr n = 9 ↔ m9 n = 0) := by
286
+ intro n hn
287
+ unfold dr m9
288
+ rw [if_neg (show ¬ ((n == 0) = true) by simp; omega)]
289
+ by_cases h : n % 9 = 0
290
+ · simp [h]
291
+ · rw [if_neg (show ¬ ((n % 9 == 0) = true) by simpa using h)]
292
+ constructor
293
+ · intro e; have := Nat.mod_lt n (show 0 < 9 by decide); omega
294
+ · intro e; exact absurd e h
295
+
296
+ theorem digital_root_is_the_digit_sum_residue_for_every_n : ∀ n : Nat, m9 (digitSum n) = m9 n := by
297
+ intro n
298
+ exact Reversal.the_digit_sum_has_the_residue_of_the_number_mod_nine_for_every_n n
299
+
208
300
  end Z9Plus