| Step | Hyp | Ref | Expression | 
						
							| 1 |  | etransclem4.a |  |-  ( ph -> A C_ CC ) | 
						
							| 2 |  | etransclem4.p |  |-  ( ph -> P e. NN ) | 
						
							| 3 |  | etransclem4.M |  |-  ( ph -> M e. NN0 ) | 
						
							| 4 |  | etransclem4.f |  |-  F = ( x e. A |-> ( ( x ^ ( P - 1 ) ) x. prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) ) | 
						
							| 5 |  | etransclem4.h |  |-  H = ( j e. ( 0 ... M ) |-> ( x e. A |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) | 
						
							| 6 |  | etransclem4.e |  |-  E = ( x e. A |-> prod_ j e. ( 0 ... M ) ( ( H ` j ) ` x ) ) | 
						
							| 7 |  | simpr |  |-  ( ( ph /\ j e. ( 0 ... M ) ) -> j e. ( 0 ... M ) ) | 
						
							| 8 |  | cnex |  |-  CC e. _V | 
						
							| 9 | 8 | ssex |  |-  ( A C_ CC -> A e. _V ) | 
						
							| 10 |  | mptexg |  |-  ( A e. _V -> ( x e. A |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) e. _V ) | 
						
							| 11 | 1 9 10 | 3syl |  |-  ( ph -> ( x e. A |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) e. _V ) | 
						
							| 12 | 11 | adantr |  |-  ( ( ph /\ j e. ( 0 ... M ) ) -> ( x e. A |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) e. _V ) | 
						
							| 13 | 5 | fvmpt2 |  |-  ( ( j e. ( 0 ... M ) /\ ( x e. A |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) e. _V ) -> ( H ` j ) = ( x e. A |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) | 
						
							| 14 | 7 12 13 | syl2anc |  |-  ( ( ph /\ j e. ( 0 ... M ) ) -> ( H ` j ) = ( x e. A |-> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) | 
						
							| 15 |  | ovexd |  |-  ( ( ( ph /\ j e. ( 0 ... M ) ) /\ x e. A ) -> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) e. _V ) | 
						
							| 16 | 14 15 | fvmpt2d |  |-  ( ( ( ph /\ j e. ( 0 ... M ) ) /\ x e. A ) -> ( ( H ` j ) ` x ) = ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) | 
						
							| 17 | 16 | an32s |  |-  ( ( ( ph /\ x e. A ) /\ j e. ( 0 ... M ) ) -> ( ( H ` j ) ` x ) = ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) | 
						
							| 18 | 17 | prodeq2dv |  |-  ( ( ph /\ x e. A ) -> prod_ j e. ( 0 ... M ) ( ( H ` j ) ` x ) = prod_ j e. ( 0 ... M ) ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) | 
						
							| 19 |  | nn0uz |  |-  NN0 = ( ZZ>= ` 0 ) | 
						
							| 20 | 3 19 | eleqtrdi |  |-  ( ph -> M e. ( ZZ>= ` 0 ) ) | 
						
							| 21 | 20 | adantr |  |-  ( ( ph /\ x e. A ) -> M e. ( ZZ>= ` 0 ) ) | 
						
							| 22 | 1 | sselda |  |-  ( ( ph /\ x e. A ) -> x e. CC ) | 
						
							| 23 | 22 | adantr |  |-  ( ( ( ph /\ x e. A ) /\ j e. ( 0 ... M ) ) -> x e. CC ) | 
						
							| 24 |  | elfzelz |  |-  ( j e. ( 0 ... M ) -> j e. ZZ ) | 
						
							| 25 | 24 | zcnd |  |-  ( j e. ( 0 ... M ) -> j e. CC ) | 
						
							| 26 | 25 | adantl |  |-  ( ( ( ph /\ x e. A ) /\ j e. ( 0 ... M ) ) -> j e. CC ) | 
						
							| 27 | 23 26 | subcld |  |-  ( ( ( ph /\ x e. A ) /\ j e. ( 0 ... M ) ) -> ( x - j ) e. CC ) | 
						
							| 28 |  | nnm1nn0 |  |-  ( P e. NN -> ( P - 1 ) e. NN0 ) | 
						
							| 29 | 2 28 | syl |  |-  ( ph -> ( P - 1 ) e. NN0 ) | 
						
							| 30 | 2 | nnnn0d |  |-  ( ph -> P e. NN0 ) | 
						
							| 31 | 29 30 | ifcld |  |-  ( ph -> if ( j = 0 , ( P - 1 ) , P ) e. NN0 ) | 
						
							| 32 | 31 | ad2antrr |  |-  ( ( ( ph /\ x e. A ) /\ j e. ( 0 ... M ) ) -> if ( j = 0 , ( P - 1 ) , P ) e. NN0 ) | 
						
							| 33 | 27 32 | expcld |  |-  ( ( ( ph /\ x e. A ) /\ j e. ( 0 ... M ) ) -> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) e. CC ) | 
						
							| 34 |  | oveq2 |  |-  ( j = 0 -> ( x - j ) = ( x - 0 ) ) | 
						
							| 35 |  | iftrue |  |-  ( j = 0 -> if ( j = 0 , ( P - 1 ) , P ) = ( P - 1 ) ) | 
						
							| 36 | 34 35 | oveq12d |  |-  ( j = 0 -> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) = ( ( x - 0 ) ^ ( P - 1 ) ) ) | 
						
							| 37 | 21 33 36 | fprod1p |  |-  ( ( ph /\ x e. A ) -> prod_ j e. ( 0 ... M ) ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) = ( ( ( x - 0 ) ^ ( P - 1 ) ) x. prod_ j e. ( ( 0 + 1 ) ... M ) ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) ) | 
						
							| 38 | 22 | subid1d |  |-  ( ( ph /\ x e. A ) -> ( x - 0 ) = x ) | 
						
							| 39 | 38 | oveq1d |  |-  ( ( ph /\ x e. A ) -> ( ( x - 0 ) ^ ( P - 1 ) ) = ( x ^ ( P - 1 ) ) ) | 
						
							| 40 |  | 0p1e1 |  |-  ( 0 + 1 ) = 1 | 
						
							| 41 | 40 | oveq1i |  |-  ( ( 0 + 1 ) ... M ) = ( 1 ... M ) | 
						
							| 42 | 41 | a1i |  |-  ( ph -> ( ( 0 + 1 ) ... M ) = ( 1 ... M ) ) | 
						
							| 43 |  | 0red |  |-  ( j e. ( 1 ... M ) -> 0 e. RR ) | 
						
							| 44 |  | 1red |  |-  ( j e. ( 1 ... M ) -> 1 e. RR ) | 
						
							| 45 |  | elfzelz |  |-  ( j e. ( 1 ... M ) -> j e. ZZ ) | 
						
							| 46 | 45 | zred |  |-  ( j e. ( 1 ... M ) -> j e. RR ) | 
						
							| 47 |  | 0lt1 |  |-  0 < 1 | 
						
							| 48 | 47 | a1i |  |-  ( j e. ( 1 ... M ) -> 0 < 1 ) | 
						
							| 49 |  | elfzle1 |  |-  ( j e. ( 1 ... M ) -> 1 <_ j ) | 
						
							| 50 | 43 44 46 48 49 | ltletrd |  |-  ( j e. ( 1 ... M ) -> 0 < j ) | 
						
							| 51 | 50 | gt0ne0d |  |-  ( j e. ( 1 ... M ) -> j =/= 0 ) | 
						
							| 52 | 51 | neneqd |  |-  ( j e. ( 1 ... M ) -> -. j = 0 ) | 
						
							| 53 | 52 | iffalsed |  |-  ( j e. ( 1 ... M ) -> if ( j = 0 , ( P - 1 ) , P ) = P ) | 
						
							| 54 | 53 | oveq2d |  |-  ( j e. ( 1 ... M ) -> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) = ( ( x - j ) ^ P ) ) | 
						
							| 55 | 54 | adantl |  |-  ( ( ph /\ j e. ( 1 ... M ) ) -> ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) = ( ( x - j ) ^ P ) ) | 
						
							| 56 | 42 55 | prodeq12rdv |  |-  ( ph -> prod_ j e. ( ( 0 + 1 ) ... M ) ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) = prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) | 
						
							| 57 | 56 | adantr |  |-  ( ( ph /\ x e. A ) -> prod_ j e. ( ( 0 + 1 ) ... M ) ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) = prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) | 
						
							| 58 | 39 57 | oveq12d |  |-  ( ( ph /\ x e. A ) -> ( ( ( x - 0 ) ^ ( P - 1 ) ) x. prod_ j e. ( ( 0 + 1 ) ... M ) ( ( x - j ) ^ if ( j = 0 , ( P - 1 ) , P ) ) ) = ( ( x ^ ( P - 1 ) ) x. prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) ) | 
						
							| 59 | 18 37 58 | 3eqtrrd |  |-  ( ( ph /\ x e. A ) -> ( ( x ^ ( P - 1 ) ) x. prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) = prod_ j e. ( 0 ... M ) ( ( H ` j ) ` x ) ) | 
						
							| 60 | 59 | mpteq2dva |  |-  ( ph -> ( x e. A |-> ( ( x ^ ( P - 1 ) ) x. prod_ j e. ( 1 ... M ) ( ( x - j ) ^ P ) ) ) = ( x e. A |-> prod_ j e. ( 0 ... M ) ( ( H ` j ) ` x ) ) ) | 
						
							| 61 | 60 4 6 | 3eqtr4g |  |-  ( ph -> F = E ) |