| Step | Hyp | Ref | Expression | 
						
							| 1 |  | etransclem25.p |  |-  ( ph -> P e. NN ) | 
						
							| 2 |  | etransclem25.m |  |-  ( ph -> M e. NN0 ) | 
						
							| 3 |  | etransclem25.n |  |-  ( ph -> N e. NN0 ) | 
						
							| 4 |  | etransclem25.c |  |-  ( ph -> C : ( 0 ... M ) --> ( 0 ... N ) ) | 
						
							| 5 |  | etransclem25.sumc |  |-  ( ph -> sum_ j e. ( 0 ... M ) ( C ` j ) = N ) | 
						
							| 6 |  | etransclem25.t |  |-  T = ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) x. ( if ( ( P - 1 ) < ( C ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( C ` 0 ) ) ) ) x. ( J ^ ( ( P - 1 ) - ( C ` 0 ) ) ) ) ) x. prod_ j e. ( 1 ... M ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) ) ) | 
						
							| 7 |  | etransclem25.j |  |-  ( ph -> J e. ( 1 ... M ) ) | 
						
							| 8 | 1 | nnnn0d |  |-  ( ph -> P e. NN0 ) | 
						
							| 9 | 8 | faccld |  |-  ( ph -> ( ! ` P ) e. NN ) | 
						
							| 10 | 9 | nnzd |  |-  ( ph -> ( ! ` P ) e. ZZ ) | 
						
							| 11 | 5 | eqcomd |  |-  ( ph -> N = sum_ j e. ( 0 ... M ) ( C ` j ) ) | 
						
							| 12 | 11 | fveq2d |  |-  ( ph -> ( ! ` N ) = ( ! ` sum_ j e. ( 0 ... M ) ( C ` j ) ) ) | 
						
							| 13 | 12 | oveq1d |  |-  ( ph -> ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) = ( ( ! ` sum_ j e. ( 0 ... M ) ( C ` j ) ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) ) | 
						
							| 14 |  | nfcv |  |-  F/_ j C | 
						
							| 15 |  | fzfid |  |-  ( ph -> ( 0 ... M ) e. Fin ) | 
						
							| 16 |  | nn0ex |  |-  NN0 e. _V | 
						
							| 17 |  | fzssnn0 |  |-  ( 0 ... N ) C_ NN0 | 
						
							| 18 |  | mapss |  |-  ( ( NN0 e. _V /\ ( 0 ... N ) C_ NN0 ) -> ( ( 0 ... N ) ^m ( 0 ... M ) ) C_ ( NN0 ^m ( 0 ... M ) ) ) | 
						
							| 19 | 16 17 18 | mp2an |  |-  ( ( 0 ... N ) ^m ( 0 ... M ) ) C_ ( NN0 ^m ( 0 ... M ) ) | 
						
							| 20 |  | ovex |  |-  ( 0 ... N ) e. _V | 
						
							| 21 |  | ovexd |  |-  ( C : ( 0 ... M ) --> ( 0 ... N ) -> ( 0 ... M ) e. _V ) | 
						
							| 22 |  | elmapg |  |-  ( ( ( 0 ... N ) e. _V /\ ( 0 ... M ) e. _V ) -> ( C e. ( ( 0 ... N ) ^m ( 0 ... M ) ) <-> C : ( 0 ... M ) --> ( 0 ... N ) ) ) | 
						
							| 23 | 20 21 22 | sylancr |  |-  ( C : ( 0 ... M ) --> ( 0 ... N ) -> ( C e. ( ( 0 ... N ) ^m ( 0 ... M ) ) <-> C : ( 0 ... M ) --> ( 0 ... N ) ) ) | 
						
							| 24 | 23 | ibir |  |-  ( C : ( 0 ... M ) --> ( 0 ... N ) -> C e. ( ( 0 ... N ) ^m ( 0 ... M ) ) ) | 
						
							| 25 | 19 24 | sselid |  |-  ( C : ( 0 ... M ) --> ( 0 ... N ) -> C e. ( NN0 ^m ( 0 ... M ) ) ) | 
						
							| 26 | 4 25 | syl |  |-  ( ph -> C e. ( NN0 ^m ( 0 ... M ) ) ) | 
						
							| 27 | 14 15 26 | mccl |  |-  ( ph -> ( ( ! ` sum_ j e. ( 0 ... M ) ( C ` j ) ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) e. NN ) | 
						
							| 28 | 13 27 | eqeltrd |  |-  ( ph -> ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) e. NN ) | 
						
							| 29 | 28 | nnzd |  |-  ( ph -> ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) e. ZZ ) | 
						
							| 30 | 7 | elfzelzd |  |-  ( ph -> J e. ZZ ) | 
						
							| 31 | 1 2 4 30 | etransclem10 |  |-  ( ph -> if ( ( P - 1 ) < ( C ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( C ` 0 ) ) ) ) x. ( J ^ ( ( P - 1 ) - ( C ` 0 ) ) ) ) ) e. ZZ ) | 
						
							| 32 | 29 31 | zmulcld |  |-  ( ph -> ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) x. if ( ( P - 1 ) < ( C ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( C ` 0 ) ) ) ) x. ( J ^ ( ( P - 1 ) - ( C ` 0 ) ) ) ) ) ) e. ZZ ) | 
						
							| 33 |  | fzfid |  |-  ( ph -> ( 1 ... M ) e. Fin ) | 
						
							| 34 | 1 | adantr |  |-  ( ( ph /\ j e. ( 1 ... M ) ) -> P e. NN ) | 
						
							| 35 | 4 | adantr |  |-  ( ( ph /\ j e. ( 1 ... M ) ) -> C : ( 0 ... M ) --> ( 0 ... N ) ) | 
						
							| 36 |  | 0z |  |-  0 e. ZZ | 
						
							| 37 |  | fzp1ss |  |-  ( 0 e. ZZ -> ( ( 0 + 1 ) ... M ) C_ ( 0 ... M ) ) | 
						
							| 38 | 36 37 | ax-mp |  |-  ( ( 0 + 1 ) ... M ) C_ ( 0 ... M ) | 
						
							| 39 |  | id |  |-  ( j e. ( 1 ... M ) -> j e. ( 1 ... M ) ) | 
						
							| 40 |  | 1e0p1 |  |-  1 = ( 0 + 1 ) | 
						
							| 41 | 40 | oveq1i |  |-  ( 1 ... M ) = ( ( 0 + 1 ) ... M ) | 
						
							| 42 | 39 41 | eleqtrdi |  |-  ( j e. ( 1 ... M ) -> j e. ( ( 0 + 1 ) ... M ) ) | 
						
							| 43 | 38 42 | sselid |  |-  ( j e. ( 1 ... M ) -> j e. ( 0 ... M ) ) | 
						
							| 44 | 43 | adantl |  |-  ( ( ph /\ j e. ( 1 ... M ) ) -> j e. ( 0 ... M ) ) | 
						
							| 45 | 30 | adantr |  |-  ( ( ph /\ j e. ( 1 ... M ) ) -> J e. ZZ ) | 
						
							| 46 | 34 35 44 45 | etransclem3 |  |-  ( ( ph /\ j e. ( 1 ... M ) ) -> if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) e. ZZ ) | 
						
							| 47 | 33 46 | fprodzcl |  |-  ( ph -> prod_ j e. ( 1 ... M ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) e. ZZ ) | 
						
							| 48 | 10 32 47 | 3jca |  |-  ( ph -> ( ( ! ` P ) e. ZZ /\ ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) x. if ( ( P - 1 ) < ( C ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( C ` 0 ) ) ) ) x. ( J ^ ( ( P - 1 ) - ( C ` 0 ) ) ) ) ) ) e. ZZ /\ prod_ j e. ( 1 ... M ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) e. ZZ ) ) | 
						
							| 49 | 30 | zcnd |  |-  ( ph -> J e. CC ) | 
						
							| 50 | 49 | subidd |  |-  ( ph -> ( J - J ) = 0 ) | 
						
							| 51 | 50 | eqcomd |  |-  ( ph -> 0 = ( J - J ) ) | 
						
							| 52 | 51 | oveq1d |  |-  ( ph -> ( 0 ^ ( P - ( C ` J ) ) ) = ( ( J - J ) ^ ( P - ( C ` J ) ) ) ) | 
						
							| 53 | 52 | oveq2d |  |-  ( ph -> ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) = ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( ( J - J ) ^ ( P - ( C ` J ) ) ) ) ) | 
						
							| 54 | 53 | ifeq2d |  |-  ( ph -> if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) = if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( ( J - J ) ^ ( P - ( C ` J ) ) ) ) ) ) | 
						
							| 55 |  | id |  |-  ( J e. ( 1 ... M ) -> J e. ( 1 ... M ) ) | 
						
							| 56 | 55 41 | eleqtrdi |  |-  ( J e. ( 1 ... M ) -> J e. ( ( 0 + 1 ) ... M ) ) | 
						
							| 57 | 38 56 | sselid |  |-  ( J e. ( 1 ... M ) -> J e. ( 0 ... M ) ) | 
						
							| 58 | 7 57 | syl |  |-  ( ph -> J e. ( 0 ... M ) ) | 
						
							| 59 | 1 4 58 30 | etransclem3 |  |-  ( ph -> if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( ( J - J ) ^ ( P - ( C ` J ) ) ) ) ) e. ZZ ) | 
						
							| 60 | 54 59 | eqeltrd |  |-  ( ph -> if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) e. ZZ ) | 
						
							| 61 |  | fzfi |  |-  ( 1 ... M ) e. Fin | 
						
							| 62 |  | diffi |  |-  ( ( 1 ... M ) e. Fin -> ( ( 1 ... M ) \ { J } ) e. Fin ) | 
						
							| 63 | 61 62 | mp1i |  |-  ( ph -> ( ( 1 ... M ) \ { J } ) e. Fin ) | 
						
							| 64 | 1 | adantr |  |-  ( ( ph /\ j e. ( ( 1 ... M ) \ { J } ) ) -> P e. NN ) | 
						
							| 65 | 4 | adantr |  |-  ( ( ph /\ j e. ( ( 1 ... M ) \ { J } ) ) -> C : ( 0 ... M ) --> ( 0 ... N ) ) | 
						
							| 66 |  | eldifi |  |-  ( j e. ( ( 1 ... M ) \ { J } ) -> j e. ( 1 ... M ) ) | 
						
							| 67 | 66 43 | syl |  |-  ( j e. ( ( 1 ... M ) \ { J } ) -> j e. ( 0 ... M ) ) | 
						
							| 68 | 67 | adantl |  |-  ( ( ph /\ j e. ( ( 1 ... M ) \ { J } ) ) -> j e. ( 0 ... M ) ) | 
						
							| 69 | 30 | adantr |  |-  ( ( ph /\ j e. ( ( 1 ... M ) \ { J } ) ) -> J e. ZZ ) | 
						
							| 70 | 64 65 68 69 | etransclem3 |  |-  ( ( ph /\ j e. ( ( 1 ... M ) \ { J } ) ) -> if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) e. ZZ ) | 
						
							| 71 | 63 70 | fprodzcl |  |-  ( ph -> prod_ j e. ( ( 1 ... M ) \ { J } ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) e. ZZ ) | 
						
							| 72 |  | dvds0 |  |-  ( ( ! ` P ) e. ZZ -> ( ! ` P ) || 0 ) | 
						
							| 73 | 10 72 | syl |  |-  ( ph -> ( ! ` P ) || 0 ) | 
						
							| 74 | 73 | adantr |  |-  ( ( ph /\ P < ( C ` J ) ) -> ( ! ` P ) || 0 ) | 
						
							| 75 |  | iftrue |  |-  ( P < ( C ` J ) -> if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) = 0 ) | 
						
							| 76 | 75 | eqcomd |  |-  ( P < ( C ` J ) -> 0 = if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) ) | 
						
							| 77 | 76 | adantl |  |-  ( ( ph /\ P < ( C ` J ) ) -> 0 = if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) ) | 
						
							| 78 | 74 77 | breqtrd |  |-  ( ( ph /\ P < ( C ` J ) ) -> ( ! ` P ) || if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) ) | 
						
							| 79 |  | iddvds |  |-  ( ( ! ` P ) e. ZZ -> ( ! ` P ) || ( ! ` P ) ) | 
						
							| 80 | 10 79 | syl |  |-  ( ph -> ( ! ` P ) || ( ! ` P ) ) | 
						
							| 81 | 80 | ad2antrr |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ P = ( C ` J ) ) -> ( ! ` P ) || ( ! ` P ) ) | 
						
							| 82 |  | iffalse |  |-  ( -. P < ( C ` J ) -> if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) = ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) | 
						
							| 83 | 82 | ad2antlr |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ P = ( C ` J ) ) -> if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) = ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) | 
						
							| 84 |  | oveq1 |  |-  ( P = ( C ` J ) -> ( P - ( C ` J ) ) = ( ( C ` J ) - ( C ` J ) ) ) | 
						
							| 85 | 84 | adantl |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( P - ( C ` J ) ) = ( ( C ` J ) - ( C ` J ) ) ) | 
						
							| 86 | 4 58 | ffvelcdmd |  |-  ( ph -> ( C ` J ) e. ( 0 ... N ) ) | 
						
							| 87 | 86 | elfzelzd |  |-  ( ph -> ( C ` J ) e. ZZ ) | 
						
							| 88 | 87 | zcnd |  |-  ( ph -> ( C ` J ) e. CC ) | 
						
							| 89 | 88 | adantr |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( C ` J ) e. CC ) | 
						
							| 90 | 89 | subidd |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( ( C ` J ) - ( C ` J ) ) = 0 ) | 
						
							| 91 | 85 90 | eqtrd |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( P - ( C ` J ) ) = 0 ) | 
						
							| 92 | 91 | fveq2d |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( ! ` ( P - ( C ` J ) ) ) = ( ! ` 0 ) ) | 
						
							| 93 |  | fac0 |  |-  ( ! ` 0 ) = 1 | 
						
							| 94 | 92 93 | eqtrdi |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( ! ` ( P - ( C ` J ) ) ) = 1 ) | 
						
							| 95 | 94 | oveq2d |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) = ( ( ! ` P ) / 1 ) ) | 
						
							| 96 | 9 | nncnd |  |-  ( ph -> ( ! ` P ) e. CC ) | 
						
							| 97 | 96 | div1d |  |-  ( ph -> ( ( ! ` P ) / 1 ) = ( ! ` P ) ) | 
						
							| 98 | 97 | adantr |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( ( ! ` P ) / 1 ) = ( ! ` P ) ) | 
						
							| 99 | 95 98 | eqtrd |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) = ( ! ` P ) ) | 
						
							| 100 | 91 | oveq2d |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( 0 ^ ( P - ( C ` J ) ) ) = ( 0 ^ 0 ) ) | 
						
							| 101 |  | 0cnd |  |-  ( ( ph /\ P = ( C ` J ) ) -> 0 e. CC ) | 
						
							| 102 | 101 | exp0d |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( 0 ^ 0 ) = 1 ) | 
						
							| 103 | 100 102 | eqtrd |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( 0 ^ ( P - ( C ` J ) ) ) = 1 ) | 
						
							| 104 | 99 103 | oveq12d |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) = ( ( ! ` P ) x. 1 ) ) | 
						
							| 105 | 96 | mulridd |  |-  ( ph -> ( ( ! ` P ) x. 1 ) = ( ! ` P ) ) | 
						
							| 106 | 105 | adantr |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( ( ! ` P ) x. 1 ) = ( ! ` P ) ) | 
						
							| 107 | 104 106 | eqtrd |  |-  ( ( ph /\ P = ( C ` J ) ) -> ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) = ( ! ` P ) ) | 
						
							| 108 | 107 | adantlr |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ P = ( C ` J ) ) -> ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) = ( ! ` P ) ) | 
						
							| 109 | 83 108 | eqtr2d |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ P = ( C ` J ) ) -> ( ! ` P ) = if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) ) | 
						
							| 110 | 81 109 | breqtrd |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ P = ( C ` J ) ) -> ( ! ` P ) || if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) ) | 
						
							| 111 | 73 | ad2antrr |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ -. P = ( C ` J ) ) -> ( ! ` P ) || 0 ) | 
						
							| 112 |  | simpr |  |-  ( ( ph /\ -. P < ( C ` J ) ) -> -. P < ( C ` J ) ) | 
						
							| 113 | 112 | adantr |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ -. P = ( C ` J ) ) -> -. P < ( C ` J ) ) | 
						
							| 114 | 113 | iffalsed |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ -. P = ( C ` J ) ) -> if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) = ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) | 
						
							| 115 |  | simpll |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ -. P = ( C ` J ) ) -> ph ) | 
						
							| 116 | 87 | zred |  |-  ( ph -> ( C ` J ) e. RR ) | 
						
							| 117 | 116 | ad2antrr |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ -. P = ( C ` J ) ) -> ( C ` J ) e. RR ) | 
						
							| 118 | 1 | nnred |  |-  ( ph -> P e. RR ) | 
						
							| 119 | 118 | ad2antrr |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ -. P = ( C ` J ) ) -> P e. RR ) | 
						
							| 120 | 116 | adantr |  |-  ( ( ph /\ -. P < ( C ` J ) ) -> ( C ` J ) e. RR ) | 
						
							| 121 | 118 | adantr |  |-  ( ( ph /\ -. P < ( C ` J ) ) -> P e. RR ) | 
						
							| 122 | 120 121 112 | nltled |  |-  ( ( ph /\ -. P < ( C ` J ) ) -> ( C ` J ) <_ P ) | 
						
							| 123 | 122 | adantr |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ -. P = ( C ` J ) ) -> ( C ` J ) <_ P ) | 
						
							| 124 |  | neqne |  |-  ( -. P = ( C ` J ) -> P =/= ( C ` J ) ) | 
						
							| 125 | 124 | adantl |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ -. P = ( C ` J ) ) -> P =/= ( C ` J ) ) | 
						
							| 126 | 117 119 123 125 | leneltd |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ -. P = ( C ` J ) ) -> ( C ` J ) < P ) | 
						
							| 127 | 1 | nnzd |  |-  ( ph -> P e. ZZ ) | 
						
							| 128 | 127 | adantr |  |-  ( ( ph /\ ( C ` J ) < P ) -> P e. ZZ ) | 
						
							| 129 | 87 | adantr |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( C ` J ) e. ZZ ) | 
						
							| 130 | 128 129 | zsubcld |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( P - ( C ` J ) ) e. ZZ ) | 
						
							| 131 |  | simpr |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( C ` J ) < P ) | 
						
							| 132 | 116 | adantr |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( C ` J ) e. RR ) | 
						
							| 133 | 118 | adantr |  |-  ( ( ph /\ ( C ` J ) < P ) -> P e. RR ) | 
						
							| 134 | 132 133 | posdifd |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( ( C ` J ) < P <-> 0 < ( P - ( C ` J ) ) ) ) | 
						
							| 135 | 131 134 | mpbid |  |-  ( ( ph /\ ( C ` J ) < P ) -> 0 < ( P - ( C ` J ) ) ) | 
						
							| 136 |  | elnnz |  |-  ( ( P - ( C ` J ) ) e. NN <-> ( ( P - ( C ` J ) ) e. ZZ /\ 0 < ( P - ( C ` J ) ) ) ) | 
						
							| 137 | 130 135 136 | sylanbrc |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( P - ( C ` J ) ) e. NN ) | 
						
							| 138 | 137 | 0expd |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( 0 ^ ( P - ( C ` J ) ) ) = 0 ) | 
						
							| 139 | 138 | oveq2d |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) = ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. 0 ) ) | 
						
							| 140 | 96 | adantr |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( ! ` P ) e. CC ) | 
						
							| 141 | 137 | nnnn0d |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( P - ( C ` J ) ) e. NN0 ) | 
						
							| 142 | 141 | faccld |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( ! ` ( P - ( C ` J ) ) ) e. NN ) | 
						
							| 143 | 142 | nncnd |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( ! ` ( P - ( C ` J ) ) ) e. CC ) | 
						
							| 144 | 142 | nnne0d |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( ! ` ( P - ( C ` J ) ) ) =/= 0 ) | 
						
							| 145 | 140 143 144 | divcld |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) e. CC ) | 
						
							| 146 | 145 | mul01d |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. 0 ) = 0 ) | 
						
							| 147 | 139 146 | eqtrd |  |-  ( ( ph /\ ( C ` J ) < P ) -> ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) = 0 ) | 
						
							| 148 | 115 126 147 | syl2anc |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ -. P = ( C ` J ) ) -> ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) = 0 ) | 
						
							| 149 | 114 148 | eqtr2d |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ -. P = ( C ` J ) ) -> 0 = if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) ) | 
						
							| 150 | 111 149 | breqtrd |  |-  ( ( ( ph /\ -. P < ( C ` J ) ) /\ -. P = ( C ` J ) ) -> ( ! ` P ) || if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) ) | 
						
							| 151 | 110 150 | pm2.61dan |  |-  ( ( ph /\ -. P < ( C ` J ) ) -> ( ! ` P ) || if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) ) | 
						
							| 152 | 78 151 | pm2.61dan |  |-  ( ph -> ( ! ` P ) || if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) ) | 
						
							| 153 | 10 60 71 152 | dvdsmultr1d |  |-  ( ph -> ( ! ` P ) || ( if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) x. prod_ j e. ( ( 1 ... M ) \ { J } ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) ) ) | 
						
							| 154 | 46 | zcnd |  |-  ( ( ph /\ j e. ( 1 ... M ) ) -> if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) e. CC ) | 
						
							| 155 |  | fveq2 |  |-  ( j = J -> ( C ` j ) = ( C ` J ) ) | 
						
							| 156 | 155 | breq2d |  |-  ( j = J -> ( P < ( C ` j ) <-> P < ( C ` J ) ) ) | 
						
							| 157 | 156 | adantl |  |-  ( ( ph /\ j = J ) -> ( P < ( C ` j ) <-> P < ( C ` J ) ) ) | 
						
							| 158 | 155 | oveq2d |  |-  ( j = J -> ( P - ( C ` j ) ) = ( P - ( C ` J ) ) ) | 
						
							| 159 | 158 | fveq2d |  |-  ( j = J -> ( ! ` ( P - ( C ` j ) ) ) = ( ! ` ( P - ( C ` J ) ) ) ) | 
						
							| 160 | 159 | oveq2d |  |-  ( j = J -> ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) = ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) ) | 
						
							| 161 | 160 | adantl |  |-  ( ( ph /\ j = J ) -> ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) = ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) ) | 
						
							| 162 |  | oveq2 |  |-  ( j = J -> ( J - j ) = ( J - J ) ) | 
						
							| 163 | 162 50 | sylan9eqr |  |-  ( ( ph /\ j = J ) -> ( J - j ) = 0 ) | 
						
							| 164 | 158 | adantl |  |-  ( ( ph /\ j = J ) -> ( P - ( C ` j ) ) = ( P - ( C ` J ) ) ) | 
						
							| 165 | 163 164 | oveq12d |  |-  ( ( ph /\ j = J ) -> ( ( J - j ) ^ ( P - ( C ` j ) ) ) = ( 0 ^ ( P - ( C ` J ) ) ) ) | 
						
							| 166 | 161 165 | oveq12d |  |-  ( ( ph /\ j = J ) -> ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) = ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) | 
						
							| 167 | 157 166 | ifbieq2d |  |-  ( ( ph /\ j = J ) -> if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) = if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) ) | 
						
							| 168 | 33 154 7 167 | fprodsplit1 |  |-  ( ph -> prod_ j e. ( 1 ... M ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) = ( if ( P < ( C ` J ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` J ) ) ) ) x. ( 0 ^ ( P - ( C ` J ) ) ) ) ) x. prod_ j e. ( ( 1 ... M ) \ { J } ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) ) ) | 
						
							| 169 | 153 168 | breqtrrd |  |-  ( ph -> ( ! ` P ) || prod_ j e. ( 1 ... M ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) ) | 
						
							| 170 |  | dvdsmultr2 |  |-  ( ( ( ! ` P ) e. ZZ /\ ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) x. if ( ( P - 1 ) < ( C ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( C ` 0 ) ) ) ) x. ( J ^ ( ( P - 1 ) - ( C ` 0 ) ) ) ) ) ) e. ZZ /\ prod_ j e. ( 1 ... M ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) e. ZZ ) -> ( ( ! ` P ) || prod_ j e. ( 1 ... M ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) -> ( ! ` P ) || ( ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) x. if ( ( P - 1 ) < ( C ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( C ` 0 ) ) ) ) x. ( J ^ ( ( P - 1 ) - ( C ` 0 ) ) ) ) ) ) x. prod_ j e. ( 1 ... M ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) ) ) ) | 
						
							| 171 | 48 169 170 | sylc |  |-  ( ph -> ( ! ` P ) || ( ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) x. if ( ( P - 1 ) < ( C ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( C ` 0 ) ) ) ) x. ( J ^ ( ( P - 1 ) - ( C ` 0 ) ) ) ) ) ) x. prod_ j e. ( 1 ... M ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) ) ) | 
						
							| 172 | 3 | faccld |  |-  ( ph -> ( ! ` N ) e. NN ) | 
						
							| 173 | 172 | nncnd |  |-  ( ph -> ( ! ` N ) e. CC ) | 
						
							| 174 | 4 | ffvelcdmda |  |-  ( ( ph /\ j e. ( 0 ... M ) ) -> ( C ` j ) e. ( 0 ... N ) ) | 
						
							| 175 | 17 174 | sselid |  |-  ( ( ph /\ j e. ( 0 ... M ) ) -> ( C ` j ) e. NN0 ) | 
						
							| 176 | 175 | faccld |  |-  ( ( ph /\ j e. ( 0 ... M ) ) -> ( ! ` ( C ` j ) ) e. NN ) | 
						
							| 177 | 176 | nncnd |  |-  ( ( ph /\ j e. ( 0 ... M ) ) -> ( ! ` ( C ` j ) ) e. CC ) | 
						
							| 178 | 15 177 | fprodcl |  |-  ( ph -> prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) e. CC ) | 
						
							| 179 | 176 | nnne0d |  |-  ( ( ph /\ j e. ( 0 ... M ) ) -> ( ! ` ( C ` j ) ) =/= 0 ) | 
						
							| 180 | 15 177 179 | fprodn0 |  |-  ( ph -> prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) =/= 0 ) | 
						
							| 181 | 173 178 180 | divcld |  |-  ( ph -> ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) e. CC ) | 
						
							| 182 | 31 | zcnd |  |-  ( ph -> if ( ( P - 1 ) < ( C ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( C ` 0 ) ) ) ) x. ( J ^ ( ( P - 1 ) - ( C ` 0 ) ) ) ) ) e. CC ) | 
						
							| 183 | 33 154 | fprodcl |  |-  ( ph -> prod_ j e. ( 1 ... M ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) e. CC ) | 
						
							| 184 | 181 182 183 | mulassd |  |-  ( ph -> ( ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) x. if ( ( P - 1 ) < ( C ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( C ` 0 ) ) ) ) x. ( J ^ ( ( P - 1 ) - ( C ` 0 ) ) ) ) ) ) x. prod_ j e. ( 1 ... M ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) ) = ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) x. ( if ( ( P - 1 ) < ( C ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( C ` 0 ) ) ) ) x. ( J ^ ( ( P - 1 ) - ( C ` 0 ) ) ) ) ) x. prod_ j e. ( 1 ... M ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) ) ) ) | 
						
							| 185 | 184 6 | eqtr4di |  |-  ( ph -> ( ( ( ( ! ` N ) / prod_ j e. ( 0 ... M ) ( ! ` ( C ` j ) ) ) x. if ( ( P - 1 ) < ( C ` 0 ) , 0 , ( ( ( ! ` ( P - 1 ) ) / ( ! ` ( ( P - 1 ) - ( C ` 0 ) ) ) ) x. ( J ^ ( ( P - 1 ) - ( C ` 0 ) ) ) ) ) ) x. prod_ j e. ( 1 ... M ) if ( P < ( C ` j ) , 0 , ( ( ( ! ` P ) / ( ! ` ( P - ( C ` j ) ) ) ) x. ( ( J - j ) ^ ( P - ( C ` j ) ) ) ) ) ) = T ) | 
						
							| 186 | 171 185 | breqtrd |  |-  ( ph -> ( ! ` P ) || T ) |