Step | Hyp | Ref
| Expression |
1 | | iftrue 3531 |
. . . . 5
⊢ (𝐾 ∈ (0...𝑁) → if(𝐾 ∈ (0...𝑁), ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))), 0) = ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾)))) |
2 | 1 | adantl 275 |
. . . 4
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ 𝐾 ∈ (0...𝑁)) → if(𝐾 ∈ (0...𝑁), ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))), 0) = ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾)))) |
3 | | simpll 524 |
. . . . . . 7
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ 𝐾 ∈ (0...𝑁)) → 𝑁 ∈
ℕ0) |
4 | 3 | faccld 10670 |
. . . . . 6
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ 𝐾 ∈ (0...𝑁)) → (!‘𝑁) ∈
ℕ) |
5 | 4 | nnzd 9333 |
. . . . 5
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ 𝐾 ∈ (0...𝑁)) → (!‘𝑁) ∈
ℤ) |
6 | | fznn0sub 10013 |
. . . . . . . 8
⊢ (𝐾 ∈ (0...𝑁) → (𝑁 − 𝐾) ∈
ℕ0) |
7 | 6 | adantl 275 |
. . . . . . 7
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ 𝐾 ∈ (0...𝑁)) → (𝑁 − 𝐾) ∈
ℕ0) |
8 | 7 | faccld 10670 |
. . . . . 6
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ 𝐾 ∈ (0...𝑁)) → (!‘(𝑁 − 𝐾)) ∈ ℕ) |
9 | | elfznn0 10070 |
. . . . . . . 8
⊢ (𝐾 ∈ (0...𝑁) → 𝐾 ∈
ℕ0) |
10 | 9 | adantl 275 |
. . . . . . 7
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ 𝐾 ∈ (0...𝑁)) → 𝐾 ∈
ℕ0) |
11 | 10 | faccld 10670 |
. . . . . 6
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ 𝐾 ∈ (0...𝑁)) → (!‘𝐾) ∈
ℕ) |
12 | 8, 11 | nnmulcld 8927 |
. . . . 5
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ 𝐾 ∈ (0...𝑁)) → ((!‘(𝑁 − 𝐾)) · (!‘𝐾)) ∈ ℕ) |
13 | | znq 9583 |
. . . . 5
⊢
(((!‘𝑁) ∈
ℤ ∧ ((!‘(𝑁
− 𝐾)) ·
(!‘𝐾)) ∈
ℕ) → ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))) ∈ ℚ) |
14 | 5, 12, 13 | syl2anc 409 |
. . . 4
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ 𝐾 ∈ (0...𝑁)) → ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))) ∈ ℚ) |
15 | 2, 14 | eqeltrd 2247 |
. . 3
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ 𝐾 ∈ (0...𝑁)) → if(𝐾 ∈ (0...𝑁), ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))), 0) ∈ ℚ) |
16 | | iffalse 3534 |
. . . . 5
⊢ (¬
𝐾 ∈ (0...𝑁) → if(𝐾 ∈ (0...𝑁), ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))), 0) = 0) |
17 | | 0z 9223 |
. . . . . 6
⊢ 0 ∈
ℤ |
18 | | zq 9585 |
. . . . . 6
⊢ (0 ∈
ℤ → 0 ∈ ℚ) |
19 | 17, 18 | ax-mp 5 |
. . . . 5
⊢ 0 ∈
ℚ |
20 | 16, 19 | eqeltrdi 2261 |
. . . 4
⊢ (¬
𝐾 ∈ (0...𝑁) → if(𝐾 ∈ (0...𝑁), ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))), 0) ∈ ℚ) |
21 | 20 | adantl 275 |
. . 3
⊢ (((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
∧ ¬ 𝐾 ∈
(0...𝑁)) → if(𝐾 ∈ (0...𝑁), ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))), 0) ∈ ℚ) |
22 | | simpr 109 |
. . . . 5
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ 𝐾 ∈
ℤ) |
23 | | 0zd 9224 |
. . . . 5
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ 0 ∈ ℤ) |
24 | | simpl 108 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ 𝑁 ∈
ℕ0) |
25 | 24 | nn0zd 9332 |
. . . . 5
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ 𝑁 ∈
ℤ) |
26 | | fzdcel 9996 |
. . . . 5
⊢ ((𝐾 ∈ ℤ ∧ 0 ∈
ℤ ∧ 𝑁 ∈
ℤ) → DECID 𝐾 ∈ (0...𝑁)) |
27 | 22, 23, 25, 26 | syl3anc 1233 |
. . . 4
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ DECID 𝐾 ∈ (0...𝑁)) |
28 | | exmiddc 831 |
. . . 4
⊢
(DECID 𝐾 ∈ (0...𝑁) → (𝐾 ∈ (0...𝑁) ∨ ¬ 𝐾 ∈ (0...𝑁))) |
29 | 27, 28 | syl 14 |
. . 3
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ (𝐾 ∈ (0...𝑁) ∨ ¬ 𝐾 ∈ (0...𝑁))) |
30 | 15, 21, 29 | mpjaodan 793 |
. 2
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ if(𝐾 ∈
(0...𝑁), ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))), 0) ∈ ℚ) |
31 | | oveq2 5861 |
. . . . 5
⊢ (𝑛 = 𝑁 → (0...𝑛) = (0...𝑁)) |
32 | 31 | eleq2d 2240 |
. . . 4
⊢ (𝑛 = 𝑁 → (𝑘 ∈ (0...𝑛) ↔ 𝑘 ∈ (0...𝑁))) |
33 | | fveq2 5496 |
. . . . 5
⊢ (𝑛 = 𝑁 → (!‘𝑛) = (!‘𝑁)) |
34 | | oveq1 5860 |
. . . . . . 7
⊢ (𝑛 = 𝑁 → (𝑛 − 𝑘) = (𝑁 − 𝑘)) |
35 | 34 | fveq2d 5500 |
. . . . . 6
⊢ (𝑛 = 𝑁 → (!‘(𝑛 − 𝑘)) = (!‘(𝑁 − 𝑘))) |
36 | 35 | oveq1d 5868 |
. . . . 5
⊢ (𝑛 = 𝑁 → ((!‘(𝑛 − 𝑘)) · (!‘𝑘)) = ((!‘(𝑁 − 𝑘)) · (!‘𝑘))) |
37 | 33, 36 | oveq12d 5871 |
. . . 4
⊢ (𝑛 = 𝑁 → ((!‘𝑛) / ((!‘(𝑛 − 𝑘)) · (!‘𝑘))) = ((!‘𝑁) / ((!‘(𝑁 − 𝑘)) · (!‘𝑘)))) |
38 | 32, 37 | ifbieq1d 3548 |
. . 3
⊢ (𝑛 = 𝑁 → if(𝑘 ∈ (0...𝑛), ((!‘𝑛) / ((!‘(𝑛 − 𝑘)) · (!‘𝑘))), 0) = if(𝑘 ∈ (0...𝑁), ((!‘𝑁) / ((!‘(𝑁 − 𝑘)) · (!‘𝑘))), 0)) |
39 | | eleq1 2233 |
. . . 4
⊢ (𝑘 = 𝐾 → (𝑘 ∈ (0...𝑁) ↔ 𝐾 ∈ (0...𝑁))) |
40 | | oveq2 5861 |
. . . . . . 7
⊢ (𝑘 = 𝐾 → (𝑁 − 𝑘) = (𝑁 − 𝐾)) |
41 | 40 | fveq2d 5500 |
. . . . . 6
⊢ (𝑘 = 𝐾 → (!‘(𝑁 − 𝑘)) = (!‘(𝑁 − 𝐾))) |
42 | | fveq2 5496 |
. . . . . 6
⊢ (𝑘 = 𝐾 → (!‘𝑘) = (!‘𝐾)) |
43 | 41, 42 | oveq12d 5871 |
. . . . 5
⊢ (𝑘 = 𝐾 → ((!‘(𝑁 − 𝑘)) · (!‘𝑘)) = ((!‘(𝑁 − 𝐾)) · (!‘𝐾))) |
44 | 43 | oveq2d 5869 |
. . . 4
⊢ (𝑘 = 𝐾 → ((!‘𝑁) / ((!‘(𝑁 − 𝑘)) · (!‘𝑘))) = ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾)))) |
45 | 39, 44 | ifbieq1d 3548 |
. . 3
⊢ (𝑘 = 𝐾 → if(𝑘 ∈ (0...𝑁), ((!‘𝑁) / ((!‘(𝑁 − 𝑘)) · (!‘𝑘))), 0) = if(𝐾 ∈ (0...𝑁), ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))), 0)) |
46 | | df-bc 10682 |
. . 3
⊢ C =
(𝑛 ∈
ℕ0, 𝑘
∈ ℤ ↦ if(𝑘
∈ (0...𝑛),
((!‘𝑛) /
((!‘(𝑛 − 𝑘)) · (!‘𝑘))), 0)) |
47 | 38, 45, 46 | ovmpog 5987 |
. 2
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ
∧ if(𝐾 ∈
(0...𝑁), ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))), 0) ∈ ℚ) → (𝑁C𝐾) = if(𝐾 ∈ (0...𝑁), ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))), 0)) |
48 | 30, 47 | mpd3an3 1333 |
1
⊢ ((𝑁 ∈ ℕ0
∧ 𝐾 ∈ ℤ)
→ (𝑁C𝐾) = if(𝐾 ∈ (0...𝑁), ((!‘𝑁) / ((!‘(𝑁 − 𝐾)) · (!‘𝐾))), 0)) |