Metamath Proof Explorer


Theorem bcc0

Description: The generalized binomial coefficient C choose K is zero iff C is an integer between zero and ( K - 1 ) inclusive. (Contributed by Steve Rodriguez, 22-Apr-2020)

Ref Expression
Hypotheses bccval.c ⊢ φ → C ∈ ℂ
bccval.k ⊢ φ → K ∈ ℕ 0
Assertion bcc0 ⊢ φ → C C 𝑐 K = 0 ↔ C ∈ 0 … K − 1

Proof

Step Hyp Ref Expression
1 bccval.c ⊢ φ → C ∈ ℂ
2 bccval.k ⊢ φ → K ∈ ℕ 0
3 1 2 bccval ⊢ φ → C C 𝑐 K = C K _ K !
4 3 eqeq1d ⊢ φ → C C 𝑐 K = 0 ↔ C K _ K ! = 0
5 fallfaccl ⊢ C ∈ ℂ ∧ K ∈ ℕ 0 → C K _ ∈ ℂ
6 1 2 5 syl2anc ⊢ φ → C K _ ∈ ℂ
7 faccl ⊢ K ∈ ℕ 0 → K ! ∈ ℕ
8 2 7 syl ⊢ φ → K ! ∈ ℕ
9 8 nncnd ⊢ φ → K ! ∈ ℂ
10 facne0 ⊢ K ∈ ℕ 0 → K ! ≠ 0
11 2 10 syl ⊢ φ → K ! ≠ 0
12 6 9 11 diveq0ad ⊢ φ → C K _ K ! = 0 ↔ C K _ = 0
13 fallfacval ⊢ C ∈ ℂ ∧ K ∈ ℕ 0 → C K _ = ∏ k = 0 K − 1 C − k
14 1 2 13 syl2anc ⊢ φ → C K _ = ∏ k = 0 K − 1 C − k
15 14 eqeq1d ⊢ φ → C K _ = 0 ↔ ∏ k = 0 K − 1 C − k = 0
16 elfzuz3 ⊢ C ∈ 0 … K − 1 → K − 1 ∈ ℤ ≥ C
17 16 adantl ⊢ φ ∧ C ∈ 0 … K − 1 → K − 1 ∈ ℤ ≥ C
18 nn0uz ⊢ ℕ 0 = ℤ ≥ 0
19 elfznn0 ⊢ C ∈ 0 … K − 1 → C ∈ ℕ 0
20 19 adantl ⊢ φ ∧ C ∈ 0 … K − 1 → C ∈ ℕ 0
21 1 ad2antrr ⊢ φ ∧ C ∈ 0 … K − 1 ∧ k ∈ ℕ 0 → C ∈ ℂ
22 nn0cn ⊢ k ∈ ℕ 0 → k ∈ ℂ
23 22 adantl ⊢ φ ∧ C ∈ 0 … K − 1 ∧ k ∈ ℕ 0 → k ∈ ℂ
24 21 23 subcld ⊢ φ ∧ C ∈ 0 … K − 1 ∧ k ∈ ℕ 0 → C − k ∈ ℂ
25 1 ad2antrr ⊢ φ ∧ C ∈ 0 … K − 1 ∧ k = C → C ∈ ℂ
26 eqcom ⊢ k = C ↔ C = k
27 26 bilani ⊢ φ ∧ C ∈ 0 … K − 1 ∧ k = C → C = k
28 25 27 subeq0bd ⊢ φ ∧ C ∈ 0 … K − 1 ∧ k = C → C − k = 0
29 18 20 24 28 fprodeq0 ⊢ φ ∧ C ∈ 0 … K − 1 ∧ K − 1 ∈ ℤ ≥ C → ∏ k = 0 K − 1 C − k = 0
30 17 29 mpdan ⊢ φ ∧ C ∈ 0 … K − 1 → ∏ k = 0 K − 1 C − k = 0
31 30 ex ⊢ φ → C ∈ 0 … K − 1 → ∏ k = 0 K − 1 C − k = 0
32 fzfid ⊢ φ ∧ ¬ C ∈ 0 … K − 1 → 0 … K − 1 ∈ Fin
33 1 ad2antrr ⊢ φ ∧ ¬ C ∈ 0 … K − 1 ∧ k ∈ 0 … K − 1 → C ∈ ℂ
34 elfznn0 ⊢ k ∈ 0 … K − 1 → k ∈ ℕ 0
35 34 nn0cnd ⊢ k ∈ 0 … K − 1 → k ∈ ℂ
36 35 adantl ⊢ φ ∧ ¬ C ∈ 0 … K − 1 ∧ k ∈ 0 … K − 1 → k ∈ ℂ
37 33 36 subcld ⊢ φ ∧ ¬ C ∈ 0 … K − 1 ∧ k ∈ 0 … K − 1 → C − k ∈ ℂ
38 nelne2 ⊢ k ∈ 0 … K − 1 ∧ ¬ C ∈ 0 … K − 1 → k ≠ C
39 38 necomd ⊢ k ∈ 0 … K − 1 ∧ ¬ C ∈ 0 … K − 1 → C ≠ k
40 39 ancoms ⊢ ¬ C ∈ 0 … K − 1 ∧ k ∈ 0 … K − 1 → C ≠ k
41 40 adantll ⊢ φ ∧ ¬ C ∈ 0 … K − 1 ∧ k ∈ 0 … K − 1 → C ≠ k
42 33 36 41 subne0d ⊢ φ ∧ ¬ C ∈ 0 … K − 1 ∧ k ∈ 0 … K − 1 → C − k ≠ 0
43 32 37 42 fprodn0 ⊢ φ ∧ ¬ C ∈ 0 … K − 1 → ∏ k = 0 K − 1 C − k ≠ 0
44 43 ex ⊢ φ → ¬ C ∈ 0 … K − 1 → ∏ k = 0 K − 1 C − k ≠ 0
45 44 necon4bd ⊢ φ → ∏ k = 0 K − 1 C − k = 0 → C ∈ 0 … K − 1
46 31 45 impbid ⊢ φ → C ∈ 0 … K − 1 ↔ ∏ k = 0 K − 1 C − k = 0
47 15 46 bitr4d ⊢ φ → C K _ = 0 ↔ C ∈ 0 … K − 1
48 4 12 47 3bitrd ⊢ φ → C C 𝑐 K = 0 ↔ C ∈ 0 … K − 1