MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  coeeq2 Structured version   Unicode version

Theorem coeeq2 22367
Description: Compute the coefficient function given a sum expression for the polynomial. (Contributed by Mario Carneiro, 24-Jul-2014.)
Hypotheses
Ref Expression
dgrle.1  |-  ( ph  ->  F  e.  (Poly `  S ) )
dgrle.2  |-  ( ph  ->  N  e.  NN0 )
dgrle.3  |-  ( (
ph  /\  k  e.  ( 0 ... N
) )  ->  A  e.  CC )
dgrle.4  |-  ( ph  ->  F  =  ( z  e.  CC  |->  sum_ k  e.  ( 0 ... N
) ( A  x.  ( z ^ k
) ) ) )
Assertion
Ref Expression
coeeq2  |-  ( ph  ->  (coeff `  F )  =  ( k  e. 
NN0  |->  if ( k  <_  N ,  A ,  0 ) ) )
Distinct variable groups:    z, A    z, k, N    ph, k, z
Allowed substitution hints:    A( k)    S( z, k)    F( z, k)

Proof of Theorem coeeq2
Dummy variable  m is distinct from all other variables.
StepHypRef Expression
1 dgrle.1 . 2  |-  ( ph  ->  F  e.  (Poly `  S ) )
2 dgrle.2 . 2  |-  ( ph  ->  N  e.  NN0 )
3 simpll 753 . . . . 5  |-  ( ( ( ph  /\  k  e.  NN0 )  /\  k  <_  N )  ->  ph )
4 simpr 461 . . . . . 6  |-  ( ( ( ph  /\  k  e.  NN0 )  /\  k  <_  N )  ->  k  <_  N )
5 simplr 754 . . . . . . . 8  |-  ( ( ( ph  /\  k  e.  NN0 )  /\  k  <_  N )  ->  k  e.  NN0 )
6 nn0uz 11105 . . . . . . . 8  |-  NN0  =  ( ZZ>= `  0 )
75, 6syl6eleq 2558 . . . . . . 7  |-  ( ( ( ph  /\  k  e.  NN0 )  /\  k  <_  N )  ->  k  e.  ( ZZ>= `  0 )
)
82nn0zd 10953 . . . . . . . 8  |-  ( ph  ->  N  e.  ZZ )
98ad2antrr 725 . . . . . . 7  |-  ( ( ( ph  /\  k  e.  NN0 )  /\  k  <_  N )  ->  N  e.  ZZ )
10 elfz5 11669 . . . . . . 7  |-  ( ( k  e.  ( ZZ>= ` 
0 )  /\  N  e.  ZZ )  ->  (
k  e.  ( 0 ... N )  <->  k  <_  N ) )
117, 9, 10syl2anc 661 . . . . . 6  |-  ( ( ( ph  /\  k  e.  NN0 )  /\  k  <_  N )  ->  (
k  e.  ( 0 ... N )  <->  k  <_  N ) )
124, 11mpbird 232 . . . . 5  |-  ( ( ( ph  /\  k  e.  NN0 )  /\  k  <_  N )  ->  k  e.  ( 0 ... N
) )
13 dgrle.3 . . . . 5  |-  ( (
ph  /\  k  e.  ( 0 ... N
) )  ->  A  e.  CC )
143, 12, 13syl2anc 661 . . . 4  |-  ( ( ( ph  /\  k  e.  NN0 )  /\  k  <_  N )  ->  A  e.  CC )
15 0cnd 9578 . . . 4  |-  ( ( ( ph  /\  k  e.  NN0 )  /\  -.  k  <_  N )  -> 
0  e.  CC )
1614, 15ifclda 3964 . . 3  |-  ( (
ph  /\  k  e.  NN0 )  ->  if (
k  <_  N ,  A ,  0 )  e.  CC )
17 eqid 2460 . . 3  |-  ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) )  =  ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) )
1816, 17fmptd 6036 . 2  |-  ( ph  ->  ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) : NN0 --> CC )
19 simpr 461 . . . . . . . 8  |-  ( (
ph  /\  k  e.  NN0 )  ->  k  e.  NN0 )
2017fvmpt2 5948 . . . . . . . 8  |-  ( ( k  e.  NN0  /\  if ( k  <_  N ,  A ,  0 )  e.  CC )  -> 
( ( k  e. 
NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `
 k )  =  if ( k  <_  N ,  A , 
0 ) )
2119, 16, 20syl2anc 661 . . . . . . 7  |-  ( (
ph  /\  k  e.  NN0 )  ->  ( (
k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  k )  =  if ( k  <_  N ,  A ,  0 ) )
2221neeq1d 2737 . . . . . 6  |-  ( (
ph  /\  k  e.  NN0 )  ->  ( (
( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  k )  =/=  0  <->  if (
k  <_  N ,  A ,  0 )  =/=  0 ) )
23 iffalse 3941 . . . . . . 7  |-  ( -.  k  <_  N  ->  if ( k  <_  N ,  A ,  0 )  =  0 )
2423necon1ai 2691 . . . . . 6  |-  ( if ( k  <_  N ,  A ,  0 )  =/=  0  ->  k  <_  N )
2522, 24syl6bi 228 . . . . 5  |-  ( (
ph  /\  k  e.  NN0 )  ->  ( (
( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  k )  =/=  0  ->  k  <_  N ) )
2625ralrimiva 2871 . . . 4  |-  ( ph  ->  A. k  e.  NN0  ( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  k )  =/=  0  ->  k  <_  N ) )
27 nfv 1678 . . . . 5  |-  F/ m
( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  k )  =/=  0  ->  k  <_  N )
28 nffvmpt1 5865 . . . . . . 7  |-  F/_ k
( ( k  e. 
NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `
 m )
29 nfcv 2622 . . . . . . 7  |-  F/_ k
0
3028, 29nfne 2791 . . . . . 6  |-  F/ k ( ( k  e. 
NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `
 m )  =/=  0
31 nfv 1678 . . . . . 6  |-  F/ k  m  <_  N
3230, 31nfim 1862 . . . . 5  |-  F/ k ( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  m )  =/=  0  ->  m  <_  N )
33 fveq2 5857 . . . . . . 7  |-  ( k  =  m  ->  (
( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  k )  =  ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  m ) )
3433neeq1d 2737 . . . . . 6  |-  ( k  =  m  ->  (
( ( k  e. 
NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `
 k )  =/=  0  <->  ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  m )  =/=  0 ) )
35 breq1 4443 . . . . . 6  |-  ( k  =  m  ->  (
k  <_  N  <->  m  <_  N ) )
3634, 35imbi12d 320 . . . . 5  |-  ( k  =  m  ->  (
( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  k )  =/=  0  ->  k  <_  N )  <->  ( (
( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  m )  =/=  0  ->  m  <_  N ) ) )
3727, 32, 36cbvral 3077 . . . 4  |-  ( A. k  e.  NN0  ( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  k )  =/=  0  ->  k  <_  N )  <->  A. m  e.  NN0  ( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  m )  =/=  0  ->  m  <_  N ) )
3826, 37sylib 196 . . 3  |-  ( ph  ->  A. m  e.  NN0  ( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  m )  =/=  0  ->  m  <_  N ) )
39 plyco0 22317 . . . 4  |-  ( ( N  e.  NN0  /\  ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) : NN0 --> CC )  ->  ( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) " ( ZZ>= `  ( N  +  1
) ) )  =  { 0 }  <->  A. m  e.  NN0  ( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  m )  =/=  0  ->  m  <_  N ) ) )
402, 18, 39syl2anc 661 . . 3  |-  ( ph  ->  ( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) " ( ZZ>= `  ( N  +  1
) ) )  =  { 0 }  <->  A. m  e.  NN0  ( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  m )  =/=  0  ->  m  <_  N ) ) )
4138, 40mpbird 232 . 2  |-  ( ph  ->  ( ( k  e. 
NN0  |->  if ( k  <_  N ,  A ,  0 ) )
" ( ZZ>= `  ( N  +  1 ) ) )  =  {
0 } )
42 dgrle.4 . . 3  |-  ( ph  ->  F  =  ( z  e.  CC  |->  sum_ k  e.  ( 0 ... N
) ( A  x.  ( z ^ k
) ) ) )
43 nfcv 2622 . . . . . 6  |-  F/_ m
( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  k )  x.  ( z ^
k ) )
44 nfcv 2622 . . . . . . 7  |-  F/_ k  x.
45 nfcv 2622 . . . . . . 7  |-  F/_ k
( z ^ m
)
4628, 44, 45nfov 6298 . . . . . 6  |-  F/_ k
( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  m )  x.  ( z ^
m ) )
47 oveq2 6283 . . . . . . 7  |-  ( k  =  m  ->  (
z ^ k )  =  ( z ^
m ) )
4833, 47oveq12d 6293 . . . . . 6  |-  ( k  =  m  ->  (
( ( k  e. 
NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `
 k )  x.  ( z ^ k
) )  =  ( ( ( k  e. 
NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `
 m )  x.  ( z ^ m
) ) )
4943, 46, 48cbvsumi 13468 . . . . 5  |-  sum_ k  e.  ( 0 ... N
) ( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  k )  x.  ( z ^
k ) )  = 
sum_ m  e.  (
0 ... N ) ( ( ( k  e. 
NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `
 m )  x.  ( z ^ m
) )
50 elfznn0 11759 . . . . . . . . . 10  |-  ( k  e.  ( 0 ... N )  ->  k  e.  NN0 )
5150adantl 466 . . . . . . . . 9  |-  ( ( ( ph  /\  z  e.  CC )  /\  k  e.  ( 0 ... N
) )  ->  k  e.  NN0 )
52 elfzle2 11679 . . . . . . . . . . . 12  |-  ( k  e.  ( 0 ... N )  ->  k  <_  N )
5352adantl 466 . . . . . . . . . . 11  |-  ( ( ( ph  /\  z  e.  CC )  /\  k  e.  ( 0 ... N
) )  ->  k  <_  N )
54 iftrue 3938 . . . . . . . . . . 11  |-  ( k  <_  N  ->  if ( k  <_  N ,  A ,  0 )  =  A )
5553, 54syl 16 . . . . . . . . . 10  |-  ( ( ( ph  /\  z  e.  CC )  /\  k  e.  ( 0 ... N
) )  ->  if ( k  <_  N ,  A ,  0 )  =  A )
5613adantlr 714 . . . . . . . . . 10  |-  ( ( ( ph  /\  z  e.  CC )  /\  k  e.  ( 0 ... N
) )  ->  A  e.  CC )
5755, 56eqeltrd 2548 . . . . . . . . 9  |-  ( ( ( ph  /\  z  e.  CC )  /\  k  e.  ( 0 ... N
) )  ->  if ( k  <_  N ,  A ,  0 )  e.  CC )
5851, 57, 20syl2anc 661 . . . . . . . 8  |-  ( ( ( ph  /\  z  e.  CC )  /\  k  e.  ( 0 ... N
) )  ->  (
( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  k )  =  if ( k  <_  N ,  A ,  0 ) )
5958, 55eqtrd 2501 . . . . . . 7  |-  ( ( ( ph  /\  z  e.  CC )  /\  k  e.  ( 0 ... N
) )  ->  (
( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  k )  =  A )
6059oveq1d 6290 . . . . . 6  |-  ( ( ( ph  /\  z  e.  CC )  /\  k  e.  ( 0 ... N
) )  ->  (
( ( k  e. 
NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `
 k )  x.  ( z ^ k
) )  =  ( A  x.  ( z ^ k ) ) )
6160sumeq2dv 13474 . . . . 5  |-  ( (
ph  /\  z  e.  CC )  ->  sum_ k  e.  ( 0 ... N
) ( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  k )  x.  ( z ^
k ) )  = 
sum_ k  e.  ( 0 ... N ) ( A  x.  (
z ^ k ) ) )
6249, 61syl5eqr 2515 . . . 4  |-  ( (
ph  /\  z  e.  CC )  ->  sum_ m  e.  ( 0 ... N
) ( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  m )  x.  ( z ^
m ) )  = 
sum_ k  e.  ( 0 ... N ) ( A  x.  (
z ^ k ) ) )
6362mpteq2dva 4526 . . 3  |-  ( ph  ->  ( z  e.  CC  |->  sum_
m  e.  ( 0 ... N ) ( ( ( k  e. 
NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `
 m )  x.  ( z ^ m
) ) )  =  ( z  e.  CC  |->  sum_ k  e.  ( 0 ... N ) ( A  x.  ( z ^ k ) ) ) )
6442, 63eqtr4d 2504 . 2  |-  ( ph  ->  F  =  ( z  e.  CC  |->  sum_ m  e.  ( 0 ... N
) ( ( ( k  e.  NN0  |->  if ( k  <_  N ,  A ,  0 ) ) `  m )  x.  ( z ^
m ) ) ) )
651, 2, 18, 41, 64coeeq 22352 1  |-  ( ph  ->  (coeff `  F )  =  ( k  e. 
NN0  |->  if ( k  <_  N ,  A ,  0 ) ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    /\ wa 369    = wceq 1374    e. wcel 1762    =/= wne 2655   A.wral 2807   ifcif 3932   {csn 4020   class class class wbr 4440    |-> cmpt 4498   "cima 4995   -->wf 5575   ` cfv 5579  (class class class)co 6275   CCcc 9479   0cc0 9481   1c1 9482    + caddc 9484    x. cmul 9486    <_ cle 9618   NN0cn0 10784   ZZcz 10853   ZZ>=cuz 11071   ...cfz 11661   ^cexp 12122   sum_csu 13457  Polycply 22309  coeffccoe 22311
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1596  ax-4 1607  ax-5 1675  ax-6 1714  ax-7 1734  ax-8 1764  ax-9 1766  ax-10 1781  ax-11 1786  ax-12 1798  ax-13 1961  ax-ext 2438  ax-rep 4551  ax-sep 4561  ax-nul 4569  ax-pow 4618  ax-pr 4679  ax-un 6567  ax-inf2 8047  ax-cnex 9537  ax-resscn 9538  ax-1cn 9539  ax-icn 9540  ax-addcl 9541  ax-addrcl 9542  ax-mulcl 9543  ax-mulrcl 9544  ax-mulcom 9545  ax-addass 9546  ax-mulass 9547  ax-distr 9548  ax-i2m1 9549  ax-1ne0 9550  ax-1rid 9551  ax-rnegex 9552  ax-rrecex 9553  ax-cnre 9554  ax-pre-lttri 9555  ax-pre-lttrn 9556  ax-pre-ltadd 9557  ax-pre-mulgt0 9558  ax-pre-sup 9559  ax-addf 9560
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 969  df-3an 970  df-tru 1377  df-fal 1380  df-ex 1592  df-nf 1595  df-sb 1707  df-eu 2272  df-mo 2273  df-clab 2446  df-cleq 2452  df-clel 2455  df-nfc 2610  df-ne 2657  df-nel 2658  df-ral 2812  df-rex 2813  df-reu 2814  df-rmo 2815  df-rab 2816  df-v 3108  df-sbc 3325  df-csb 3429  df-dif 3472  df-un 3474  df-in 3476  df-ss 3483  df-pss 3485  df-nul 3779  df-if 3933  df-pw 4005  df-sn 4021  df-pr 4023  df-tp 4025  df-op 4027  df-uni 4239  df-int 4276  df-iun 4320  df-br 4441  df-opab 4499  df-mpt 4500  df-tr 4534  df-eprel 4784  df-id 4788  df-po 4793  df-so 4794  df-fr 4831  df-se 4832  df-we 4833  df-ord 4874  df-on 4875  df-lim 4876  df-suc 4877  df-xp 4998  df-rel 4999  df-cnv 5000  df-co 5001  df-dm 5002  df-rn 5003  df-res 5004  df-ima 5005  df-iota 5542  df-fun 5581  df-fn 5582  df-f 5583  df-f1 5584  df-fo 5585  df-f1o 5586  df-fv 5587  df-isom 5588  df-riota 6236  df-ov 6278  df-oprab 6279  df-mpt2 6280  df-of 6515  df-om 6672  df-1st 6774  df-2nd 6775  df-recs 7032  df-rdg 7066  df-1o 7120  df-oadd 7124  df-er 7301  df-map 7412  df-pm 7413  df-en 7507  df-dom 7508  df-sdom 7509  df-fin 7510  df-sup 7890  df-oi 7924  df-card 8309  df-pnf 9619  df-mnf 9620  df-xr 9621  df-ltxr 9622  df-le 9623  df-sub 9796  df-neg 9797  df-div 10196  df-nn 10526  df-2 10583  df-3 10584  df-n0 10785  df-z 10854  df-uz 11072  df-rp 11210  df-fz 11662  df-fzo 11782  df-fl 11886  df-seq 12064  df-exp 12123  df-hash 12361  df-cj 12882  df-re 12883  df-im 12884  df-sqr 13018  df-abs 13019  df-clim 13260  df-rlim 13261  df-sum 13458  df-0p 21805  df-ply 22313  df-coe 22315
This theorem is referenced by:  dgrle  22368  aareccl  22449
  Copyright terms: Public domain W3C validator