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

Theorem dgreq0 22412
Description: The leading coefficient of a polynomial is nonzero, unless the entire polynomial is zero. (Contributed by Mario Carneiro, 22-Jul-2014.) (Proof shortened by Fan Zheng, 21-Jun-2016.)
Hypotheses
Ref Expression
dgreq0.1  |-  N  =  (deg `  F )
dgreq0.2  |-  A  =  (coeff `  F )
Assertion
Ref Expression
dgreq0  |-  ( F  e.  (Poly `  S
)  ->  ( F  =  0p  <->  ( A `  N )  =  0 ) )

Proof of Theorem dgreq0
Dummy variable  k is distinct from all other variables.
StepHypRef Expression
1 dgreq0.2 . . . . . 6  |-  A  =  (coeff `  F )
2 fveq2 5865 . . . . . 6  |-  ( F  =  0p  -> 
(coeff `  F )  =  (coeff `  0p
) )
31, 2syl5eq 2520 . . . . 5  |-  ( F  =  0p  ->  A  =  (coeff `  0p ) )
4 coe0 22403 . . . . 5  |-  (coeff ` 
0p )  =  ( NN0  X.  {
0 } )
53, 4syl6eq 2524 . . . 4  |-  ( F  =  0p  ->  A  =  ( NN0  X. 
{ 0 } ) )
6 dgreq0.1 . . . . . 6  |-  N  =  (deg `  F )
7 fveq2 5865 . . . . . 6  |-  ( F  =  0p  -> 
(deg `  F )  =  (deg `  0p
) )
86, 7syl5eq 2520 . . . . 5  |-  ( F  =  0p  ->  N  =  (deg `  0p ) )
9 dgr0 22409 . . . . 5  |-  (deg ` 
0p )  =  0
108, 9syl6eq 2524 . . . 4  |-  ( F  =  0p  ->  N  =  0 )
115, 10fveq12d 5871 . . 3  |-  ( F  =  0p  -> 
( A `  N
)  =  ( ( NN0  X.  { 0 } ) `  0
) )
12 0nn0 10809 . . . 4  |-  0  e.  NN0
13 fvconst2g 6113 . . . 4  |-  ( ( 0  e.  NN0  /\  0  e.  NN0 )  -> 
( ( NN0  X.  { 0 } ) `
 0 )  =  0 )
1412, 12, 13mp2an 672 . . 3  |-  ( ( NN0  X.  { 0 } ) `  0
)  =  0
1511, 14syl6eq 2524 . 2  |-  ( F  =  0p  -> 
( A `  N
)  =  0 )
161coefv0 22395 . . . . . . . 8  |-  ( F  e.  (Poly `  S
)  ->  ( F `  0 )  =  ( A `  0
) )
1716adantr 465 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( F `  0
)  =  ( A `
 0 ) )
18 simpr 461 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  NN )
1918nnred 10550 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  RR )
2019ltm1d 10477 . . . . . . . . . 10  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  -  1 )  <  N )
21 simpll 753 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  F  e.  (Poly `  S ) )
22 nnm1nn0 10836 . . . . . . . . . . . . 13  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  NN0 )
2322adantl 466 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  -  1 )  e.  NN0 )
241, 6dgrub 22382 . . . . . . . . . . . . . . . . . . 19  |-  ( ( F  e.  (Poly `  S )  /\  k  e.  NN0  /\  ( A `
 k )  =/=  0 )  ->  k  <_  N )
25243expia 1198 . . . . . . . . . . . . . . . . . 18  |-  ( ( F  e.  (Poly `  S )  /\  k  e.  NN0 )  ->  (
( A `  k
)  =/=  0  -> 
k  <_  N )
)
2625ad2ant2rl 748 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  k  <_  N ) )
27 simplr 754 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( A `  N )  =  0 )
28 fveq2 5865 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  =  k  ->  ( A `  N )  =  ( A `  k ) )
2928eqeq1d 2469 . . . . . . . . . . . . . . . . . . 19  |-  ( N  =  k  ->  (
( A `  N
)  =  0  <->  ( A `  k )  =  0 ) )
3027, 29syl5ibcom 220 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( N  =  k  ->  ( A `
 k )  =  0 ) )
3130necon3d 2691 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  N  =/=  k ) )
3226, 31jcad 533 . . . . . . . . . . . . . . . 16  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  ( k  <_  N  /\  N  =/=  k ) ) )
33 nn0re 10803 . . . . . . . . . . . . . . . . . . 19  |-  ( k  e.  NN0  ->  k  e.  RR )
3433ad2antll 728 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  k  e.  RR )
35 nnre 10542 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  e.  RR )
3635ad2antrl 727 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  N  e.  RR )
3734, 36ltlend 9728 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( k  <  N  <->  ( k  <_  N  /\  N  =/=  k
) ) )
38 nn0z 10886 . . . . . . . . . . . . . . . . . . 19  |-  ( k  e.  NN0  ->  k  e.  ZZ )
3938ad2antll 728 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  k  e.  ZZ )
40 nnz 10885 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  e.  ZZ )
4140ad2antrl 727 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  N  e.  ZZ )
42 zltlem1 10914 . . . . . . . . . . . . . . . . . 18  |-  ( ( k  e.  ZZ  /\  N  e.  ZZ )  ->  ( k  <  N  <->  k  <_  ( N  - 
1 ) ) )
4339, 41, 42syl2anc 661 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( k  <  N  <->  k  <_  ( N  -  1 ) ) )
4437, 43bitr3d 255 . . . . . . . . . . . . . . . 16  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( (
k  <_  N  /\  N  =/=  k )  <->  k  <_  ( N  -  1 ) ) )
4532, 44sylibd 214 . . . . . . . . . . . . . . 15  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  k  <_ 
( N  -  1 ) ) )
4645expr 615 . . . . . . . . . . . . . 14  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( k  e.  NN0  ->  ( ( A `  k )  =/=  0  ->  k  <_  ( N  -  1 ) ) ) )
4746ralrimiv 2876 . . . . . . . . . . . . 13  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  A. k  e.  NN0  ( ( A `  k )  =/=  0  ->  k  <_  ( N  -  1 ) ) )
481coef3 22380 . . . . . . . . . . . . . . 15  |-  ( F  e.  (Poly `  S
)  ->  A : NN0
--> CC )
4948ad2antrr 725 . . . . . . . . . . . . . 14  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  A : NN0 --> CC )
50 plyco0 22340 . . . . . . . . . . . . . 14  |-  ( ( ( N  -  1 )  e.  NN0  /\  A : NN0 --> CC )  ->  ( ( A
" ( ZZ>= `  (
( N  -  1 )  +  1 ) ) )  =  {
0 }  <->  A. k  e.  NN0  ( ( A `
 k )  =/=  0  ->  k  <_  ( N  -  1 ) ) ) )
5123, 49, 50syl2anc 661 . . . . . . . . . . . . 13  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( ( A "
( ZZ>= `  ( ( N  -  1 )  +  1 ) ) )  =  { 0 }  <->  A. k  e.  NN0  ( ( A `  k )  =/=  0  ->  k  <_  ( N  -  1 ) ) ) )
5247, 51mpbird 232 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( A " ( ZZ>=
`  ( ( N  -  1 )  +  1 ) ) )  =  { 0 } )
531, 6dgrlb 22384 . . . . . . . . . . . 12  |-  ( ( F  e.  (Poly `  S )  /\  ( N  -  1 )  e.  NN0  /\  ( A " ( ZZ>= `  (
( N  -  1 )  +  1 ) ) )  =  {
0 } )  ->  N  <_  ( N  - 
1 ) )
5421, 23, 52, 53syl3anc 1228 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  <_  ( N  -  1 ) )
5535adantl 466 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  RR )
56 peano2rem 9885 . . . . . . . . . . . . 13  |-  ( N  e.  RR  ->  ( N  -  1 )  e.  RR )
5755, 56syl 16 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  -  1 )  e.  RR )
5855, 57lenltd 9729 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  <_  ( N  -  1 )  <->  -.  ( N  -  1 )  <  N ) )
5954, 58mpbid 210 . . . . . . . . . 10  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  -.  ( N  - 
1 )  <  N
)
6020, 59pm2.65da 576 . . . . . . . . 9  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  -.  N  e.  NN )
61 dgrcl 22381 . . . . . . . . . . . . 13  |-  ( F  e.  (Poly `  S
)  ->  (deg `  F
)  e.  NN0 )
626, 61syl5eqel 2559 . . . . . . . . . . . 12  |-  ( F  e.  (Poly `  S
)  ->  N  e.  NN0 )
6362adantr 465 . . . . . . . . . . 11  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  N  e.  NN0 )
64 elnn0 10796 . . . . . . . . . . 11  |-  ( N  e.  NN0  <->  ( N  e.  NN  \/  N  =  0 ) )
6563, 64sylib 196 . . . . . . . . . 10  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( N  e.  NN  \/  N  =  0
) )
6665ord 377 . . . . . . . . 9  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( -.  N  e.  NN  ->  N  = 
0 ) )
6760, 66mpd 15 . . . . . . . 8  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  N  =  0 )
6867fveq2d 5869 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( A `  N
)  =  ( A `
 0 ) )
69 simpr 461 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( A `  N
)  =  0 )
7017, 68, 693eqtr2d 2514 . . . . . 6  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( F `  0
)  =  0 )
7170sneqd 4039 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  { ( F ` 
0 ) }  =  { 0 } )
7271xpeq2d 5023 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( CC  X.  {
( F `  0
) } )  =  ( CC  X.  {
0 } ) )
736, 67syl5eqr 2522 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
(deg `  F )  =  0 )
74 0dgrb 22394 . . . . . 6  |-  ( F  e.  (Poly `  S
)  ->  ( (deg `  F )  =  0  <-> 
F  =  ( CC 
X.  { ( F `
 0 ) } ) ) )
7574adantr 465 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( (deg `  F
)  =  0  <->  F  =  ( CC  X.  { ( F ` 
0 ) } ) ) )
7673, 75mpbid 210 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  F  =  ( CC  X.  { ( F ` 
0 ) } ) )
77 df-0p 21828 . . . . 5  |-  0p  =  ( CC  X.  { 0 } )
7877a1i 11 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
0p  =  ( CC  X.  { 0 } ) )
7972, 76, 783eqtr4d 2518 . . 3  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  F  =  0p
)
8079ex 434 . 2  |-  ( F  e.  (Poly `  S
)  ->  ( ( A `  N )  =  0  ->  F  =  0p ) )
8115, 80impbid2 204 1  |-  ( F  e.  (Poly `  S
)  ->  ( F  =  0p  <->  ( A `  N )  =  0 ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    \/ wo 368    /\ wa 369    = wceq 1379    e. wcel 1767    =/= wne 2662   A.wral 2814   {csn 4027   class class class wbr 4447    X. cxp 4997   "cima 5002   -->wf 5583   ` cfv 5587  (class class class)co 6283   CCcc 9489   RRcr 9490   0cc0 9491   1c1 9492    + caddc 9494    < clt 9627    <_ cle 9628    - cmin 9804   NNcn 10535   NN0cn0 10794   ZZcz 10863   ZZ>=cuz 11081   0pc0p 21827  Polycply 22332  coeffccoe 22334  degcdgr 22335
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-rep 4558  ax-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6575  ax-inf2 8057  ax-cnex 9547  ax-resscn 9548  ax-1cn 9549  ax-icn 9550  ax-addcl 9551  ax-addrcl 9552  ax-mulcl 9553  ax-mulrcl 9554  ax-mulcom 9555  ax-addass 9556  ax-mulass 9557  ax-distr 9558  ax-i2m1 9559  ax-1ne0 9560  ax-1rid 9561  ax-rnegex 9562  ax-rrecex 9563  ax-cnre 9564  ax-pre-lttri 9565  ax-pre-lttrn 9566  ax-pre-ltadd 9567  ax-pre-mulgt0 9568  ax-pre-sup 9569  ax-addf 9570
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1382  df-fal 1385  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-nel 2665  df-ral 2819  df-rex 2820  df-reu 2821  df-rmo 2822  df-rab 2823  df-v 3115  df-sbc 3332  df-csb 3436  df-dif 3479  df-un 3481  df-in 3483  df-ss 3490  df-pss 3492  df-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-tp 4032  df-op 4034  df-uni 4246  df-int 4283  df-iun 4327  df-br 4448  df-opab 4506  df-mpt 4507  df-tr 4541  df-eprel 4791  df-id 4795  df-po 4800  df-so 4801  df-fr 4838  df-se 4839  df-we 4840  df-ord 4881  df-on 4882  df-lim 4883  df-suc 4884  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-res 5011  df-ima 5012  df-iota 5550  df-fun 5589  df-fn 5590  df-f 5591  df-f1 5592  df-fo 5593  df-f1o 5594  df-fv 5595  df-isom 5596  df-riota 6244  df-ov 6286  df-oprab 6287  df-mpt2 6288  df-of 6523  df-om 6680  df-1st 6784  df-2nd 6785  df-recs 7042  df-rdg 7076  df-1o 7130  df-oadd 7134  df-er 7311  df-map 7422  df-pm 7423  df-en 7517  df-dom 7518  df-sdom 7519  df-fin 7520  df-sup 7900  df-oi 7934  df-card 8319  df-pnf 9629  df-mnf 9630  df-xr 9631  df-ltxr 9632  df-le 9633  df-sub 9806  df-neg 9807  df-div 10206  df-nn 10536  df-2 10593  df-3 10594  df-n0 10795  df-z 10864  df-uz 11082  df-rp 11220  df-fz 11672  df-fzo 11792  df-fl 11896  df-seq 12075  df-exp 12134  df-hash 12373  df-cj 12894  df-re 12895  df-im 12896  df-sqrt 13030  df-abs 13031  df-clim 13273  df-rlim 13274  df-sum 13471  df-0p 21828  df-ply 22336  df-coe 22338  df-dgr 22339
This theorem is referenced by:  dgrlt  22413  dgradd2  22415  dgrmul  22417  dgrcolem2  22421  plymul0or  22427  plydivlem4  22442  plydiveu  22444  vieta1lem2  22457  vieta1  22458  aareccl  22472  ftalem2  23091  ftalem4  23093  ftalem5  23094  signsply0  28164  mpaaeu  30720
  Copyright terms: Public domain W3C validator