Metamath Proof Explorer


Theorem etransclem45

Description: K is an integer. (Contributed by Glauco Siliprandi, 5-Apr-2020)

Ref Expression
Hypotheses etransclem45.p
|- ( ph -> P e. NN )
etransclem45.m
|- ( ph -> M e. NN0 )
etransclem45.f
|- F = ( x e. RR |-> ( ( x ^ ( P - 1 ) ) x. prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) )
etransclem45.a
|- ( ph -> A : NN0 --> ZZ )
etransclem45.k
|- K = ( sum_ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ( ( A ` ( 1st ` k ) ) x. ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) ) / ( ! ` ( P - 1 ) ) )
Assertion etransclem45
|- ( ph -> K e. ZZ )

Proof

Step Hyp Ref Expression
1 etransclem45.p
 |-  ( ph -> P e. NN )
2 etransclem45.m
 |-  ( ph -> M e. NN0 )
3 etransclem45.f
 |-  F = ( x e. RR |-> ( ( x ^ ( P - 1 ) ) x. prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) )
4 etransclem45.a
 |-  ( ph -> A : NN0 --> ZZ )
5 etransclem45.k
 |-  K = ( sum_ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ( ( A ` ( 1st ` k ) ) x. ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) ) / ( ! ` ( P - 1 ) ) )
6 fzfi
 |-  ( 0 ... M ) e. Fin
7 fzfi
 |-  ( 0 ... R ) e. Fin
8 xpfi
 |-  ( ( ( 0 ... M ) e. Fin /\ ( 0 ... R ) e. Fin ) -> ( ( 0 ... M ) X. ( 0 ... R ) ) e. Fin )
9 6 7 8 mp2an
 |-  ( ( 0 ... M ) X. ( 0 ... R ) ) e. Fin
10 9 a1i
 |-  ( ph -> ( ( 0 ... M ) X. ( 0 ... R ) ) e. Fin )
11 nnm1nn0
 |-  ( P e. NN -> ( P - 1 ) e. NN0 )
12 1 11 syl
 |-  ( ph -> ( P - 1 ) e. NN0 )
13 12 faccld
 |-  ( ph -> ( ! ` ( P - 1 ) ) e. NN )
14 13 nncnd
 |-  ( ph -> ( ! ` ( P - 1 ) ) e. CC )
15 4 adantr
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> A : NN0 --> ZZ )
16 xp1st
 |-  ( k e. ( ( 0 ... M ) X. ( 0 ... R ) ) -> ( 1st ` k ) e. ( 0 ... M ) )
17 elfznn0
 |-  ( ( 1st ` k ) e. ( 0 ... M ) -> ( 1st ` k ) e. NN0 )
18 16 17 syl
 |-  ( k e. ( ( 0 ... M ) X. ( 0 ... R ) ) -> ( 1st ` k ) e. NN0 )
19 18 adantl
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( 1st ` k ) e. NN0 )
20 15 19 ffvelcdmd
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( A ` ( 1st ` k ) ) e. ZZ )
21 20 zcnd
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( A ` ( 1st ` k ) ) e. CC )
22 reelprrecn
 |-  RR e. { RR , CC }
23 22 a1i
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> RR e. { RR , CC } )
24 reopn
 |-  RR e. ( topGen ` ran (,) )
25 tgioo4
 |-  ( topGen ` ran (,) ) = ( ( TopOpen ` CCfld ) |`t RR )
26 24 25 eleqtri
 |-  RR e. ( ( TopOpen ` CCfld ) |`t RR )
27 26 a1i
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> RR e. ( ( TopOpen ` CCfld ) |`t RR ) )
28 1 adantr
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> P e. NN )
29 2 adantr
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> M e. NN0 )
30 xp2nd
 |-  ( k e. ( ( 0 ... M ) X. ( 0 ... R ) ) -> ( 2nd ` k ) e. ( 0 ... R ) )
31 elfznn0
 |-  ( ( 2nd ` k ) e. ( 0 ... R ) -> ( 2nd ` k ) e. NN0 )
32 30 31 syl
 |-  ( k e. ( ( 0 ... M ) X. ( 0 ... R ) ) -> ( 2nd ` k ) e. NN0 )
33 32 adantl
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( 2nd ` k ) e. NN0 )
34 23 27 28 29 3 33 etransclem33
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( ( RR Dn F ) ` ( 2nd ` k ) ) : RR --> CC )
35 19 nn0red
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( 1st ` k ) e. RR )
36 34 35 ffvelcdmd
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) e. CC )
37 21 36 mulcld
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( ( A ` ( 1st ` k ) ) x. ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) ) e. CC )
38 13 nnne0d
 |-  ( ph -> ( ! ` ( P - 1 ) ) =/= 0 )
39 10 14 37 38 fsumdivc
 |-  ( ph -> ( sum_ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ( ( A ` ( 1st ` k ) ) x. ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) ) / ( ! ` ( P - 1 ) ) ) = sum_ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ( ( ( A ` ( 1st ` k ) ) x. ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) ) / ( ! ` ( P - 1 ) ) ) )
40 14 adantr
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( ! ` ( P - 1 ) ) e. CC )
41 38 adantr
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( ! ` ( P - 1 ) ) =/= 0 )
42 21 36 40 41 divassd
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( ( ( A ` ( 1st ` k ) ) x. ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) ) / ( ! ` ( P - 1 ) ) ) = ( ( A ` ( 1st ` k ) ) x. ( ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) / ( ! ` ( P - 1 ) ) ) ) )
43 etransclem5
 |-  ( k e. ( 0 ... M ) |-> ( y e. RR |-> ( ( y - k ) ^ if ( k = 0 , ( P - 1 ) , P ) ) ) ) = ( j e. ( 0 ... M ) |-> ( x e. RR |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) )
44 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 } )
45 16 adantl
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( 1st ` k ) e. ( 0 ... M ) )
46 23 27 28 29 3 33 43 44 45 35 etransclem37
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( ! ` ( P - 1 ) ) || ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) )
47 13 nnzd
 |-  ( ph -> ( ! ` ( P - 1 ) ) e. ZZ )
48 47 adantr
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( ! ` ( P - 1 ) ) e. ZZ )
49 19 nn0zd
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( 1st ` k ) e. ZZ )
50 23 27 28 29 3 33 35 49 etransclem42
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) e. ZZ )
51 dvdsval2
 |-  ( ( ( ! ` ( P - 1 ) ) e. ZZ /\ ( ! ` ( P - 1 ) ) =/= 0 /\ ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) e. ZZ ) -> ( ( ! ` ( P - 1 ) ) || ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) <-> ( ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) / ( ! ` ( P - 1 ) ) ) e. ZZ ) )
52 48 41 50 51 syl3anc
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( ( ! ` ( P - 1 ) ) || ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) <-> ( ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) / ( ! ` ( P - 1 ) ) ) e. ZZ ) )
53 46 52 mpbid
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) / ( ! ` ( P - 1 ) ) ) e. ZZ )
54 20 53 zmulcld
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( ( A ` ( 1st ` k ) ) x. ( ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) / ( ! ` ( P - 1 ) ) ) ) e. ZZ )
55 42 54 eqeltrd
 |-  ( ( ph /\ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ) -> ( ( ( A ` ( 1st ` k ) ) x. ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) ) / ( ! ` ( P - 1 ) ) ) e. ZZ )
56 10 55 fsumzcl
 |-  ( ph -> sum_ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ( ( ( A ` ( 1st ` k ) ) x. ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) ) / ( ! ` ( P - 1 ) ) ) e. ZZ )
57 39 56 eqeltrd
 |-  ( ph -> ( sum_ k e. ( ( 0 ... M ) X. ( 0 ... R ) ) ( ( A ` ( 1st ` k ) ) x. ( ( ( RR Dn F ) ` ( 2nd ` k ) ) ` ( 1st ` k ) ) ) / ( ! ` ( P - 1 ) ) ) e. ZZ )
58 5 57 eqeltrid
 |-  ( ph -> K e. ZZ )