Metamath Proof Explorer


Theorem fmtnodvds

Description: Any Fermat number divides a greater Fermat number minus 2. Corollary of fmtnorec2 , see ProofWiki "Product of Sequence of Fermat Numbers plus 2/Corollary", 31-Jul-2021. (Contributed by AV, 1-Aug-2021)

Ref Expression
Assertion fmtnodvds ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( FermatNo ‘ 𝑁 ) ∥ ( ( FermatNo ‘ ( 𝑁 + 𝑀 ) ) − 2 ) )

Proof

Step Hyp Ref Expression
1 simpl ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → 𝑁 ∈ ℕ0 )
2 nn0nnaddcl ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( 𝑁 + 𝑀 ) ∈ ℕ )
3 nnm1nn0 ( ( 𝑁 + 𝑀 ) ∈ ℕ → ( ( 𝑁 + 𝑀 ) − 1 ) ∈ ℕ0 )
4 2 3 syl ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( ( 𝑁 + 𝑀 ) − 1 ) ∈ ℕ0 )
5 1red ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → 1 ∈ ℝ )
6 nnre ( 𝑀 ∈ ℕ → 𝑀 ∈ ℝ )
7 6 adantl ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → 𝑀 ∈ ℝ )
8 nn0re ( 𝑁 ∈ ℕ0𝑁 ∈ ℝ )
9 8 adantr ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → 𝑁 ∈ ℝ )
10 nnge1 ( 𝑀 ∈ ℕ → 1 ≤ 𝑀 )
11 10 adantl ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → 1 ≤ 𝑀 )
12 5 7 9 11 leadd2dd ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( 𝑁 + 1 ) ≤ ( 𝑁 + 𝑀 ) )
13 readdcl ( ( 𝑁 ∈ ℝ ∧ 𝑀 ∈ ℝ ) → ( 𝑁 + 𝑀 ) ∈ ℝ )
14 8 6 13 syl2an ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( 𝑁 + 𝑀 ) ∈ ℝ )
15 leaddsub ( ( 𝑁 ∈ ℝ ∧ 1 ∈ ℝ ∧ ( 𝑁 + 𝑀 ) ∈ ℝ ) → ( ( 𝑁 + 1 ) ≤ ( 𝑁 + 𝑀 ) ↔ 𝑁 ≤ ( ( 𝑁 + 𝑀 ) − 1 ) ) )
16 9 5 14 15 syl3anc ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( ( 𝑁 + 1 ) ≤ ( 𝑁 + 𝑀 ) ↔ 𝑁 ≤ ( ( 𝑁 + 𝑀 ) − 1 ) ) )
17 12 16 mpbid ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → 𝑁 ≤ ( ( 𝑁 + 𝑀 ) − 1 ) )
18 elfz2nn0 ( 𝑁 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ↔ ( 𝑁 ∈ ℕ0 ∧ ( ( 𝑁 + 𝑀 ) − 1 ) ∈ ℕ0𝑁 ≤ ( ( 𝑁 + 𝑀 ) − 1 ) ) )
19 1 4 17 18 syl3anbrc ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → 𝑁 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) )
20 fzfid ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ∈ Fin )
21 fz0ssnn0 ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ⊆ ℕ0
22 21 a1i ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ⊆ ℕ0 )
23 2nn0 2 ∈ ℕ0
24 23 a1i ( 𝑛 ∈ ℕ0 → 2 ∈ ℕ0 )
25 id ( 𝑛 ∈ ℕ0𝑛 ∈ ℕ0 )
26 24 25 nn0expcld ( 𝑛 ∈ ℕ0 → ( 2 ↑ 𝑛 ) ∈ ℕ0 )
27 24 26 nn0expcld ( 𝑛 ∈ ℕ0 → ( 2 ↑ ( 2 ↑ 𝑛 ) ) ∈ ℕ0 )
28 27 nn0zd ( 𝑛 ∈ ℕ0 → ( 2 ↑ ( 2 ↑ 𝑛 ) ) ∈ ℤ )
29 28 peano2zd ( 𝑛 ∈ ℕ0 → ( ( 2 ↑ ( 2 ↑ 𝑛 ) ) + 1 ) ∈ ℤ )
30 29 adantl ( ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) ∧ 𝑛 ∈ ℕ0 ) → ( ( 2 ↑ ( 2 ↑ 𝑛 ) ) + 1 ) ∈ ℤ )
31 df-fmtno FermatNo = ( 𝑛 ∈ ℕ0 ↦ ( ( 2 ↑ ( 2 ↑ 𝑛 ) ) + 1 ) )
32 30 31 fmptd ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → FermatNo : ℕ0 ⟶ ℤ )
33 20 22 32 fprodfvdvdsd ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ∀ 𝑛 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ( FermatNo ‘ 𝑛 ) ∥ ∏ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ( FermatNo ‘ 𝑘 ) )
34 fveq2 ( 𝑛 = 𝑁 → ( FermatNo ‘ 𝑛 ) = ( FermatNo ‘ 𝑁 ) )
35 34 breq1d ( 𝑛 = 𝑁 → ( ( FermatNo ‘ 𝑛 ) ∥ ∏ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ( FermatNo ‘ 𝑘 ) ↔ ( FermatNo ‘ 𝑁 ) ∥ ∏ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ( FermatNo ‘ 𝑘 ) ) )
36 35 rspcv ( 𝑁 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) → ( ∀ 𝑛 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ( FermatNo ‘ 𝑛 ) ∥ ∏ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ( FermatNo ‘ 𝑘 ) → ( FermatNo ‘ 𝑁 ) ∥ ∏ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ( FermatNo ‘ 𝑘 ) ) )
37 19 33 36 sylc ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( FermatNo ‘ 𝑁 ) ∥ ∏ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ( FermatNo ‘ 𝑘 ) )
38 elfznn0 ( 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) → 𝑘 ∈ ℕ0 )
39 38 adantl ( ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) ∧ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ) → 𝑘 ∈ ℕ0 )
40 fmtnonn ( 𝑘 ∈ ℕ0 → ( FermatNo ‘ 𝑘 ) ∈ ℕ )
41 39 40 syl ( ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) ∧ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ) → ( FermatNo ‘ 𝑘 ) ∈ ℕ )
42 41 nncnd ( ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) ∧ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ) → ( FermatNo ‘ 𝑘 ) ∈ ℂ )
43 20 42 fprodcl ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ∏ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ( FermatNo ‘ 𝑘 ) ∈ ℂ )
44 2cnd ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → 2 ∈ ℂ )
45 nn0cn ( 𝑁 ∈ ℕ0𝑁 ∈ ℂ )
46 nncn ( 𝑀 ∈ ℕ → 𝑀 ∈ ℂ )
47 addcl ( ( 𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ) → ( 𝑁 + 𝑀 ) ∈ ℂ )
48 45 46 47 syl2an ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( 𝑁 + 𝑀 ) ∈ ℂ )
49 npcan1 ( ( 𝑁 + 𝑀 ) ∈ ℂ → ( ( ( 𝑁 + 𝑀 ) − 1 ) + 1 ) = ( 𝑁 + 𝑀 ) )
50 48 49 syl ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( ( ( 𝑁 + 𝑀 ) − 1 ) + 1 ) = ( 𝑁 + 𝑀 ) )
51 50 eqcomd ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( 𝑁 + 𝑀 ) = ( ( ( 𝑁 + 𝑀 ) − 1 ) + 1 ) )
52 51 fveq2d ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( FermatNo ‘ ( 𝑁 + 𝑀 ) ) = ( FermatNo ‘ ( ( ( 𝑁 + 𝑀 ) − 1 ) + 1 ) ) )
53 fmtnorec2 ( ( ( 𝑁 + 𝑀 ) − 1 ) ∈ ℕ0 → ( FermatNo ‘ ( ( ( 𝑁 + 𝑀 ) − 1 ) + 1 ) ) = ( ∏ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ( FermatNo ‘ 𝑘 ) + 2 ) )
54 4 53 syl ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( FermatNo ‘ ( ( ( 𝑁 + 𝑀 ) − 1 ) + 1 ) ) = ( ∏ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ( FermatNo ‘ 𝑘 ) + 2 ) )
55 52 54 eqtrd ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( FermatNo ‘ ( 𝑁 + 𝑀 ) ) = ( ∏ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ( FermatNo ‘ 𝑘 ) + 2 ) )
56 43 44 55 mvrraddd ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( ( FermatNo ‘ ( 𝑁 + 𝑀 ) ) − 2 ) = ∏ 𝑘 ∈ ( 0 ... ( ( 𝑁 + 𝑀 ) − 1 ) ) ( FermatNo ‘ 𝑘 ) )
57 37 56 breqtrrd ( ( 𝑁 ∈ ℕ0𝑀 ∈ ℕ ) → ( FermatNo ‘ 𝑁 ) ∥ ( ( FermatNo ‘ ( 𝑁 + 𝑀 ) ) − 2 ) )