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

Theorem dgreq0 20136
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  =  0 p  <->  ( 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 5687 . . . . . 6  |-  ( F  =  0 p  -> 
(coeff `  F )  =  (coeff `  0 p
) )
31, 2syl5eq 2448 . . . . 5  |-  ( F  =  0 p  ->  A  =  (coeff `  0 p ) )
4 coe0 20127 . . . . 5  |-  (coeff ` 
0 p )  =  ( NN0  X.  {
0 } )
53, 4syl6eq 2452 . . . 4  |-  ( F  =  0 p  ->  A  =  ( NN0  X. 
{ 0 } ) )
6 dgreq0.1 . . . . . 6  |-  N  =  (deg `  F )
7 fveq2 5687 . . . . . 6  |-  ( F  =  0 p  -> 
(deg `  F )  =  (deg `  0 p
) )
86, 7syl5eq 2448 . . . . 5  |-  ( F  =  0 p  ->  N  =  (deg `  0 p ) )
9 dgr0 20133 . . . . 5  |-  (deg ` 
0 p )  =  0
108, 9syl6eq 2452 . . . 4  |-  ( F  =  0 p  ->  N  =  0 )
115, 10fveq12d 5693 . . 3  |-  ( F  =  0 p  -> 
( A `  N
)  =  ( ( NN0  X.  { 0 } ) `  0
) )
12 0nn0 10192 . . . 4  |-  0  e.  NN0
13 fvconst2g 5904 . . . 4  |-  ( ( 0  e.  NN0  /\  0  e.  NN0 )  -> 
( ( NN0  X.  { 0 } ) `
 0 )  =  0 )
1412, 12, 13mp2an 654 . . 3  |-  ( ( NN0  X.  { 0 } ) `  0
)  =  0
1511, 14syl6eq 2452 . 2  |-  ( F  =  0 p  -> 
( A `  N
)  =  0 )
161coefv0 20119 . . . . . . . 8  |-  ( F  e.  (Poly `  S
)  ->  ( F `  0 )  =  ( A `  0
) )
1716adantr 452 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( F `  0
)  =  ( A `
 0 ) )
18 simpr 448 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  NN )
1918nnred 9971 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  RR )
2019ltm1d 9899 . . . . . . . . . 10  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  -  1 )  <  N )
21 simpll 731 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  F  e.  (Poly `  S ) )
22 nnm1nn0 10217 . . . . . . . . . . . . 13  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  NN0 )
2322adantl 453 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  -  1 )  e.  NN0 )
241, 6dgrub 20106 . . . . . . . . . . . . . . . . . . 19  |-  ( ( F  e.  (Poly `  S )  /\  k  e.  NN0  /\  ( A `
 k )  =/=  0 )  ->  k  <_  N )
25243expia 1155 . . . . . . . . . . . . . . . . . 18  |-  ( ( F  e.  (Poly `  S )  /\  k  e.  NN0 )  ->  (
( A `  k
)  =/=  0  -> 
k  <_  N )
)
2625ad2ant2rl 730 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  k  <_  N ) )
27 simplr 732 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( A `  N )  =  0 )
28 fveq2 5687 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  =  k  ->  ( A `  N )  =  ( A `  k ) )
2928eqeq1d 2412 . . . . . . . . . . . . . . . . . . 19  |-  ( N  =  k  ->  (
( A `  N
)  =  0  <->  ( A `  k )  =  0 ) )
3027, 29syl5ibcom 212 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( N  =  k  ->  ( A `
 k )  =  0 ) )
3130necon3d 2605 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  N  =/=  k ) )
3226, 31jcad 520 . . . . . . . . . . . . . . . 16  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  ( k  <_  N  /\  N  =/=  k ) ) )
33 nn0re 10186 . . . . . . . . . . . . . . . . . . 19  |-  ( k  e.  NN0  ->  k  e.  RR )
3433ad2antll 710 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  k  e.  RR )
35 nnre 9963 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  e.  RR )
3635ad2antrl 709 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  N  e.  RR )
3734, 36ltlend 9174 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( k  <  N  <->  ( k  <_  N  /\  N  =/=  k
) ) )
38 nn0z 10260 . . . . . . . . . . . . . . . . . . 19  |-  ( k  e.  NN0  ->  k  e.  ZZ )
3938ad2antll 710 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  k  e.  ZZ )
40 nnz 10259 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  e.  ZZ )
4140ad2antrl 709 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  N  e.  ZZ )
42 zltlem1 10284 . . . . . . . . . . . . . . . . . 18  |-  ( ( k  e.  ZZ  /\  N  e.  ZZ )  ->  ( k  <  N  <->  k  <_  ( N  - 
1 ) ) )
4339, 41, 42syl2anc 643 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( k  <  N  <->  k  <_  ( N  -  1 ) ) )
4437, 43bitr3d 247 . . . . . . . . . . . . . . . 16  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( (
k  <_  N  /\  N  =/=  k )  <->  k  <_  ( N  -  1 ) ) )
4532, 44sylibd 206 . . . . . . . . . . . . . . 15  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  k  <_ 
( N  -  1 ) ) )
4645expr 599 . . . . . . . . . . . . . 14  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( k  e.  NN0  ->  ( ( A `  k )  =/=  0  ->  k  <_  ( N  -  1 ) ) ) )
4746ralrimiv 2748 . . . . . . . . . . . . 13  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  A. k  e.  NN0  ( ( A `  k )  =/=  0  ->  k  <_  ( N  -  1 ) ) )
481coef3 20104 . . . . . . . . . . . . . . 15  |-  ( F  e.  (Poly `  S
)  ->  A : NN0
--> CC )
4948ad2antrr 707 . . . . . . . . . . . . . 14  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  A : NN0 --> CC )
50 plyco0 20064 . . . . . . . . . . . . . 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 643 . . . . . . . . . . . . 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 224 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( A " ( ZZ>=
`  ( ( N  -  1 )  +  1 ) ) )  =  { 0 } )
531, 6dgrlb 20108 . . . . . . . . . . . 12  |-  ( ( F  e.  (Poly `  S )  /\  ( N  -  1 )  e.  NN0  /\  ( A " ( ZZ>= `  (
( N  -  1 )  +  1 ) ) )  =  {
0 } )  ->  N  <_  ( N  - 
1 ) )
5421, 23, 52, 53syl3anc 1184 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  <_  ( N  -  1 ) )
5535adantl 453 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  RR )
56 peano2rem 9323 . . . . . . . . . . . . 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 9175 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  <_  ( N  -  1 )  <->  -.  ( N  -  1 )  <  N ) )
5954, 58mpbid 202 . . . . . . . . . 10  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  -.  ( N  - 
1 )  <  N
)
6020, 59pm2.65da 560 . . . . . . . . 9  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  -.  N  e.  NN )
61 dgrcl 20105 . . . . . . . . . . . . 13  |-  ( F  e.  (Poly `  S
)  ->  (deg `  F
)  e.  NN0 )
626, 61syl5eqel 2488 . . . . . . . . . . . 12  |-  ( F  e.  (Poly `  S
)  ->  N  e.  NN0 )
6362adantr 452 . . . . . . . . . . 11  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  N  e.  NN0 )
64 elnn0 10179 . . . . . . . . . . 11  |-  ( N  e.  NN0  <->  ( N  e.  NN  \/  N  =  0 ) )
6563, 64sylib 189 . . . . . . . . . 10  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( N  e.  NN  \/  N  =  0
) )
6665ord 367 . . . . . . . . 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 5691 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( A `  N
)  =  ( A `
 0 ) )
69 simpr 448 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( A `  N
)  =  0 )
7017, 68, 693eqtr2d 2442 . . . . . 6  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( F `  0
)  =  0 )
7170sneqd 3787 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  { ( F ` 
0 ) }  =  { 0 } )
7271xpeq2d 4861 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( CC  X.  {
( F `  0
) } )  =  ( CC  X.  {
0 } ) )
736, 67syl5eqr 2450 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
(deg `  F )  =  0 )
74 0dgrb 20118 . . . . . 6  |-  ( F  e.  (Poly `  S
)  ->  ( (deg `  F )  =  0  <-> 
F  =  ( CC 
X.  { ( F `
 0 ) } ) ) )
7574adantr 452 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( (deg `  F
)  =  0  <->  F  =  ( CC  X.  { ( F ` 
0 ) } ) ) )
7673, 75mpbid 202 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  F  =  ( CC  X.  { ( F ` 
0 ) } ) )
77 df-0p 19515 . . . . 5  |-  0 p  =  ( CC  X.  { 0 } )
7877a1i 11 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
0 p  =  ( CC  X.  { 0 } ) )
7972, 76, 783eqtr4d 2446 . . 3  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  F  =  0 p
)
8079ex 424 . 2  |-  ( F  e.  (Poly `  S
)  ->  ( ( A `  N )  =  0  ->  F  =  0 p ) )
8115, 80impbid2 196 1  |-  ( F  e.  (Poly `  S
)  ->  ( F  =  0 p  <->  ( A `  N )  =  0 ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 177    \/ wo 358    /\ wa 359    = wceq 1649    e. wcel 1721    =/= wne 2567   A.wral 2666   {csn 3774   class class class wbr 4172    X. cxp 4835   "cima 4840   -->wf 5409   ` cfv 5413  (class class class)co 6040   CCcc 8944   RRcr 8945   0cc0 8946   1c1 8947    + caddc 8949    < clt 9076    <_ cle 9077    - cmin 9247   NNcn 9956   NN0cn0 10177   ZZcz 10238   ZZ>=cuz 10444   0 pc0p 19514  Polycply 20056  coeffccoe 20058  degcdgr 20059
This theorem is referenced by:  dgrlt  20137  dgradd2  20139  dgrmul  20141  dgrcolem2  20145  plymul0or  20151  plydivlem4  20166  plydiveu  20168  vieta1lem2  20181  vieta1  20182  aareccl  20196  ftalem2  20809  ftalem4  20811  ftalem5  20812  mpaaeu  27223
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1662  ax-8 1683  ax-13 1723  ax-14 1725  ax-6 1740  ax-7 1745  ax-11 1757  ax-12 1946  ax-ext 2385  ax-rep 4280  ax-sep 4290  ax-nul 4298  ax-pow 4337  ax-pr 4363  ax-un 4660  ax-inf2 7552  ax-cnex 9002  ax-resscn 9003  ax-1cn 9004  ax-icn 9005  ax-addcl 9006  ax-addrcl 9007  ax-mulcl 9008  ax-mulrcl 9009  ax-mulcom 9010  ax-addass 9011  ax-mulass 9012  ax-distr 9013  ax-i2m1 9014  ax-1ne0 9015  ax-1rid 9016  ax-rnegex 9017  ax-rrecex 9018  ax-cnre 9019  ax-pre-lttri 9020  ax-pre-lttrn 9021  ax-pre-ltadd 9022  ax-pre-mulgt0 9023  ax-pre-sup 9024  ax-addf 9025
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2258  df-mo 2259  df-clab 2391  df-cleq 2397  df-clel 2400  df-nfc 2529  df-ne 2569  df-nel 2570  df-ral 2671  df-rex 2672  df-reu 2673  df-rmo 2674  df-rab 2675  df-v 2918  df-sbc 3122  df-csb 3212  df-dif 3283  df-un 3285  df-in 3287  df-ss 3294  df-pss 3296  df-nul 3589  df-if 3700  df-pw 3761  df-sn 3780  df-pr 3781  df-tp 3782  df-op 3783  df-uni 3976  df-int 4011  df-iun 4055  df-br 4173  df-opab 4227  df-mpt 4228  df-tr 4263  df-eprel 4454  df-id 4458  df-po 4463  df-so 4464  df-fr 4501  df-se 4502  df-we 4503  df-ord 4544  df-on 4545  df-lim 4546  df-suc 4547  df-om 4805  df-xp 4843  df-rel 4844  df-cnv 4845  df-co 4846  df-dm 4847  df-rn 4848  df-res 4849  df-ima 4850  df-iota 5377  df-fun 5415  df-fn 5416  df-f 5417  df-f1 5418  df-fo 5419  df-f1o 5420  df-fv 5421  df-isom 5422  df-ov 6043  df-oprab 6044  df-mpt2 6045  df-of 6264  df-1st 6308  df-2nd 6309  df-riota 6508  df-recs 6592  df-rdg 6627  df-1o 6683  df-oadd 6687  df-er 6864  df-map 6979  df-pm 6980  df-en 7069  df-dom 7070  df-sdom 7071  df-fin 7072  df-sup 7404  df-oi 7435  df-card 7782  df-pnf 9078  df-mnf 9079  df-xr 9080  df-ltxr 9081  df-le 9082  df-sub 9249  df-neg 9250  df-div 9634  df-nn 9957  df-2 10014  df-3 10015  df-n0 10178  df-z 10239  df-uz 10445  df-rp 10569  df-fz 11000  df-fzo 11091  df-fl 11157  df-seq 11279  df-exp 11338  df-hash 11574  df-cj 11859  df-re 11860  df-im 11861  df-sqr 11995  df-abs 11996  df-clim 12237  df-rlim 12238  df-sum 12435  df-0p 19515  df-ply 20060  df-coe 20062  df-dgr 20063
  Copyright terms: Public domain W3C validator