Proof of Theorem bccmpl
Step | Hyp | Ref
| Expression |
1 | | bcval2 10663 |
. . . 4
⊢ (𝐾 ∈ (0...𝑁) → (𝑁C𝐾) = ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾)))) |
2 | | fznn0sub2 10063 |
. . . . . 6
⊢ (𝐾 ∈ (0...𝑁) → (𝑁 − 𝐾) ∈ (0...𝑁)) |
3 | | bcval2 10663 |
. . . . . 6
⊢ ((𝑁 − 𝐾) ∈ (0...𝑁) → (𝑁C(𝑁 − 𝐾)) = ((!‘𝑁) / ((!‘(𝑁 − (𝑁 − 𝐾))) · (!‘(𝑁 − 𝐾))))) |
4 | 2, 3 | syl 14 |
. . . . 5
⊢ (𝐾 ∈ (0...𝑁) → (𝑁C(𝑁 − 𝐾)) = ((!‘𝑁) / ((!‘(𝑁 − (𝑁 − 𝐾))) · (!‘(𝑁 − 𝐾))))) |
5 | | elfznn0 10049 |
. . . . . . . . . . 11
⊢ ((𝑁 − 𝐾) ∈ (0...𝑁) → (𝑁 − 𝐾) ∈
ℕ0) |
6 | 5 | faccld 10649 |
. . . . . . . . . 10
⊢ ((𝑁 − 𝐾) ∈ (0...𝑁) → (!‘(𝑁 − 𝐾)) ∈ ℕ) |
7 | 6 | nncnd 8871 |
. . . . . . . . 9
⊢ ((𝑁 − 𝐾) ∈ (0...𝑁) → (!‘(𝑁 − 𝐾)) ∈ ℂ) |
8 | 2, 7 | syl 14 |
. . . . . . . 8
⊢ (𝐾 ∈ (0...𝑁) → (!‘(𝑁 − 𝐾)) ∈ ℂ) |
9 | | elfznn0 10049 |
. . . . . . . . . 10
⊢ (𝐾 ∈ (0...𝑁) → 𝐾 ∈
ℕ0) |
10 | 9 | faccld 10649 |
. . . . . . . . 9
⊢ (𝐾 ∈ (0...𝑁) → (!‘𝐾) ∈ ℕ) |
11 | 10 | nncnd 8871 |
. . . . . . . 8
⊢ (𝐾 ∈ (0...𝑁) → (!‘𝐾) ∈ ℂ) |
12 | 8, 11 | mulcomd 7920 |
. . . . . . 7
⊢ (𝐾 ∈ (0...𝑁) → ((!‘(𝑁 − 𝐾)) · (!‘𝐾)) = ((!‘𝐾) · (!‘(𝑁 − 𝐾)))) |
13 | | elfz3nn0 10050 |
. . . . . . . . . 10
⊢ (𝐾 ∈ (0...𝑁) → 𝑁 ∈
ℕ0) |
14 | | elfzelz 9960 |
. . . . . . . . . 10
⊢ (𝐾 ∈ (0...𝑁) → 𝐾 ∈ ℤ) |
15 | | nn0cn 9124 |
. . . . . . . . . . 11
⊢ (𝑁 ∈ ℕ0
→ 𝑁 ∈
ℂ) |
16 | | zcn 9196 |
. . . . . . . . . . 11
⊢ (𝐾 ∈ ℤ → 𝐾 ∈
ℂ) |
17 | | nncan 8127 |
. . . . . . . . . . 11
⊢ ((𝑁 ∈ ℂ ∧ 𝐾 ∈ ℂ) → (𝑁 − (𝑁 − 𝐾)) = 𝐾) |
18 | 15, 16, 17 | syl2an 287 |
. . . . . . . . . 10
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ (𝑁 − (𝑁 − 𝐾)) = 𝐾) |
19 | 13, 14, 18 | syl2anc 409 |
. . . . . . . . 9
⊢ (𝐾 ∈ (0...𝑁) → (𝑁 − (𝑁 − 𝐾)) = 𝐾) |
20 | 19 | fveq2d 5490 |
. . . . . . . 8
⊢ (𝐾 ∈ (0...𝑁) → (!‘(𝑁 − (𝑁 − 𝐾))) = (!‘𝐾)) |
21 | 20 | oveq1d 5857 |
. . . . . . 7
⊢ (𝐾 ∈ (0...𝑁) → ((!‘(𝑁 − (𝑁 − 𝐾))) · (!‘(𝑁 − 𝐾))) = ((!‘𝐾) · (!‘(𝑁 − 𝐾)))) |
22 | 12, 21 | eqtr4d 2201 |
. . . . . 6
⊢ (𝐾 ∈ (0...𝑁) → ((!‘(𝑁 − 𝐾)) · (!‘𝐾)) = ((!‘(𝑁 − (𝑁 − 𝐾))) · (!‘(𝑁 − 𝐾)))) |
23 | 22 | oveq2d 5858 |
. . . . 5
⊢ (𝐾 ∈ (0...𝑁) → ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))) = ((!‘𝑁) / ((!‘(𝑁 − (𝑁 − 𝐾))) · (!‘(𝑁 − 𝐾))))) |
24 | 4, 23 | eqtr4d 2201 |
. . . 4
⊢ (𝐾 ∈ (0...𝑁) → (𝑁C(𝑁 − 𝐾)) = ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾)))) |
25 | 1, 24 | eqtr4d 2201 |
. . 3
⊢ (𝐾 ∈ (0...𝑁) → (𝑁C𝐾) = (𝑁C(𝑁 − 𝐾))) |
26 | 25 | adantl 275 |
. 2
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ 𝐾 ∈ (0...𝑁)) → (𝑁C𝐾) = (𝑁C(𝑁 − 𝐾))) |
27 | | bcval3 10664 |
. . . 4
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ
∧ ¬ 𝐾 ∈
(0...𝑁)) → (𝑁C𝐾) = 0) |
28 | | simp1 987 |
. . . . 5
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ
∧ ¬ 𝐾 ∈
(0...𝑁)) → 𝑁 ∈
ℕ0) |
29 | | nn0z 9211 |
. . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ 𝑁 ∈
ℤ) |
30 | | zsubcl 9232 |
. . . . . . 7
⊢ ((𝑁 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝑁 − 𝐾) ∈ ℤ) |
31 | 29, 30 | sylan 281 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ (𝑁 − 𝐾) ∈
ℤ) |
32 | 31 | 3adant3 1007 |
. . . . 5
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ
∧ ¬ 𝐾 ∈
(0...𝑁)) → (𝑁 − 𝐾) ∈ ℤ) |
33 | | fznn0sub2 10063 |
. . . . . . . 8
⊢ ((𝑁 − 𝐾) ∈ (0...𝑁) → (𝑁 − (𝑁 − 𝐾)) ∈ (0...𝑁)) |
34 | 18 | eleq1d 2235 |
. . . . . . . 8
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ ((𝑁 − (𝑁 − 𝐾)) ∈ (0...𝑁) ↔ 𝐾 ∈ (0...𝑁))) |
35 | 33, 34 | syl5ib 153 |
. . . . . . 7
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ ((𝑁 − 𝐾) ∈ (0...𝑁) → 𝐾 ∈ (0...𝑁))) |
36 | 35 | con3d 621 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ (¬ 𝐾 ∈
(0...𝑁) → ¬ (𝑁 − 𝐾) ∈ (0...𝑁))) |
37 | 36 | 3impia 1190 |
. . . . 5
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ
∧ ¬ 𝐾 ∈
(0...𝑁)) → ¬
(𝑁 − 𝐾) ∈ (0...𝑁)) |
38 | | bcval3 10664 |
. . . . 5
⊢ ((𝑁 ∈ ℕ0
∧ (𝑁 − 𝐾) ∈ ℤ ∧ ¬
(𝑁 − 𝐾) ∈ (0...𝑁)) → (𝑁C(𝑁 − 𝐾)) = 0) |
39 | 28, 32, 37, 38 | syl3anc 1228 |
. . . 4
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ
∧ ¬ 𝐾 ∈
(0...𝑁)) → (𝑁C(𝑁 − 𝐾)) = 0) |
40 | 27, 39 | eqtr4d 2201 |
. . 3
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ
∧ ¬ 𝐾 ∈
(0...𝑁)) → (𝑁C𝐾) = (𝑁C(𝑁 − 𝐾))) |
41 | 40 | 3expa 1193 |
. 2
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ ¬ 𝐾 ∈
(0...𝑁)) → (𝑁C𝐾) = (𝑁C(𝑁 − 𝐾))) |
42 | | simpr 109 |
. . . 4
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ 𝐾 ∈
ℤ) |
43 | | 0zd 9203 |
. . . 4
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ 0 ∈ ℤ) |
44 | 29 | adantr 274 |
. . . 4
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ 𝑁 ∈
ℤ) |
45 | | fzdcel 9975 |
. . . 4
⊢ ((𝐾 ∈ ℤ ∧ 0 ∈
ℤ ∧ 𝑁 ∈
ℤ) → DECID 𝐾 ∈ (0...𝑁)) |
46 | 42, 43, 44, 45 | syl3anc 1228 |
. . 3
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ DECID 𝐾 ∈ (0...𝑁)) |
47 | | exmiddc 826 |
. . 3
⊢
(DECID 𝐾 ∈ (0...𝑁) → (𝐾 ∈ (0...𝑁) ∨ ¬ 𝐾 ∈ (0...𝑁))) |
48 | 46, 47 | syl 14 |
. 2
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ (𝐾 ∈ (0...𝑁) ∨ ¬ 𝐾 ∈ (0...𝑁))) |
49 | 26, 41, 48 | mpjaodan 788 |
1
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ (𝑁C𝐾) = (𝑁C(𝑁 − 𝐾))) |