Step |
Hyp |
Ref |
Expression |
1 |
|
negcl |
⊢ ( 𝑋 ∈ ℂ → - 𝑋 ∈ ℂ ) |
2 |
1
|
adantr |
⊢ ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) → - 𝑋 ∈ ℂ ) |
3 |
|
elfznn |
⊢ ( 𝑘 ∈ ( 1 ... 𝑁 ) → 𝑘 ∈ ℕ ) |
4 |
|
nnm1nn0 |
⊢ ( 𝑘 ∈ ℕ → ( 𝑘 − 1 ) ∈ ℕ0 ) |
5 |
3 4
|
syl |
⊢ ( 𝑘 ∈ ( 1 ... 𝑁 ) → ( 𝑘 − 1 ) ∈ ℕ0 ) |
6 |
5
|
nn0cnd |
⊢ ( 𝑘 ∈ ( 1 ... 𝑁 ) → ( 𝑘 − 1 ) ∈ ℂ ) |
7 |
|
subcl |
⊢ ( ( - 𝑋 ∈ ℂ ∧ ( 𝑘 − 1 ) ∈ ℂ ) → ( - 𝑋 − ( 𝑘 − 1 ) ) ∈ ℂ ) |
8 |
2 6 7
|
syl2an |
⊢ ( ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ) → ( - 𝑋 − ( 𝑘 − 1 ) ) ∈ ℂ ) |
9 |
8
|
mulm1d |
⊢ ( ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ) → ( - 1 · ( - 𝑋 − ( 𝑘 − 1 ) ) ) = - ( - 𝑋 − ( 𝑘 − 1 ) ) ) |
10 |
|
simpll |
⊢ ( ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ) → 𝑋 ∈ ℂ ) |
11 |
6
|
adantl |
⊢ ( ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ) → ( 𝑘 − 1 ) ∈ ℂ ) |
12 |
10 11
|
negdi2d |
⊢ ( ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ) → - ( 𝑋 + ( 𝑘 − 1 ) ) = ( - 𝑋 − ( 𝑘 − 1 ) ) ) |
13 |
12
|
negeqd |
⊢ ( ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ) → - - ( 𝑋 + ( 𝑘 − 1 ) ) = - ( - 𝑋 − ( 𝑘 − 1 ) ) ) |
14 |
|
simpl |
⊢ ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) → 𝑋 ∈ ℂ ) |
15 |
|
addcl |
⊢ ( ( 𝑋 ∈ ℂ ∧ ( 𝑘 − 1 ) ∈ ℂ ) → ( 𝑋 + ( 𝑘 − 1 ) ) ∈ ℂ ) |
16 |
14 6 15
|
syl2an |
⊢ ( ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ) → ( 𝑋 + ( 𝑘 − 1 ) ) ∈ ℂ ) |
17 |
16
|
negnegd |
⊢ ( ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ) → - - ( 𝑋 + ( 𝑘 − 1 ) ) = ( 𝑋 + ( 𝑘 − 1 ) ) ) |
18 |
9 13 17
|
3eqtr2rd |
⊢ ( ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ) → ( 𝑋 + ( 𝑘 − 1 ) ) = ( - 1 · ( - 𝑋 − ( 𝑘 − 1 ) ) ) ) |
19 |
18
|
prodeq2dv |
⊢ ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) → ∏ 𝑘 ∈ ( 1 ... 𝑁 ) ( 𝑋 + ( 𝑘 − 1 ) ) = ∏ 𝑘 ∈ ( 1 ... 𝑁 ) ( - 1 · ( - 𝑋 − ( 𝑘 − 1 ) ) ) ) |
20 |
|
risefacval2 |
⊢ ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) → ( 𝑋 RiseFac 𝑁 ) = ∏ 𝑘 ∈ ( 1 ... 𝑁 ) ( 𝑋 + ( 𝑘 − 1 ) ) ) |
21 |
|
fzfi |
⊢ ( 1 ... 𝑁 ) ∈ Fin |
22 |
|
neg1cn |
⊢ - 1 ∈ ℂ |
23 |
|
fprodconst |
⊢ ( ( ( 1 ... 𝑁 ) ∈ Fin ∧ - 1 ∈ ℂ ) → ∏ 𝑘 ∈ ( 1 ... 𝑁 ) - 1 = ( - 1 ↑ ( ♯ ‘ ( 1 ... 𝑁 ) ) ) ) |
24 |
21 22 23
|
mp2an |
⊢ ∏ 𝑘 ∈ ( 1 ... 𝑁 ) - 1 = ( - 1 ↑ ( ♯ ‘ ( 1 ... 𝑁 ) ) ) |
25 |
|
hashfz1 |
⊢ ( 𝑁 ∈ ℕ0 → ( ♯ ‘ ( 1 ... 𝑁 ) ) = 𝑁 ) |
26 |
25
|
oveq2d |
⊢ ( 𝑁 ∈ ℕ0 → ( - 1 ↑ ( ♯ ‘ ( 1 ... 𝑁 ) ) ) = ( - 1 ↑ 𝑁 ) ) |
27 |
24 26
|
eqtr2id |
⊢ ( 𝑁 ∈ ℕ0 → ( - 1 ↑ 𝑁 ) = ∏ 𝑘 ∈ ( 1 ... 𝑁 ) - 1 ) |
28 |
27
|
adantl |
⊢ ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) → ( - 1 ↑ 𝑁 ) = ∏ 𝑘 ∈ ( 1 ... 𝑁 ) - 1 ) |
29 |
|
fallfacval2 |
⊢ ( ( - 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) → ( - 𝑋 FallFac 𝑁 ) = ∏ 𝑘 ∈ ( 1 ... 𝑁 ) ( - 𝑋 − ( 𝑘 − 1 ) ) ) |
30 |
1 29
|
sylan |
⊢ ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) → ( - 𝑋 FallFac 𝑁 ) = ∏ 𝑘 ∈ ( 1 ... 𝑁 ) ( - 𝑋 − ( 𝑘 − 1 ) ) ) |
31 |
28 30
|
oveq12d |
⊢ ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) → ( ( - 1 ↑ 𝑁 ) · ( - 𝑋 FallFac 𝑁 ) ) = ( ∏ 𝑘 ∈ ( 1 ... 𝑁 ) - 1 · ∏ 𝑘 ∈ ( 1 ... 𝑁 ) ( - 𝑋 − ( 𝑘 − 1 ) ) ) ) |
32 |
|
fzfid |
⊢ ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) → ( 1 ... 𝑁 ) ∈ Fin ) |
33 |
22
|
a1i |
⊢ ( ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ) → - 1 ∈ ℂ ) |
34 |
32 33 8
|
fprodmul |
⊢ ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) → ∏ 𝑘 ∈ ( 1 ... 𝑁 ) ( - 1 · ( - 𝑋 − ( 𝑘 − 1 ) ) ) = ( ∏ 𝑘 ∈ ( 1 ... 𝑁 ) - 1 · ∏ 𝑘 ∈ ( 1 ... 𝑁 ) ( - 𝑋 − ( 𝑘 − 1 ) ) ) ) |
35 |
31 34
|
eqtr4d |
⊢ ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) → ( ( - 1 ↑ 𝑁 ) · ( - 𝑋 FallFac 𝑁 ) ) = ∏ 𝑘 ∈ ( 1 ... 𝑁 ) ( - 1 · ( - 𝑋 − ( 𝑘 − 1 ) ) ) ) |
36 |
19 20 35
|
3eqtr4d |
⊢ ( ( 𝑋 ∈ ℂ ∧ 𝑁 ∈ ℕ0 ) → ( 𝑋 RiseFac 𝑁 ) = ( ( - 1 ↑ 𝑁 ) · ( - 𝑋 FallFac 𝑁 ) ) ) |