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

Theorem dgreq0 19662
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 5541 . . . . . 6  |-  ( F  =  0 p  -> 
(coeff `  F )  =  (coeff `  0 p
) )
31, 2syl5eq 2340 . . . . 5  |-  ( F  =  0 p  ->  A  =  (coeff `  0 p ) )
4 coe0 19653 . . . . 5  |-  (coeff ` 
0 p )  =  ( NN0  X.  {
0 } )
53, 4syl6eq 2344 . . . 4  |-  ( F  =  0 p  ->  A  =  ( NN0  X. 
{ 0 } ) )
6 dgreq0.1 . . . . . 6  |-  N  =  (deg `  F )
7 fveq2 5541 . . . . . 6  |-  ( F  =  0 p  -> 
(deg `  F )  =  (deg `  0 p
) )
86, 7syl5eq 2340 . . . . 5  |-  ( F  =  0 p  ->  N  =  (deg `  0 p ) )
9 dgr0 19659 . . . . 5  |-  (deg ` 
0 p )  =  0
108, 9syl6eq 2344 . . . 4  |-  ( F  =  0 p  ->  N  =  0 )
115, 10fveq12d 5547 . . 3  |-  ( F  =  0 p  -> 
( A `  N
)  =  ( ( NN0  X.  { 0 } ) `  0
) )
12 0nn0 9996 . . . 4  |-  0  e.  NN0
13 fvconst2g 5743 . . . 4  |-  ( ( 0  e.  NN0  /\  0  e.  NN0 )  -> 
( ( NN0  X.  { 0 } ) `
 0 )  =  0 )
1412, 12, 13mp2an 653 . . 3  |-  ( ( NN0  X.  { 0 } ) `  0
)  =  0
1511, 14syl6eq 2344 . 2  |-  ( F  =  0 p  -> 
( A `  N
)  =  0 )
161coefv0 19645 . . . . . . . 8  |-  ( F  e.  (Poly `  S
)  ->  ( F `  0 )  =  ( A `  0
) )
1716adantr 451 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( F `  0
)  =  ( A `
 0 ) )
18 simpr 447 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  NN )
1918nnred 9777 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  RR )
2019ltm1d 9705 . . . . . . . . . 10  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  -  1 )  <  N )
21 simpll 730 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  F  e.  (Poly `  S ) )
22 nnm1nn0 10021 . . . . . . . . . . . . 13  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  NN0 )
2322adantl 452 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  -  1 )  e.  NN0 )
241, 6dgrub 19632 . . . . . . . . . . . . . . . . . . 19  |-  ( ( F  e.  (Poly `  S )  /\  k  e.  NN0  /\  ( A `
 k )  =/=  0 )  ->  k  <_  N )
25243expia 1153 . . . . . . . . . . . . . . . . . 18  |-  ( ( F  e.  (Poly `  S )  /\  k  e.  NN0 )  ->  (
( A `  k
)  =/=  0  -> 
k  <_  N )
)
2625ad2ant2rl 729 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  k  <_  N ) )
27 simplr 731 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( A `  N )  =  0 )
28 fveq2 5541 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  =  k  ->  ( A `  N )  =  ( A `  k ) )
2928eqeq1d 2304 . . . . . . . . . . . . . . . . . . 19  |-  ( N  =  k  ->  (
( A `  N
)  =  0  <->  ( A `  k )  =  0 ) )
3027, 29syl5ibcom 211 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( N  =  k  ->  ( A `
 k )  =  0 ) )
3130necon3d 2497 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  N  =/=  k ) )
3226, 31jcad 519 . . . . . . . . . . . . . . . 16  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  ( k  <_  N  /\  N  =/=  k ) ) )
33 nn0re 9990 . . . . . . . . . . . . . . . . . . 19  |-  ( k  e.  NN0  ->  k  e.  RR )
3433ad2antll 709 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  k  e.  RR )
35 nnre 9769 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  e.  RR )
3635ad2antrl 708 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  N  e.  RR )
3734, 36ltlend 8980 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( k  <  N  <->  ( k  <_  N  /\  N  =/=  k
) ) )
38 nn0z 10062 . . . . . . . . . . . . . . . . . . 19  |-  ( k  e.  NN0  ->  k  e.  ZZ )
3938ad2antll 709 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  k  e.  ZZ )
40 nnz 10061 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  e.  ZZ )
4140ad2antrl 708 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  N  e.  ZZ )
42 zltlem1 10086 . . . . . . . . . . . . . . . . . 18  |-  ( ( k  e.  ZZ  /\  N  e.  ZZ )  ->  ( k  <  N  <->  k  <_  ( N  - 
1 ) ) )
4339, 41, 42syl2anc 642 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( k  <  N  <->  k  <_  ( N  -  1 ) ) )
4437, 43bitr3d 246 . . . . . . . . . . . . . . . 16  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( (
k  <_  N  /\  N  =/=  k )  <->  k  <_  ( N  -  1 ) ) )
4532, 44sylibd 205 . . . . . . . . . . . . . . 15  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  k  <_ 
( N  -  1 ) ) )
4645expr 598 . . . . . . . . . . . . . 14  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( k  e.  NN0  ->  ( ( A `  k )  =/=  0  ->  k  <_  ( N  -  1 ) ) ) )
4746ralrimiv 2638 . . . . . . . . . . . . 13  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  A. k  e.  NN0  ( ( A `  k )  =/=  0  ->  k  <_  ( N  -  1 ) ) )
481coef3 19630 . . . . . . . . . . . . . . 15  |-  ( F  e.  (Poly `  S
)  ->  A : NN0
--> CC )
4948ad2antrr 706 . . . . . . . . . . . . . 14  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  A : NN0 --> CC )
50 plyco0 19590 . . . . . . . . . . . . . 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 642 . . . . . . . . . . . . 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 223 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( A " ( ZZ>=
`  ( ( N  -  1 )  +  1 ) ) )  =  { 0 } )
531, 6dgrlb 19634 . . . . . . . . . . . 12  |-  ( ( F  e.  (Poly `  S )  /\  ( N  -  1 )  e.  NN0  /\  ( A " ( ZZ>= `  (
( N  -  1 )  +  1 ) ) )  =  {
0 } )  ->  N  <_  ( N  - 
1 ) )
5421, 23, 52, 53syl3anc 1182 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  <_  ( N  -  1 ) )
5535adantl 452 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  RR )
56 peano2rem 9129 . . . . . . . . . . . . 13  |-  ( N  e.  RR  ->  ( N  -  1 )  e.  RR )
5755, 56syl 15 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  -  1 )  e.  RR )
5855, 57lenltd 8981 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  <_  ( N  -  1 )  <->  -.  ( N  -  1 )  <  N ) )
5954, 58mpbid 201 . . . . . . . . . 10  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  -.  ( N  - 
1 )  <  N
)
6020, 59pm2.65da 559 . . . . . . . . 9  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  -.  N  e.  NN )
61 dgrcl 19631 . . . . . . . . . . . . 13  |-  ( F  e.  (Poly `  S
)  ->  (deg `  F
)  e.  NN0 )
626, 61syl5eqel 2380 . . . . . . . . . . . 12  |-  ( F  e.  (Poly `  S
)  ->  N  e.  NN0 )
6362adantr 451 . . . . . . . . . . 11  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  N  e.  NN0 )
64 elnn0 9983 . . . . . . . . . . 11  |-  ( N  e.  NN0  <->  ( N  e.  NN  \/  N  =  0 ) )
6563, 64sylib 188 . . . . . . . . . 10  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( N  e.  NN  \/  N  =  0
) )
6665ord 366 . . . . . . . . 9  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( -.  N  e.  NN  ->  N  = 
0 ) )
6760, 66mpd 14 . . . . . . . 8  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  N  =  0 )
6867fveq2d 5545 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( A `  N
)  =  ( A `
 0 ) )
69 simpr 447 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( A `  N
)  =  0 )
7017, 68, 693eqtr2d 2334 . . . . . 6  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( F `  0
)  =  0 )
7170sneqd 3666 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  { ( F ` 
0 ) }  =  { 0 } )
7271xpeq2d 4729 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( CC  X.  {
( F `  0
) } )  =  ( CC  X.  {
0 } ) )
736, 67syl5eqr 2342 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
(deg `  F )  =  0 )
74 0dgrb 19644 . . . . . 6  |-  ( F  e.  (Poly `  S
)  ->  ( (deg `  F )  =  0  <-> 
F  =  ( CC 
X.  { ( F `
 0 ) } ) ) )
7574adantr 451 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( (deg `  F
)  =  0  <->  F  =  ( CC  X.  { ( F ` 
0 ) } ) ) )
7673, 75mpbid 201 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  F  =  ( CC  X.  { ( F ` 
0 ) } ) )
77 df-0p 19041 . . . . 5  |-  0 p  =  ( CC  X.  { 0 } )
7877a1i 10 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
0 p  =  ( CC  X.  { 0 } ) )
7972, 76, 783eqtr4d 2338 . . 3  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  F  =  0 p
)
8079ex 423 . 2  |-  ( F  e.  (Poly `  S
)  ->  ( ( A `  N )  =  0  ->  F  =  0 p ) )
8115, 80impbid2 195 1  |-  ( F  e.  (Poly `  S
)  ->  ( F  =  0 p  <->  ( A `  N )  =  0 ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 176    \/ wo 357    /\ wa 358    = wceq 1632    e. wcel 1696    =/= wne 2459   A.wral 2556   {csn 3653   class class class wbr 4039    X. cxp 4703   "cima 4708   -->wf 5267   ` cfv 5271  (class class class)co 5874   CCcc 8751   RRcr 8752   0cc0 8753   1c1 8754    + caddc 8756    < clt 8883    <_ cle 8884    - cmin 9053   NNcn 9762   NN0cn0 9981   ZZcz 10040   ZZ>=cuz 10246   0 pc0p 19040  Polycply 19582  coeffccoe 19584  degcdgr 19585
This theorem is referenced by:  dgrlt  19663  dgradd2  19665  dgrmul  19667  dgrcolem2  19671  plymul0or  19677  plydivlem4  19692  plydiveu  19694  vieta1lem2  19707  vieta1  19708  aareccl  19722  ftalem2  20327  ftalem4  20329  ftalem5  20330  mpaaeu  27458
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1536  ax-5 1547  ax-17 1606  ax-9 1644  ax-8 1661  ax-13 1698  ax-14 1700  ax-6 1715  ax-7 1720  ax-11 1727  ax-12 1878  ax-ext 2277  ax-rep 4147  ax-sep 4157  ax-nul 4165  ax-pow 4204  ax-pr 4230  ax-un 4528  ax-inf2 7358  ax-cnex 8809  ax-resscn 8810  ax-1cn 8811  ax-icn 8812  ax-addcl 8813  ax-addrcl 8814  ax-mulcl 8815  ax-mulrcl 8816  ax-mulcom 8817  ax-addass 8818  ax-mulass 8819  ax-distr 8820  ax-i2m1 8821  ax-1ne0 8822  ax-1rid 8823  ax-rnegex 8824  ax-rrecex 8825  ax-cnre 8826  ax-pre-lttri 8827  ax-pre-lttrn 8828  ax-pre-ltadd 8829  ax-pre-mulgt0 8830  ax-pre-sup 8831  ax-addf 8832
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1532  df-nf 1535  df-sb 1639  df-eu 2160  df-mo 2161  df-clab 2283  df-cleq 2289  df-clel 2292  df-nfc 2421  df-ne 2461  df-nel 2462  df-ral 2561  df-rex 2562  df-reu 2563  df-rmo 2564  df-rab 2565  df-v 2803  df-sbc 3005  df-csb 3095  df-dif 3168  df-un 3170  df-in 3172  df-ss 3179  df-pss 3181  df-nul 3469  df-if 3579  df-pw 3640  df-sn 3659  df-pr 3660  df-tp 3661  df-op 3662  df-uni 3844  df-int 3879  df-iun 3923  df-br 4040  df-opab 4094  df-mpt 4095  df-tr 4130  df-eprel 4321  df-id 4325  df-po 4330  df-so 4331  df-fr 4368  df-se 4369  df-we 4370  df-ord 4411  df-on 4412  df-lim 4413  df-suc 4414  df-om 4673  df-xp 4711  df-rel 4712  df-cnv 4713  df-co 4714  df-dm 4715  df-rn 4716  df-res 4717  df-ima 4718  df-iota 5235  df-fun 5273  df-fn 5274  df-f 5275  df-f1 5276  df-fo 5277  df-f1o 5278  df-fv 5279  df-isom 5280  df-ov 5877  df-oprab 5878  df-mpt2 5879  df-of 6094  df-1st 6138  df-2nd 6139  df-riota 6320  df-recs 6404  df-rdg 6439  df-1o 6495  df-oadd 6499  df-er 6676  df-map 6790  df-pm 6791  df-en 6880  df-dom 6881  df-sdom 6882  df-fin 6883  df-sup 7210  df-oi 7241  df-card 7588  df-pnf 8885  df-mnf 8886  df-xr 8887  df-ltxr 8888  df-le 8889  df-sub 9055  df-neg 9056  df-div 9440  df-nn 9763  df-2 9820  df-3 9821  df-n0 9982  df-z 10041  df-uz 10247  df-rp 10371  df-fz 10799  df-fzo 10887  df-fl 10941  df-seq 11063  df-exp 11121  df-hash 11354  df-cj 11600  df-re 11601  df-im 11602  df-sqr 11736  df-abs 11737  df-clim 11978  df-rlim 11979  df-sum 12175  df-0p 19041  df-ply 19586  df-coe 19588  df-dgr 19589
  Copyright terms: Public domain W3C validator