Metamath Proof Explorer


Theorem prmdvdsbc

Description: Condition for a prime number to divide a binomial coefficient. (Contributed by Thierry Arnoux, 17-Sep-2023)

Ref Expression
Assertion prmdvdsbc ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P ∥ ( P N)

Proof

Step Hyp Ref Expression
1 eqid ⊢ P ! P − N ! ⁢ N ! = P ! P − N ! ⁢ N !
2 simpl ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P ∈ ℙ
3 prmnn ⊢ P ∈ ℙ → P ∈ ℕ
4 3 nnzd ⊢ P ∈ ℙ → P ∈ ℤ
5 1nn0 ⊢ 1 ∈ ℕ 0
6 eluzmn ⊢ P ∈ ℤ ∧ 1 ∈ ℕ 0 → P ∈ ℤ ≥ P − 1
7 4 5 6 sylancl ⊢ P ∈ ℙ → P ∈ ℤ ≥ P − 1
8 fzss2 ⊢ P ∈ ℤ ≥ P − 1 → 1 … P − 1 ⊆ 1 … P
9 7 8 syl ⊢ P ∈ ℙ → 1 … P − 1 ⊆ 1 … P
10 fz1ssfz0 ⊢ 1 … P ⊆ 0 … P
11 9 10 sstrdi ⊢ P ∈ ℙ → 1 … P − 1 ⊆ 0 … P
12 11 sselda ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → N ∈ 0 … P
13 bcval2 ⊢ N ∈ 0 … P → ( P N) = P ! P − N ! ⁢ N !
14 12 13 syl ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → ( P N) = P ! P − N ! ⁢ N !
15 3 nnnn0d ⊢ P ∈ ℙ → P ∈ ℕ 0
16 15 adantr ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P ∈ ℕ 0
17 elfzelz ⊢ N ∈ 1 … P − 1 → N ∈ ℤ
18 17 adantl ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → N ∈ ℤ
19 bccl ⊢ P ∈ ℕ 0 ∧ N ∈ ℤ → ( P N) ∈ ℕ 0
20 16 18 19 syl2anc ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → ( P N) ∈ ℕ 0
21 20 nn0zd ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → ( P N) ∈ ℤ
22 14 21 eqeltrrd ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P ! P − N ! ⁢ N ! ∈ ℤ
23 elfznn ⊢ N ∈ 1 … P − 1 → N ∈ ℕ
24 23 adantl ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → N ∈ ℕ
25 24 nnnn0d ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → N ∈ ℕ 0
26 1zzd ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → 1 ∈ ℤ
27 4 adantr ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P ∈ ℤ
28 simpr ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → N ∈ 1 … P − 1
29 elfzm11 ⊢ 1 ∈ ℤ ∧ P ∈ ℤ → N ∈ 1 … P − 1 ↔ N ∈ ℤ ∧ 1 ≤ N ∧ N < P
30 29 biimpa ⊢ 1 ∈ ℤ ∧ P ∈ ℤ ∧ N ∈ 1 … P − 1 → N ∈ ℤ ∧ 1 ≤ N ∧ N < P
31 30 simp3d ⊢ 1 ∈ ℤ ∧ P ∈ ℤ ∧ N ∈ 1 … P − 1 → N < P
32 26 27 28 31 syl21anc ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → N < P
33 ltsubnn0 ⊢ P ∈ ℕ 0 ∧ N ∈ ℕ 0 → N < P → P − N ∈ ℕ 0
34 33 imp ⊢ P ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ N < P → P − N ∈ ℕ 0
35 16 25 32 34 syl21anc ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P − N ∈ ℕ 0
36 35 faccld ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P − N ! ∈ ℕ
37 36 nnzd ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P − N ! ∈ ℤ
38 25 faccld ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → N ! ∈ ℕ
39 38 nnzd ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → N ! ∈ ℤ
40 37 39 zmulcld ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P − N ! ⁢ N ! ∈ ℤ
41 37 zcnd ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P − N ! ∈ ℂ
42 39 zcnd ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → N ! ∈ ℂ
43 facne0 ⊢ P − N ∈ ℕ 0 → P − N ! ≠ 0
44 35 43 syl ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P − N ! ≠ 0
45 facne0 ⊢ N ∈ ℕ 0 → N ! ≠ 0
46 25 45 syl ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → N ! ≠ 0
47 41 42 44 46 mulne0d ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P − N ! ⁢ N ! ≠ 0
48 uzid ⊢ P ∈ ℤ → P ∈ ℤ ≥ P
49 4 48 syl ⊢ P ∈ ℙ → P ∈ ℤ ≥ P
50 dvdsfac ⊢ P ∈ ℕ ∧ P ∈ ℤ ≥ P → P ∥ P !
51 3 49 50 syl2anc ⊢ P ∈ ℙ → P ∥ P !
52 51 adantr ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P ∥ P !
53 16 nn0red ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P ∈ ℝ
54 24 nnrpd ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → N ∈ ℝ +
55 53 54 ltsubrpd ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P − N < P
56 prmndvdsfaclt ⊢ P ∈ ℙ ∧ P − N ∈ ℕ 0 → P − N < P → ¬ P ∥ P − N !
57 56 imp ⊢ P ∈ ℙ ∧ P − N ∈ ℕ 0 ∧ P − N < P → ¬ P ∥ P − N !
58 2 35 55 57 syl21anc ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → ¬ P ∥ P − N !
59 prmndvdsfaclt ⊢ P ∈ ℙ ∧ N ∈ ℕ 0 → N < P → ¬ P ∥ N !
60 59 imp ⊢ P ∈ ℙ ∧ N ∈ ℕ 0 ∧ N < P → ¬ P ∥ N !
61 2 25 32 60 syl21anc ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → ¬ P ∥ N !
62 ioran ⊢ ¬ P ∥ P − N ! ∨ P ∥ N ! ↔ ¬ P ∥ P − N ! ∧ ¬ P ∥ N !
63 euclemma ⊢ P ∈ ℙ ∧ P − N ! ∈ ℤ ∧ N ! ∈ ℤ → P ∥ P − N ! ⁢ N ! ↔ P ∥ P − N ! ∨ P ∥ N !
64 63 biimpd ⊢ P ∈ ℙ ∧ P − N ! ∈ ℤ ∧ N ! ∈ ℤ → P ∥ P − N ! ⁢ N ! → P ∥ P − N ! ∨ P ∥ N !
65 64 con3d ⊢ P ∈ ℙ ∧ P − N ! ∈ ℤ ∧ N ! ∈ ℤ → ¬ P ∥ P − N ! ∨ P ∥ N ! → ¬ P ∥ P − N ! ⁢ N !
66 62 65 biimtrrid ⊢ P ∈ ℙ ∧ P − N ! ∈ ℤ ∧ N ! ∈ ℤ → ¬ P ∥ P − N ! ∧ ¬ P ∥ N ! → ¬ P ∥ P − N ! ⁢ N !
67 66 imp ⊢ P ∈ ℙ ∧ P − N ! ∈ ℤ ∧ N ! ∈ ℤ ∧ ¬ P ∥ P − N ! ∧ ¬ P ∥ N ! → ¬ P ∥ P − N ! ⁢ N !
68 2 37 39 58 61 67 syl32anc ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → ¬ P ∥ P − N ! ⁢ N !
69 1 2 22 40 47 52 68 dvdszzq ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P ∥ P ! P − N ! ⁢ N !
70 69 14 breqtrrd ⊢ P ∈ ℙ ∧ N ∈ 1 … P − 1 → P ∥ ( P N)