@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.
- package/ACCOUNTING.md +6 -6
- package/AXIOMS.md +10 -10
- package/CHALLENGES.md +75 -3
- package/PRIOR-ART.md +19 -19
- package/README.md +27 -27
- package/dashboard.md +1 -1
- package/forensic.md +4 -4
- package/index.md +27 -27
- package/package.json +1 -1
- package/paper.md +892 -596
- package/speedup.md +4 -4
- package/src/proof/demand2.lean +36 -0
- package/src/proof/discovered.json +180 -0
- package/src/proof/elementary.lean +20 -0
- package/src/proof/families.lean +166 -0
- package/src/proof/light.lean +8 -0
- package/src/proof/mechanical.lean +69 -0
- package/src/proof/reach.lean +13 -0
- package/src/proof/sequences.lean +31 -0
- package/src/proof/trial-all.json +216 -0
- package/src/proof/z9plus.lean +92 -0
package/src/proof/trial-all.json
CHANGED
|
@@ -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
|
]
|
package/src/proof/z9plus.lean
CHANGED
|
@@ -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
|