| Step |
Hyp |
Ref |
Expression |
| 1 |
|
peano2cn |
|- ( A e. CC -> ( A + 1 ) e. CC ) |
| 2 |
|
nnnn0 |
|- ( N e. NN -> N e. NN0 ) |
| 3 |
|
fallfacval |
|- ( ( ( A + 1 ) e. CC /\ N e. NN0 ) -> ( ( A + 1 ) FallFac N ) = prod_ k e. ( 0 ... ( N - 1 ) ) ( ( A + 1 ) - k ) ) |
| 4 |
1 2 3
|
syl2an |
|- ( ( A e. CC /\ N e. NN ) -> ( ( A + 1 ) FallFac N ) = prod_ k e. ( 0 ... ( N - 1 ) ) ( ( A + 1 ) - k ) ) |
| 5 |
|
0p1e1 |
|- ( 0 + 1 ) = 1 |
| 6 |
5
|
oveq1i |
|- ( ( 0 + 1 ) ... ( N - 1 ) ) = ( 1 ... ( N - 1 ) ) |
| 7 |
6
|
prodeq1i |
|- prod_ k e. ( ( 0 + 1 ) ... ( N - 1 ) ) ( A - ( k - 1 ) ) = prod_ k e. ( 1 ... ( N - 1 ) ) ( A - ( k - 1 ) ) |
| 8 |
7
|
oveq2i |
|- ( ( A - -u 1 ) x. prod_ k e. ( ( 0 + 1 ) ... ( N - 1 ) ) ( A - ( k - 1 ) ) ) = ( ( A - -u 1 ) x. prod_ k e. ( 1 ... ( N - 1 ) ) ( A - ( k - 1 ) ) ) |
| 9 |
|
nnm1nn0 |
|- ( N e. NN -> ( N - 1 ) e. NN0 ) |
| 10 |
9
|
adantl |
|- ( ( A e. CC /\ N e. NN ) -> ( N - 1 ) e. NN0 ) |
| 11 |
|
nn0uz |
|- NN0 = ( ZZ>= ` 0 ) |
| 12 |
10 11
|
eleqtrdi |
|- ( ( A e. CC /\ N e. NN ) -> ( N - 1 ) e. ( ZZ>= ` 0 ) ) |
| 13 |
|
simpll |
|- ( ( ( A e. CC /\ N e. NN ) /\ k e. ( 0 ... ( N - 1 ) ) ) -> A e. CC ) |
| 14 |
|
elfzelz |
|- ( k e. ( 0 ... ( N - 1 ) ) -> k e. ZZ ) |
| 15 |
14
|
adantl |
|- ( ( ( A e. CC /\ N e. NN ) /\ k e. ( 0 ... ( N - 1 ) ) ) -> k e. ZZ ) |
| 16 |
|
peano2zm |
|- ( k e. ZZ -> ( k - 1 ) e. ZZ ) |
| 17 |
15 16
|
syl |
|- ( ( ( A e. CC /\ N e. NN ) /\ k e. ( 0 ... ( N - 1 ) ) ) -> ( k - 1 ) e. ZZ ) |
| 18 |
17
|
zcnd |
|- ( ( ( A e. CC /\ N e. NN ) /\ k e. ( 0 ... ( N - 1 ) ) ) -> ( k - 1 ) e. CC ) |
| 19 |
13 18
|
subcld |
|- ( ( ( A e. CC /\ N e. NN ) /\ k e. ( 0 ... ( N - 1 ) ) ) -> ( A - ( k - 1 ) ) e. CC ) |
| 20 |
|
oveq1 |
|- ( k = 0 -> ( k - 1 ) = ( 0 - 1 ) ) |
| 21 |
|
df-neg |
|- -u 1 = ( 0 - 1 ) |
| 22 |
20 21
|
eqtr4di |
|- ( k = 0 -> ( k - 1 ) = -u 1 ) |
| 23 |
22
|
oveq2d |
|- ( k = 0 -> ( A - ( k - 1 ) ) = ( A - -u 1 ) ) |
| 24 |
12 19 23
|
fprod1p |
|- ( ( A e. CC /\ N e. NN ) -> prod_ k e. ( 0 ... ( N - 1 ) ) ( A - ( k - 1 ) ) = ( ( A - -u 1 ) x. prod_ k e. ( ( 0 + 1 ) ... ( N - 1 ) ) ( A - ( k - 1 ) ) ) ) |
| 25 |
|
fallfacval2 |
|- ( ( A e. CC /\ ( N - 1 ) e. NN0 ) -> ( A FallFac ( N - 1 ) ) = prod_ k e. ( 1 ... ( N - 1 ) ) ( A - ( k - 1 ) ) ) |
| 26 |
9 25
|
sylan2 |
|- ( ( A e. CC /\ N e. NN ) -> ( A FallFac ( N - 1 ) ) = prod_ k e. ( 1 ... ( N - 1 ) ) ( A - ( k - 1 ) ) ) |
| 27 |
26
|
oveq2d |
|- ( ( A e. CC /\ N e. NN ) -> ( ( A - -u 1 ) x. ( A FallFac ( N - 1 ) ) ) = ( ( A - -u 1 ) x. prod_ k e. ( 1 ... ( N - 1 ) ) ( A - ( k - 1 ) ) ) ) |
| 28 |
8 24 27
|
3eqtr4a |
|- ( ( A e. CC /\ N e. NN ) -> prod_ k e. ( 0 ... ( N - 1 ) ) ( A - ( k - 1 ) ) = ( ( A - -u 1 ) x. ( A FallFac ( N - 1 ) ) ) ) |
| 29 |
|
elfznn0 |
|- ( k e. ( 0 ... ( N - 1 ) ) -> k e. NN0 ) |
| 30 |
29
|
adantl |
|- ( ( ( A e. CC /\ N e. NN ) /\ k e. ( 0 ... ( N - 1 ) ) ) -> k e. NN0 ) |
| 31 |
30
|
nn0cnd |
|- ( ( ( A e. CC /\ N e. NN ) /\ k e. ( 0 ... ( N - 1 ) ) ) -> k e. CC ) |
| 32 |
|
1cnd |
|- ( ( ( A e. CC /\ N e. NN ) /\ k e. ( 0 ... ( N - 1 ) ) ) -> 1 e. CC ) |
| 33 |
13 31 32
|
subsub3d |
|- ( ( ( A e. CC /\ N e. NN ) /\ k e. ( 0 ... ( N - 1 ) ) ) -> ( A - ( k - 1 ) ) = ( ( A + 1 ) - k ) ) |
| 34 |
33
|
prodeq2dv |
|- ( ( A e. CC /\ N e. NN ) -> prod_ k e. ( 0 ... ( N - 1 ) ) ( A - ( k - 1 ) ) = prod_ k e. ( 0 ... ( N - 1 ) ) ( ( A + 1 ) - k ) ) |
| 35 |
|
simpl |
|- ( ( A e. CC /\ N e. NN ) -> A e. CC ) |
| 36 |
|
1cnd |
|- ( ( A e. CC /\ N e. NN ) -> 1 e. CC ) |
| 37 |
35 36
|
subnegd |
|- ( ( A e. CC /\ N e. NN ) -> ( A - -u 1 ) = ( A + 1 ) ) |
| 38 |
37
|
oveq1d |
|- ( ( A e. CC /\ N e. NN ) -> ( ( A - -u 1 ) x. ( A FallFac ( N - 1 ) ) ) = ( ( A + 1 ) x. ( A FallFac ( N - 1 ) ) ) ) |
| 39 |
28 34 38
|
3eqtr3d |
|- ( ( A e. CC /\ N e. NN ) -> prod_ k e. ( 0 ... ( N - 1 ) ) ( ( A + 1 ) - k ) = ( ( A + 1 ) x. ( A FallFac ( N - 1 ) ) ) ) |
| 40 |
4 39
|
eqtrd |
|- ( ( A e. CC /\ N e. NN ) -> ( ( A + 1 ) FallFac N ) = ( ( A + 1 ) x. ( A FallFac ( N - 1 ) ) ) ) |
| 41 |
|
simpr |
|- ( ( A e. CC /\ N e. NN ) -> N e. NN ) |
| 42 |
41
|
nncnd |
|- ( ( A e. CC /\ N e. NN ) -> N e. CC ) |
| 43 |
42 36
|
npcand |
|- ( ( A e. CC /\ N e. NN ) -> ( ( N - 1 ) + 1 ) = N ) |
| 44 |
43
|
oveq2d |
|- ( ( A e. CC /\ N e. NN ) -> ( A FallFac ( ( N - 1 ) + 1 ) ) = ( A FallFac N ) ) |
| 45 |
|
fallfacp1 |
|- ( ( A e. CC /\ ( N - 1 ) e. NN0 ) -> ( A FallFac ( ( N - 1 ) + 1 ) ) = ( ( A FallFac ( N - 1 ) ) x. ( A - ( N - 1 ) ) ) ) |
| 46 |
9 45
|
sylan2 |
|- ( ( A e. CC /\ N e. NN ) -> ( A FallFac ( ( N - 1 ) + 1 ) ) = ( ( A FallFac ( N - 1 ) ) x. ( A - ( N - 1 ) ) ) ) |
| 47 |
44 46
|
eqtr3d |
|- ( ( A e. CC /\ N e. NN ) -> ( A FallFac N ) = ( ( A FallFac ( N - 1 ) ) x. ( A - ( N - 1 ) ) ) ) |
| 48 |
40 47
|
oveq12d |
|- ( ( A e. CC /\ N e. NN ) -> ( ( ( A + 1 ) FallFac N ) - ( A FallFac N ) ) = ( ( ( A + 1 ) x. ( A FallFac ( N - 1 ) ) ) - ( ( A FallFac ( N - 1 ) ) x. ( A - ( N - 1 ) ) ) ) ) |
| 49 |
|
fallfaccl |
|- ( ( A e. CC /\ ( N - 1 ) e. NN0 ) -> ( A FallFac ( N - 1 ) ) e. CC ) |
| 50 |
9 49
|
sylan2 |
|- ( ( A e. CC /\ N e. NN ) -> ( A FallFac ( N - 1 ) ) e. CC ) |
| 51 |
10
|
nn0cnd |
|- ( ( A e. CC /\ N e. NN ) -> ( N - 1 ) e. CC ) |
| 52 |
35 51
|
subcld |
|- ( ( A e. CC /\ N e. NN ) -> ( A - ( N - 1 ) ) e. CC ) |
| 53 |
50 52
|
mulcomd |
|- ( ( A e. CC /\ N e. NN ) -> ( ( A FallFac ( N - 1 ) ) x. ( A - ( N - 1 ) ) ) = ( ( A - ( N - 1 ) ) x. ( A FallFac ( N - 1 ) ) ) ) |
| 54 |
53
|
oveq2d |
|- ( ( A e. CC /\ N e. NN ) -> ( ( ( A + 1 ) x. ( A FallFac ( N - 1 ) ) ) - ( ( A FallFac ( N - 1 ) ) x. ( A - ( N - 1 ) ) ) ) = ( ( ( A + 1 ) x. ( A FallFac ( N - 1 ) ) ) - ( ( A - ( N - 1 ) ) x. ( A FallFac ( N - 1 ) ) ) ) ) |
| 55 |
1
|
adantr |
|- ( ( A e. CC /\ N e. NN ) -> ( A + 1 ) e. CC ) |
| 56 |
55 52 50
|
subdird |
|- ( ( A e. CC /\ N e. NN ) -> ( ( ( A + 1 ) - ( A - ( N - 1 ) ) ) x. ( A FallFac ( N - 1 ) ) ) = ( ( ( A + 1 ) x. ( A FallFac ( N - 1 ) ) ) - ( ( A - ( N - 1 ) ) x. ( A FallFac ( N - 1 ) ) ) ) ) |
| 57 |
35 36 51
|
pnncand |
|- ( ( A e. CC /\ N e. NN ) -> ( ( A + 1 ) - ( A - ( N - 1 ) ) ) = ( 1 + ( N - 1 ) ) ) |
| 58 |
36 42
|
pncan3d |
|- ( ( A e. CC /\ N e. NN ) -> ( 1 + ( N - 1 ) ) = N ) |
| 59 |
57 58
|
eqtrd |
|- ( ( A e. CC /\ N e. NN ) -> ( ( A + 1 ) - ( A - ( N - 1 ) ) ) = N ) |
| 60 |
59
|
oveq1d |
|- ( ( A e. CC /\ N e. NN ) -> ( ( ( A + 1 ) - ( A - ( N - 1 ) ) ) x. ( A FallFac ( N - 1 ) ) ) = ( N x. ( A FallFac ( N - 1 ) ) ) ) |
| 61 |
54 56 60
|
3eqtr2d |
|- ( ( A e. CC /\ N e. NN ) -> ( ( ( A + 1 ) x. ( A FallFac ( N - 1 ) ) ) - ( ( A FallFac ( N - 1 ) ) x. ( A - ( N - 1 ) ) ) ) = ( N x. ( A FallFac ( N - 1 ) ) ) ) |
| 62 |
48 61
|
eqtrd |
|- ( ( A e. CC /\ N e. NN ) -> ( ( ( A + 1 ) FallFac N ) - ( A FallFac N ) ) = ( N x. ( A FallFac ( N - 1 ) ) ) ) |