Metamath Proof Explorer


Theorem prmdvdsprmo

Description: The primorial of a number is divisible by each prime less than or equal to the number. (Contributed by AV, 15-Aug-2020) (Revised by AV, 28-Aug-2020)

Ref Expression
Assertion prmdvdsprmo ⊢ N ∈ ℕ → ∀ p ∈ ℙ p ≤ N → p ∥ # p ⁡ N

Proof

Step Hyp Ref Expression
1 fzfi ⊢ 1 … N ∈ Fin
2 diffi ⊢ 1 … N ∈ Fin → 1 … N ∖ p ∈ Fin
3 1 2 mp1i ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → 1 … N ∖ p ∈ Fin
4 eldifi ⊢ k ∈ 1 … N ∖ p → k ∈ 1 … N
5 elfzelz ⊢ k ∈ 1 … N → k ∈ ℤ
6 4 5 syl ⊢ k ∈ 1 … N ∖ p → k ∈ ℤ
7 1zzd ⊢ k ∈ 1 … N ∖ p → 1 ∈ ℤ
8 6 7 ifcld ⊢ k ∈ 1 … N ∖ p → if k ∈ ℙ k 1 ∈ ℤ
9 8 adantl ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N ∧ k ∈ 1 … N ∖ p → if k ∈ ℙ k 1 ∈ ℤ
10 3 9 fprodzcl ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → ∏ k ∈ 1 … N ∖ p if k ∈ ℙ k 1 ∈ ℤ
11 prmz ⊢ p ∈ ℙ → p ∈ ℤ
12 11 adantl ⊢ N ∈ ℕ ∧ p ∈ ℙ → p ∈ ℤ
13 12 adantr ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → p ∈ ℤ
14 dvdsmul2 ⊢ ∏ k ∈ 1 … N ∖ p if k ∈ ℙ k 1 ∈ ℤ ∧ p ∈ ℤ → p ∥ ∏ k ∈ 1 … N ∖ p if k ∈ ℙ k 1 ⁢ p
15 10 13 14 syl2anc ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → p ∥ ∏ k ∈ 1 … N ∖ p if k ∈ ℙ k 1 ⁢ p
16 nnnn0 ⊢ N ∈ ℕ → N ∈ ℕ 0
17 prmoval ⊢ N ∈ ℕ 0 → # p ⁡ N = ∏ k = 1 N if k ∈ ℙ k 1
18 16 17 syl ⊢ N ∈ ℕ → # p ⁡ N = ∏ k = 1 N if k ∈ ℙ k 1
19 18 ad2antrr ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → # p ⁡ N = ∏ k = 1 N if k ∈ ℙ k 1
20 19 breq2d ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → p ∥ # p ⁡ N ↔ p ∥ ∏ k = 1 N if k ∈ ℙ k 1
21 neldifsnd ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → ¬ p ∈ 1 … N ∖ p
22 disjsn ⊢ 1 … N ∖ p ∩ p = ∅ ↔ ¬ p ∈ 1 … N ∖ p
23 21 22 sylibr ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → 1 … N ∖ p ∩ p = ∅
24 prmnn ⊢ p ∈ ℙ → p ∈ ℕ
25 24 adantl ⊢ N ∈ ℕ ∧ p ∈ ℙ → p ∈ ℕ
26 25 anim1i ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → p ∈ ℕ ∧ p ≤ N
27 nnz ⊢ N ∈ ℕ → N ∈ ℤ
28 fznn ⊢ N ∈ ℤ → p ∈ 1 … N ↔ p ∈ ℕ ∧ p ≤ N
29 27 28 syl ⊢ N ∈ ℕ → p ∈ 1 … N ↔ p ∈ ℕ ∧ p ≤ N
30 29 ad2antrr ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → p ∈ 1 … N ↔ p ∈ ℕ ∧ p ≤ N
31 26 30 mpbird ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → p ∈ 1 … N
32 difsnid ⊢ p ∈ 1 … N → 1 … N ∖ p ∪ p = 1 … N
33 32 eqcomd ⊢ p ∈ 1 … N → 1 … N = 1 … N ∖ p ∪ p
34 31 33 syl ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → 1 … N = 1 … N ∖ p ∪ p
35 fzfid ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → 1 … N ∈ Fin
36 1zzd ⊢ k ∈ 1 … N → 1 ∈ ℤ
37 5 36 ifcld ⊢ k ∈ 1 … N → if k ∈ ℙ k 1 ∈ ℤ
38 37 zcnd ⊢ k ∈ 1 … N → if k ∈ ℙ k 1 ∈ ℂ
39 38 adantl ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N ∧ k ∈ 1 … N → if k ∈ ℙ k 1 ∈ ℂ
40 23 34 35 39 fprodsplit ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → ∏ k = 1 N if k ∈ ℙ k 1 = ∏ k ∈ 1 … N ∖ p if k ∈ ℙ k 1 ⁢ ∏ k ∈ p if k ∈ ℙ k 1
41 simplr ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → p ∈ ℙ
42 25 adantr ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → p ∈ ℕ
43 42 nncnd ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → p ∈ ℂ
44 1cnd ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → 1 ∈ ℂ
45 43 44 ifcld ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → if p ∈ ℙ p 1 ∈ ℂ
46 eleq1w ⊢ k = p → k ∈ ℙ ↔ p ∈ ℙ
47 id ⊢ k = p → k = p
48 46 47 ifbieq1d ⊢ k = p → if k ∈ ℙ k 1 = if p ∈ ℙ p 1
49 48 prodsn ⊢ p ∈ ℙ ∧ if p ∈ ℙ p 1 ∈ ℂ → ∏ k ∈ p if k ∈ ℙ k 1 = if p ∈ ℙ p 1
50 41 45 49 syl2anc ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → ∏ k ∈ p if k ∈ ℙ k 1 = if p ∈ ℙ p 1
51 simpr ⊢ N ∈ ℕ ∧ p ∈ ℙ → p ∈ ℙ
52 51 iftrued ⊢ N ∈ ℕ ∧ p ∈ ℙ → if p ∈ ℙ p 1 = p
53 52 adantr ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → if p ∈ ℙ p 1 = p
54 50 53 eqtrd ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → ∏ k ∈ p if k ∈ ℙ k 1 = p
55 54 oveq2d ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → ∏ k ∈ 1 … N ∖ p if k ∈ ℙ k 1 ⁢ ∏ k ∈ p if k ∈ ℙ k 1 = ∏ k ∈ 1 … N ∖ p if k ∈ ℙ k 1 ⁢ p
56 40 55 eqtrd ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → ∏ k = 1 N if k ∈ ℙ k 1 = ∏ k ∈ 1 … N ∖ p if k ∈ ℙ k 1 ⁢ p
57 56 breq2d ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → p ∥ ∏ k = 1 N if k ∈ ℙ k 1 ↔ p ∥ ∏ k ∈ 1 … N ∖ p if k ∈ ℙ k 1 ⁢ p
58 20 57 bitrd ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → p ∥ # p ⁡ N ↔ p ∥ ∏ k ∈ 1 … N ∖ p if k ∈ ℙ k 1 ⁢ p
59 15 58 mpbird ⊢ N ∈ ℕ ∧ p ∈ ℙ ∧ p ≤ N → p ∥ # p ⁡ N
60 59 ex ⊢ N ∈ ℕ ∧ p ∈ ℙ → p ≤ N → p ∥ # p ⁡ N
61 60 ralrimiva ⊢ N ∈ ℕ → ∀ p ∈ ℙ p ≤ N → p ∥ # p ⁡ N