Metamath Proof Explorer


Theorem etransclem13

Description: F applied to Y . (Contributed by Glauco Siliprandi, 5-Apr-2020)

Ref Expression
Hypotheses etransclem13.x
|- ( ph -> X C_ CC )
etransclem13.p
|- ( ph -> P e. NN )
etransclem13.m
|- ( ph -> M e. NN0 )
etransclem13.f
|- F = ( x e. X |-> ( ( x ^ ( P - 1 ) ) x. prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) )
etransclem13.y
|- ( ph -> Y e. X )
Assertion etransclem13
|- ( ph -> ( F ` Y ) = prod_ j e. ( 0 ... M ) ( ( Y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) )

Proof

Step Hyp Ref Expression
1 etransclem13.x
 |-  ( ph -> X C_ CC )
2 etransclem13.p
 |-  ( ph -> P e. NN )
3 etransclem13.m
 |-  ( ph -> M e. NN0 )
4 etransclem13.f
 |-  F = ( x e. X |-> ( ( x ^ ( P - 1 ) ) x. prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) )
5 etransclem13.y
 |-  ( ph -> Y e. X )
6 eqid
 |-  ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) = ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) )
7 eqid
 |-  ( x e. X |-> prod_ j e. ( 0 ... M ) ( ( ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ` x ) ) = ( x e. X |-> prod_ j e. ( 0 ... M ) ( ( ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ` x ) )
8 1 2 3 4 6 7 etransclem4
 |-  ( ph -> F = ( x e. X |-> prod_ j e. ( 0 ... M ) ( ( ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ` x ) ) )
9 simpr
 |-  ( ( ph /\ j e. ( 0 ... M ) ) -> j e. ( 0 ... M ) )
10 cnex
 |-  CC e. _V
11 10 ssex
 |-  ( X C_ CC -> X e. _V )
12 mptexg
 |-  ( X e. _V -> ( y e. X |-> ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) e. _V )
13 1 11 12 3syl
 |-  ( ph -> ( y e. X |-> ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) e. _V )
14 13 adantr
 |-  ( ( ph /\ j e. ( 0 ... M ) ) -> ( y e. X |-> ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) e. _V )
15 oveq1
 |-  ( x = y -> ( x - j ) = ( y - j ) )
16 15 oveq1d
 |-  ( x = y -> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) = ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) )
17 16 cbvmptv
 |-  ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) = ( y e. X |-> ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) )
18 17 mpteq2i
 |-  ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) = ( j e. ( 0 ... M ) |-> ( y e. X |-> ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) )
19 18 fvmpt2
 |-  ( ( j e. ( 0 ... M ) /\ ( y e. X |-> ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) e. _V ) -> ( ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) ` j ) = ( y e. X |-> ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) )
20 9 14 19 syl2anc
 |-  ( ( ph /\ j e. ( 0 ... M ) ) -> ( ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) ` j ) = ( y e. X |-> ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) )
21 20 adantlr
 |-  ( ( ( ph /\ x = Y ) /\ j e. ( 0 ... M ) ) -> ( ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) ` j ) = ( y e. X |-> ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) )
22 simpr
 |-  ( ( x = Y /\ y = x ) -> y = x )
23 simpl
 |-  ( ( x = Y /\ y = x ) -> x = Y )
24 22 23 eqtrd
 |-  ( ( x = Y /\ y = x ) -> y = Y )
25 oveq1
 |-  ( y = Y -> ( y - j ) = ( Y - j ) )
26 25 oveq1d
 |-  ( y = Y -> ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) = ( ( Y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) )
27 24 26 syl
 |-  ( ( x = Y /\ y = x ) -> ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) = ( ( Y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) )
28 27 adantll
 |-  ( ( ( ph /\ x = Y ) /\ y = x ) -> ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) = ( ( Y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) )
29 28 adantlr
 |-  ( ( ( ( ph /\ x = Y ) /\ j e. ( 0 ... M ) ) /\ y = x ) -> ( ( y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) = ( ( Y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) )
30 simpr
 |-  ( ( ph /\ x = Y ) -> x = Y )
31 5 adantr
 |-  ( ( ph /\ x = Y ) -> Y e. X )
32 30 31 eqeltrd
 |-  ( ( ph /\ x = Y ) -> x e. X )
33 32 adantr
 |-  ( ( ( ph /\ x = Y ) /\ j e. ( 0 ... M ) ) -> x e. X )
34 ovexd
 |-  ( ( ( ph /\ x = Y ) /\ j e. ( 0 ... M ) ) -> ( ( Y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) e. _V )
35 21 29 33 34 fvmptd
 |-  ( ( ( ph /\ x = Y ) /\ j e. ( 0 ... M ) ) -> ( ( ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ` x ) = ( ( Y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) )
36 35 prodeq2dv
 |-  ( ( ph /\ x = Y ) -> prod_ j e. ( 0 ... M ) ( ( ( j e. ( 0 ... M ) |-> ( x e. X |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) ` j ) ` x ) = prod_ j e. ( 0 ... M ) ( ( Y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) )
37 prodex
 |-  prod_ j e. ( 0 ... M ) ( ( Y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) e. _V
38 37 a1i
 |-  ( ph -> prod_ j e. ( 0 ... M ) ( ( Y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) e. _V )
39 8 36 5 38 fvmptd
 |-  ( ph -> ( F ` Y ) = prod_ j e. ( 0 ... M ) ( ( Y - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) )