Metamath Proof Explorer


Theorem etransclem31

Description: The N -th derivative of H applied to Y . (Contributed by Glauco Siliprandi, 5-Apr-2020)

Ref Expression
Hypotheses etransclem31.s
|- ( ph -> S e. { RR , CC } )
etransclem31.x
|- ( ph -> X e. ( ( TopOpen ` CCfld ) |`t S ) )
etransclem31.p
|- ( ph -> P e. NN )
etransclem31.m
|- ( ph -> M e. NN0 )
etransclem31.f
|- F = ( x e. X |-> ( ( x ^ ( P - 1 ) ) x. prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) )
etransclem31.n
|- ( ph -> N e. NN0 )
etransclem31.h
|- H = ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) )
etransclem31.c
|- C = ( n e. NN0 |-> { c e. ( ( 0 ... n ) ^m ( 0 ... M ) ) | sum_ j e. ( 0 ... M ) ( c ` j ) = n } )
etransclem31.y
|- ( ph -> Y e. X )
Assertion etransclem31
|- ( ph -> ( ( ( S Dn F ) ` N ) ` Y ) = sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. ( if ( ( P - 1 ) < ( c ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( Y ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) ) x. prod_ j e. ( 1 ... M ) if ( P < ( c ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( P - ( c ` j ) ) ) ) ) ) ) )

Proof

Step Hyp Ref Expression
1 etransclem31.s
 |-  ( ph -> S e. { RR , CC } )
2 etransclem31.x
 |-  ( ph -> X e. ( ( TopOpen ` CCfld ) |`t S ) )
3 etransclem31.p
 |-  ( ph -> P e. NN )
4 etransclem31.m
 |-  ( ph -> M e. NN0 )
5 etransclem31.f
 |-  F = ( x e. X |-> ( ( x ^ ( P - 1 ) ) x. prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) )
6 etransclem31.n
 |-  ( ph -> N e. NN0 )
7 etransclem31.h
 |-  H = ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) )
8 etransclem31.c
 |-  C = ( n e. NN0 |-> { c e. ( ( 0 ... n ) ^m ( 0 ... M ) ) | sum_ j e. ( 0 ... M ) ( c ` j ) = n } )
9 etransclem31.y
 |-  ( ph -> Y e. X )
10 1 2 3 4 5 6 7 8 etransclem30
 |-  ( ph -> ( ( S Dn F ) ` N ) = ( x e. X |-> sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` x ) ) ) )
11 fveq2
 |-  ( x = Y -> ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` x ) = ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) )
12 11 prodeq2ad
 |-  ( x = Y -> prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` x ) = prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) )
13 12 oveq2d
 |-  ( x = Y -> ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` x ) ) = ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) ) )
14 13 sumeq2sdv
 |-  ( x = Y -> sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` x ) ) = sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) ) )
15 14 adantl
 |-  ( ( ph /\ x = Y ) -> sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` x ) ) = sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) ) )
16 8 6 etransclem16
 |-  ( ph -> ( C ` N ) e. Fin )
17 6 faccld
 |-  ( ph -> ( ! ` N ) e. NN )
18 17 nncnd
 |-  ( ph -> ( ! ` N ) e. CC )
19 18 adantr
 |-  ( ( ph /\ c e. ( C ` N ) ) -> ( ! ` N ) e. CC )
20 fzfid
 |-  ( ( ph /\ c e. ( C ` N ) ) -> ( 0 ... M ) e. Fin )
21 fzssnn0
 |-  ( 0 ... N ) C_ NN0
22 ssrab2
 |-  { c e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ j e. ( 0 ... M ) ( c ` j ) = N } C_ ( ( 0 ... N ) ^m ( 0 ... M ) )
23 simpr
 |-  ( ( ph /\ c e. ( C ` N ) ) -> c e. ( C ` N ) )
24 8 6 etransclem12
 |-  ( ph -> ( C ` N ) = { c e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ j e. ( 0 ... M ) ( c ` j ) = N } )
25 24 adantr
 |-  ( ( ph /\ c e. ( C ` N ) ) -> ( C ` N ) = { c e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ j e. ( 0 ... M ) ( c ` j ) = N } )
26 23 25 eleqtrd
 |-  ( ( ph /\ c e. ( C ` N ) ) -> c e. { c e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ j e. ( 0 ... M ) ( c ` j ) = N } )
27 22 26 sseldi
 |-  ( ( ph /\ c e. ( C ` N ) ) -> c e. ( ( 0 ... N ) ^m ( 0 ... M ) ) )
28 27 adantr
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> c e. ( ( 0 ... N ) ^m ( 0 ... M ) ) )
29 elmapi
 |-  ( c e. ( ( 0 ... N ) ^m ( 0 ... M ) ) -> c : ( 0 ... M ) --> ( 0 ... N ) )
30 28 29 syl
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> c : ( 0 ... M ) --> ( 0 ... N ) )
31 simpr
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> j e. ( 0 ... M ) )
32 30 31 ffvelrnd
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> ( c ` j ) e. ( 0 ... N ) )
33 21 32 sseldi
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> ( c ` j ) e. NN0 )
34 33 faccld
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> ( ! ` ( c ` j ) ) e. NN )
35 34 nncnd
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> ( ! ` ( c ` j ) ) e. CC )
36 20 35 fprodcl
 |-  ( ( ph /\ c e. ( C ` N ) ) -> prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) e. CC )
37 34 nnne0d
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> ( ! ` ( c ` j ) ) =/= 0 )
38 20 35 37 fprodn0
 |-  ( ( ph /\ c e. ( C ` N ) ) -> prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) =/= 0 )
39 19 36 38 divcld
 |-  ( ( ph /\ c e. ( C ` N ) ) -> ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) e. CC )
40 1 ad2antrr
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> S e. { RR , CC } )
41 2 ad2antrr
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> X e. ( ( TopOpen ` CCfld ) |`t S ) )
42 3 ad2antrr
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> P e. NN )
43 etransclem5
 |-  ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) = ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) )
44 7 43 eqtri
 |-  H = ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) )
45 40 41 42 44 31 33 etransclem20
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) : X --> CC )
46 9 ad2antrr
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> Y e. X )
47 45 46 ffvelrnd
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) e. CC )
48 20 47 fprodcl
 |-  ( ( ph /\ c e. ( C ` N ) ) -> prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) e. CC )
49 39 48 mulcld
 |-  ( ( ph /\ c e. ( C ` N ) ) -> ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) ) e. CC )
50 16 49 fsumcl
 |-  ( ph -> sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) ) e. CC )
51 10 15 9 50 fvmptd
 |-  ( ph -> ( ( ( S Dn F ) ` N ) ` Y ) = sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) ) )
52 40 41 42 44 31 33 46 etransclem21
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) = if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) ) )
53 52 prodeq2dv
 |-  ( ( ph /\ c e. ( C ` N ) ) -> prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) = prod_ j e. ( 0 ... M ) if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) ) )
54 nn0uz
 |-  NN0 = ( ZZ>= ` 0 )
55 4 54 eleqtrdi
 |-  ( ph -> M e. ( ZZ>= ` 0 ) )
56 55 adantr
 |-  ( ( ph /\ c e. ( C ` N ) ) -> M e. ( ZZ>= ` 0 ) )
57 52 47 eqeltrrd
 |-  ( ( ( ph /\ c e. ( C ` N ) ) /\ j e. ( 0 ... M ) ) -> if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) ) e. CC )
58 iftrue
 |-  ( j = 0 -> if ( j = 0 , ( P - 1 ) , P ) = ( P - 1 ) )
59 fveq2
 |-  ( j = 0 -> ( c ` j ) = ( c ` 0 ) )
60 58 59 breq12d
 |-  ( j = 0 -> ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) <-> ( P - 1 ) < ( c ` 0 ) ) )
61 58 fveq2d
 |-  ( j = 0 -> ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) = ( ! ` ( P - 1 ) ) )
62 58 59 oveq12d
 |-  ( j = 0 -> ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) = ( ( P - 1 ) - ( c ` 0 ) ) )
63 62 fveq2d
 |-  ( j = 0 -> ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) = ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) )
64 61 63 oveq12d
 |-  ( j = 0 -> ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) = ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) )
65 oveq2
 |-  ( j = 0 -> ( Y - j ) = ( Y - 0 ) )
66 65 62 oveq12d
 |-  ( j = 0 -> ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) = ( ( Y - 0 ) ^ ( ( P - 1 ) - ( c ` 0 ) ) ) )
67 64 66 oveq12d
 |-  ( j = 0 -> ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) = ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( ( Y - 0 ) ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) )
68 60 67 ifbieq2d
 |-  ( j = 0 -> if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) ) = if ( ( P - 1 ) < ( c ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( ( Y - 0 ) ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) ) )
69 56 57 68 fprod1p
 |-  ( ( ph /\ c e. ( C ` N ) ) -> prod_ j e. ( 0 ... M ) if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) ) = ( if ( ( P - 1 ) < ( c ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( ( Y - 0 ) ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) ) x. prod_ j e. ( ( 0 + 1 ) ... M ) if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) ) ) )
70 1 2 dvdmsscn
 |-  ( ph -> X C_ CC )
71 70 9 sseldd
 |-  ( ph -> Y e. CC )
72 71 subid1d
 |-  ( ph -> ( Y - 0 ) = Y )
73 72 oveq1d
 |-  ( ph -> ( ( Y - 0 ) ^ ( ( P - 1 ) - ( c ` 0 ) ) ) = ( Y ^ ( ( P - 1 ) - ( c ` 0 ) ) ) )
74 73 oveq2d
 |-  ( ph -> ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( ( Y - 0 ) ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) = ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( Y ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) )
75 74 ifeq2d
 |-  ( ph -> if ( ( P - 1 ) < ( c ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( ( Y - 0 ) ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) ) = if ( ( P - 1 ) < ( c ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( Y ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) ) )
76 0p1e1
 |-  ( 0 + 1 ) = 1
77 76 oveq1i
 |-  ( ( 0 + 1 ) ... M ) = ( 1 ... M )
78 77 prodeq1i
 |-  prod_ j e. ( ( 0 + 1 ) ... M ) if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) ) = prod_ j e. ( 1 ... M ) if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) )
79 0red
 |-  ( j e. ( 1 ... M ) -> 0 e. RR )
80 1red
 |-  ( j e. ( 1 ... M ) -> 1 e. RR )
81 elfzelz
 |-  ( j e. ( 1 ... M ) -> j e. ZZ )
82 81 zred
 |-  ( j e. ( 1 ... M ) -> j e. RR )
83 0lt1
 |-  0 < 1
84 83 a1i
 |-  ( j e. ( 1 ... M ) -> 0 < 1 )
85 elfzle1
 |-  ( j e. ( 1 ... M ) -> 1 <_ j )
86 79 80 82 84 85 ltletrd
 |-  ( j e. ( 1 ... M ) -> 0 < j )
87 86 gt0ne0d
 |-  ( j e. ( 1 ... M ) -> j =/= 0 )
88 87 neneqd
 |-  ( j e. ( 1 ... M ) -> -. j = 0 )
89 88 iffalsed
 |-  ( j e. ( 1 ... M ) -> if ( j = 0 , ( P - 1 ) , P ) = P )
90 89 breq1d
 |-  ( j e. ( 1 ... M ) -> ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) <-> P < ( c ` j ) ) )
91 89 fveq2d
 |-  ( j e. ( 1 ... M ) -> ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) = ( ! ` P ) )
92 89 oveq1d
 |-  ( j e. ( 1 ... M ) -> ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) = ( P - ( c ` j ) ) )
93 92 fveq2d
 |-  ( j e. ( 1 ... M ) -> ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) = ( ! ` ( P - ( c ` j ) ) ) )
94 91 93 oveq12d
 |-  ( j e. ( 1 ... M ) -> ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) = ( ( ! ` P ) / ( ! ` ( P - ( c ` j ) ) ) ) )
95 92 oveq2d
 |-  ( j e. ( 1 ... M ) -> ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) = ( ( Y - j ) ^ ( P - ( c ` j ) ) ) )
96 94 95 oveq12d
 |-  ( j e. ( 1 ... M ) -> ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) = ( ( ( ! ` P ) / ( ! ` ( P - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( P - ( c ` j ) ) ) ) )
97 90 96 ifbieq2d
 |-  ( j e. ( 1 ... M ) -> if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) ) = if ( P < ( c ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( P - ( c ` j ) ) ) ) ) )
98 97 prodeq2i
 |-  prod_ j e. ( 1 ... M ) if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) ) = prod_ j e. ( 1 ... M ) if ( P < ( c ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( P - ( c ` j ) ) ) ) )
99 78 98 eqtri
 |-  prod_ j e. ( ( 0 + 1 ) ... M ) if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) ) = prod_ j e. ( 1 ... M ) if ( P < ( c ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( P - ( c ` j ) ) ) ) )
100 99 a1i
 |-  ( ph -> prod_ j e. ( ( 0 + 1 ) ... M ) if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) ) = prod_ j e. ( 1 ... M ) if ( P < ( c ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( P - ( c ` j ) ) ) ) ) )
101 75 100 oveq12d
 |-  ( ph -> ( if ( ( P - 1 ) < ( c ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( ( Y - 0 ) ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) ) x. prod_ j e. ( ( 0 + 1 ) ... M ) if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) ) ) = ( if ( ( P - 1 ) < ( c ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( Y ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) ) x. prod_ j e. ( 1 ... M ) if ( P < ( c ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( P - ( c ` j ) ) ) ) ) ) )
102 101 adantr
 |-  ( ( ph /\ c e. ( C ` N ) ) -> ( if ( ( P - 1 ) < ( c ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( ( Y - 0 ) ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) ) x. prod_ j e. ( ( 0 + 1 ) ... M ) if ( if ( j = 0 , ( P - 1 ) , P ) < ( c ` j ) , 0 , ( ( ( ! ` if ( j = 0 , ( P - 1 ) , P ) ) / ( ! ` ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( if ( j = 0 , ( P - 1 ) , P ) - ( c ` j ) ) ) ) ) ) = ( if ( ( P - 1 ) < ( c ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( Y ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) ) x. prod_ j e. ( 1 ... M ) if ( P < ( c ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( P - ( c ` j ) ) ) ) ) ) )
103 53 69 102 3eqtrd
 |-  ( ( ph /\ c e. ( C ` N ) ) -> prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) = ( if ( ( P - 1 ) < ( c ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( Y ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) ) x. prod_ j e. ( 1 ... M ) if ( P < ( c ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( P - ( c ` j ) ) ) ) ) ) )
104 103 oveq2d
 |-  ( ( ph /\ c e. ( C ` N ) ) -> ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) ) = ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. ( if ( ( P - 1 ) < ( c ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( Y ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) ) x. prod_ j e. ( 1 ... M ) if ( P < ( c ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( P - ( c ` j ) ) ) ) ) ) ) )
105 104 sumeq2dv
 |-  ( ph -> sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( H ` j ) ) ` ( c ` j ) ) ` Y ) ) = sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. ( if ( ( P - 1 ) < ( c ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( Y ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) ) x. prod_ j e. ( 1 ... M ) if ( P < ( c ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( P - ( c ` j ) ) ) ) ) ) ) )
106 51 105 eqtrd
 |-  ( ph -> ( ( ( S Dn F ) ` N ) ` Y ) = sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. ( if ( ( P - 1 ) < ( c ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( c ` 0 ) ) ) ) x. ( Y ^ ( ( P - 1 ) - ( c ` 0 ) ) ) ) ) x. prod_ j e. ( 1 ... M ) if ( P < ( c ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( c ` j ) ) ) ) x. ( ( Y - j ) ^ ( P - ( c ` j ) ) ) ) ) ) ) )