Metamath Proof Explorer


Theorem etransclem33

Description: F is smooth. (Contributed by Glauco Siliprandi, 5-Apr-2020)

Ref Expression
Hypotheses etransclem33.s
|- ( ph -> S e. { RR , CC } )
etransclem33.x
|- ( ph -> X e. ( ( TopOpen ` CCfld ) |`t S ) )
etransclem33.p
|- ( ph -> P e. NN )
etransclem33.m
|- ( ph -> M e. NN0 )
etransclem33.f
|- F = ( x e. X |-> ( ( x ^ ( P - 1 ) ) x. prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) )
etransclem33.n
|- ( ph -> N e. NN0 )
Assertion etransclem33
|- ( ph -> ( ( S Dn F ) ` N ) : X --> CC )

Proof

Step Hyp Ref Expression
1 etransclem33.s
 |-  ( ph -> S e. { RR , CC } )
2 etransclem33.x
 |-  ( ph -> X e. ( ( TopOpen ` CCfld ) |`t S ) )
3 etransclem33.p
 |-  ( ph -> P e. NN )
4 etransclem33.m
 |-  ( ph -> M e. NN0 )
5 etransclem33.f
 |-  F = ( x e. X |-> ( ( x ^ ( P - 1 ) ) x. prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) )
6 etransclem33.n
 |-  ( ph -> N e. NN0 )
7 eqidd
 |-  ( ph -> ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) = ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) )
8 oveq2
 |-  ( m = N -> ( 0 ... m ) = ( 0 ... N ) )
9 8 oveq1d
 |-  ( m = N -> ( ( 0 ... m ) ^m ( 0 ... M ) ) = ( ( 0 ... N ) ^m ( 0 ... M ) ) )
10 eqeq2
 |-  ( m = N -> ( sum_ k e. ( 0 ... M ) ( d ` k ) = m <-> sum_ k e. ( 0 ... M ) ( d ` k ) = N ) )
11 9 10 rabeqbidv
 |-  ( m = N -> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } = { d e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = N } )
12 11 adantl
 |-  ( ( ph /\ m = N ) -> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } = { d e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = N } )
13 ovex
 |-  ( ( 0 ... N ) ^m ( 0 ... M ) ) e. _V
14 13 rabex
 |-  { d e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = N } e. _V
15 14 a1i
 |-  ( ph -> { d e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = N } e. _V )
16 7 12 6 15 fvmptd
 |-  ( ph -> ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) = { d e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = N } )
17 fzfi
 |-  ( 0 ... N ) e. Fin
18 fzfi
 |-  ( 0 ... M ) e. Fin
19 mapfi
 |-  ( ( ( 0 ... N ) e. Fin /\ ( 0 ... M ) e. Fin ) -> ( ( 0 ... N ) ^m ( 0 ... M ) ) e. Fin )
20 17 18 19 mp2an
 |-  ( ( 0 ... N ) ^m ( 0 ... M ) ) e. Fin
21 ssrab2
 |-  { d e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = N } C_ ( ( 0 ... N ) ^m ( 0 ... M ) )
22 ssfi
 |-  ( ( ( ( 0 ... N ) ^m ( 0 ... M ) ) e. Fin /\ { d e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = N } C_ ( ( 0 ... N ) ^m ( 0 ... M ) ) ) -> { d e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = N } e. Fin )
23 20 21 22 mp2an
 |-  { d e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = N } e. Fin
24 16 23 eqeltrdi
 |-  ( ph -> ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) e. Fin )
25 24 adantr
 |-  ( ( ph /\ x e. X ) -> ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) e. Fin )
26 6 faccld
 |-  ( ph -> ( ! ` N ) e. NN )
27 26 nncnd
 |-  ( ph -> ( ! ` N ) e. CC )
28 27 ad2antrr
 |-  ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) -> ( ! ` N ) e. CC )
29 18 a1i
 |-  ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) -> ( 0 ... M ) e. Fin )
30 simpr
 |-  ( ( ph /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) -> c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) )
31 16 adantr
 |-  ( ( ph /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) -> ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) = { d e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = N } )
32 30 31 eleqtrd
 |-  ( ( ph /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) -> c e. { d e. ( ( 0 ... N ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = N } )
33 21 32 sselid
 |-  ( ( ph /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) -> c e. ( ( 0 ... N ) ^m ( 0 ... M ) ) )
34 elmapi
 |-  ( c e. ( ( 0 ... N ) ^m ( 0 ... M ) ) -> c : ( 0 ... M ) --> ( 0 ... N ) )
35 33 34 syl
 |-  ( ( ph /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) -> c : ( 0 ... M ) --> ( 0 ... N ) )
36 35 ffvelrnda
 |-  ( ( ( ph /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) /\ j e. ( 0 ... M ) ) -> ( c ` j ) e. ( 0 ... N ) )
37 36 adantllr
 |-  ( ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) /\ j e. ( 0 ... M ) ) -> ( c ` j ) e. ( 0 ... N ) )
38 elfznn0
 |-  ( ( c ` j ) e. ( 0 ... N ) -> ( c ` j ) e. NN0 )
39 37 38 syl
 |-  ( ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) /\ j e. ( 0 ... M ) ) -> ( c ` j ) e. NN0 )
40 39 faccld
 |-  ( ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) /\ j e. ( 0 ... M ) ) -> ( ! ` ( c ` j ) ) e. NN )
41 40 nncnd
 |-  ( ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) /\ j e. ( 0 ... M ) ) -> ( ! ` ( c ` j ) ) e. CC )
42 29 41 fprodcl
 |-  ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) -> prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) e. CC )
43 40 nnne0d
 |-  ( ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) /\ j e. ( 0 ... M ) ) -> ( ! ` ( c ` j ) ) =/= 0 )
44 29 41 43 fprodn0
 |-  ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) -> prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) =/= 0 )
45 28 42 44 divcld
 |-  ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) -> ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) e. CC )
46 1 ad3antrrr
 |-  ( ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) /\ j e. ( 0 ... M ) ) -> S e. { RR , CC } )
47 2 ad3antrrr
 |-  ( ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) /\ j e. ( 0 ... M ) ) -> X e. ( ( TopOpen ` CCfld ) |`t S ) )
48 3 ad3antrrr
 |-  ( ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) /\ j e. ( 0 ... M ) ) -> P e. NN )
49 etransclem5
 |-  ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) ) = ( w e. ( 0 ... M ) |-> ( z e. X |-> ( ( z - w ) ^ if ( w = 0 , ( P - 1 ) , P ) ) ) )
50 simpr
 |-  ( ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) /\ j e. ( 0 ... M ) ) -> j e. ( 0 ... M ) )
51 46 47 48 49 50 39 etransclem20
 |-  ( ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) /\ j e. ( 0 ... M ) ) -> ( ( S Dn ( ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ) ` ( c ` j ) ) : X --> CC )
52 simpllr
 |-  ( ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) /\ j e. ( 0 ... M ) ) -> x e. X )
53 51 52 ffvelrnd
 |-  ( ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) /\ j e. ( 0 ... M ) ) -> ( ( ( S Dn ( ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ) ` ( c ` j ) ) ` x ) e. CC )
54 29 53 fprodcl
 |-  ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) -> prod_ j e. ( 0 ... M ) ( ( ( S Dn ( ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ) ` ( c ` j ) ) ` x ) e. CC )
55 45 54 mulcld
 |-  ( ( ( ph /\ x e. X ) /\ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ) -> ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ) ` ( c ` j ) ) ` x ) ) e. CC )
56 25 55 fsumcl
 |-  ( ( ph /\ x e. X ) -> sum_ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ) ` ( c ` j ) ) ` x ) ) e. CC )
57 eqid
 |-  ( x e. X |-> sum_ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ) ` ( c ` j ) ) ` x ) ) ) = ( x e. X |-> sum_ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ) ` ( c ` j ) ) ` x ) ) )
58 56 57 fmptd
 |-  ( ph -> ( x e. X |-> sum_ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ) ` ( c ` j ) ) ` x ) ) ) : X --> CC )
59 etransclem5
 |-  ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) ) = ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) )
60 etransclem11
 |-  ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) = ( n e. NN0 |-> { c e. ( ( 0 ... n ) ^m ( 0 ... M ) ) | sum_ j e. ( 0 ... M ) ( c ` j ) = n } )
61 1 2 3 4 5 6 59 60 etransclem30
 |-  ( ph -> ( ( S Dn F ) ` N ) = ( x e. X |-> sum_ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ) ` ( c ` j ) ) ` x ) ) ) )
62 61 feq1d
 |-  ( ph -> ( ( ( S Dn F ) ` N ) : X --> CC <-> ( x e. X |-> sum_ c e. ( ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m ( 0 ... M ) ) | sum_ k e. ( 0 ... M ) ( d ` k ) = m } ) ` N ) ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( c ` j ) ) ) x. prod_ j e. ( 0 ... M ) ( ( ( S Dn ( ( k e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ) ` ( c ` j ) ) ` x ) ) ) : X --> CC ) )
63 58 62 mpbird
 |-  ( ph -> ( ( S Dn F ) ` N ) : X --> CC )