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

Theorem dgreq0 22747
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 5774 . . . . . 6  |-  ( F  =  0p  -> 
(coeff `  F )  =  (coeff `  0p
) )
31, 2syl5eq 2435 . . . . 5  |-  ( F  =  0p  ->  A  =  (coeff `  0p ) )
4 coe0 22738 . . . . 5  |-  (coeff ` 
0p )  =  ( NN0  X.  {
0 } )
53, 4syl6eq 2439 . . . 4  |-  ( F  =  0p  ->  A  =  ( NN0  X. 
{ 0 } ) )
6 dgreq0.1 . . . . . 6  |-  N  =  (deg `  F )
7 fveq2 5774 . . . . . 6  |-  ( F  =  0p  -> 
(deg `  F )  =  (deg `  0p
) )
86, 7syl5eq 2435 . . . . 5  |-  ( F  =  0p  ->  N  =  (deg `  0p ) )
9 dgr0 22744 . . . . 5  |-  (deg ` 
0p )  =  0
108, 9syl6eq 2439 . . . 4  |-  ( F  =  0p  ->  N  =  0 )
115, 10fveq12d 5780 . . 3  |-  ( F  =  0p  -> 
( A `  N
)  =  ( ( NN0  X.  { 0 } ) `  0
) )
12 0nn0 10727 . . . 4  |-  0  e.  NN0
13 fvconst2g 6027 . . . 4  |-  ( ( 0  e.  NN0  /\  0  e.  NN0 )  -> 
( ( NN0  X.  { 0 } ) `
 0 )  =  0 )
1412, 12, 13mp2an 670 . . 3  |-  ( ( NN0  X.  { 0 } ) `  0
)  =  0
1511, 14syl6eq 2439 . 2  |-  ( F  =  0p  -> 
( A `  N
)  =  0 )
161coefv0 22730 . . . . . . . 8  |-  ( F  e.  (Poly `  S
)  ->  ( F `  0 )  =  ( A `  0
) )
1716adantr 463 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( F `  0
)  =  ( A `
 0 ) )
18 simpr 459 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  NN )
1918nnred 10467 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  RR )
2019ltm1d 10394 . . . . . . . . . 10  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  -  1 )  <  N )
21 simpll 751 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  F  e.  (Poly `  S ) )
22 nnm1nn0 10754 . . . . . . . . . . . . 13  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  NN0 )
2322adantl 464 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  -  1 )  e.  NN0 )
241, 6dgrub 22716 . . . . . . . . . . . . . . . . . . 19  |-  ( ( F  e.  (Poly `  S )  /\  k  e.  NN0  /\  ( A `
 k )  =/=  0 )  ->  k  <_  N )
25243expia 1196 . . . . . . . . . . . . . . . . . 18  |-  ( ( F  e.  (Poly `  S )  /\  k  e.  NN0 )  ->  (
( A `  k
)  =/=  0  -> 
k  <_  N )
)
2625ad2ant2rl 746 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  k  <_  N ) )
27 simplr 753 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( A `  N )  =  0 )
28 fveq2 5774 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  =  k  ->  ( A `  N )  =  ( A `  k ) )
2928eqeq1d 2384 . . . . . . . . . . . . . . . . . . 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 2606 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  N  =/=  k ) )
3226, 31jcad 531 . . . . . . . . . . . . . . . 16  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  ( k  <_  N  /\  N  =/=  k ) ) )
33 nn0re 10721 . . . . . . . . . . . . . . . . . . 19  |-  ( k  e.  NN0  ->  k  e.  RR )
3433ad2antll 726 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  k  e.  RR )
35 nnre 10459 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  e.  RR )
3635ad2antrl 725 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  N  e.  RR )
3734, 36ltlend 9641 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( k  <  N  <->  ( k  <_  N  /\  N  =/=  k
) ) )
38 nn0z 10804 . . . . . . . . . . . . . . . . . . 19  |-  ( k  e.  NN0  ->  k  e.  ZZ )
3938ad2antll 726 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  k  e.  ZZ )
40 nnz 10803 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  e.  ZZ )
4140ad2antrl 725 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  N  e.  ZZ )
42 zltlem1 10833 . . . . . . . . . . . . . . . . . 18  |-  ( ( k  e.  ZZ  /\  N  e.  ZZ )  ->  ( k  <  N  <->  k  <_  ( N  - 
1 ) ) )
4339, 41, 42syl2anc 659 . . . . . . . . . . . . . . . . 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 613 . . . . . . . . . . . . . 14  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( k  e.  NN0  ->  ( ( A `  k )  =/=  0  ->  k  <_  ( N  -  1 ) ) ) )
4746ralrimiv 2794 . . . . . . . . . . . . 13  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  A. k  e.  NN0  ( ( A `  k )  =/=  0  ->  k  <_  ( N  -  1 ) ) )
481coef3 22714 . . . . . . . . . . . . . . 15  |-  ( F  e.  (Poly `  S
)  ->  A : NN0
--> CC )
4948ad2antrr 723 . . . . . . . . . . . . . 14  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  A : NN0 --> CC )
50 plyco0 22674 . . . . . . . . . . . . . 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 659 . . . . . . . . . . . . 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 22718 . . . . . . . . . . . 12  |-  ( ( F  e.  (Poly `  S )  /\  ( N  -  1 )  e.  NN0  /\  ( A " ( ZZ>= `  (
( N  -  1 )  +  1 ) ) )  =  {
0 } )  ->  N  <_  ( N  - 
1 ) )
5421, 23, 52, 53syl3anc 1226 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  <_  ( N  -  1 ) )
5535adantl 464 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  RR )
56 peano2rem 9799 . . . . . . . . . . . . 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 9642 . . . . . . . . . . 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 574 . . . . . . . . 9  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  -.  N  e.  NN )
61 dgrcl 22715 . . . . . . . . . . . . 13  |-  ( F  e.  (Poly `  S
)  ->  (deg `  F
)  e.  NN0 )
626, 61syl5eqel 2474 . . . . . . . . . . . 12  |-  ( F  e.  (Poly `  S
)  ->  N  e.  NN0 )
6362adantr 463 . . . . . . . . . . 11  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  N  e.  NN0 )
64 elnn0 10714 . . . . . . . . . . 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 375 . . . . . . . . 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 5778 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( A `  N
)  =  ( A `
 0 ) )
69 simpr 459 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( A `  N
)  =  0 )
7017, 68, 693eqtr2d 2429 . . . . . 6  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( F `  0
)  =  0 )
7170sneqd 3956 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  { ( F ` 
0 ) }  =  { 0 } )
7271xpeq2d 4937 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( CC  X.  {
( F `  0
) } )  =  ( CC  X.  {
0 } ) )
736, 67syl5eqr 2437 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
(deg `  F )  =  0 )
74 0dgrb 22728 . . . . . 6  |-  ( F  e.  (Poly `  S
)  ->  ( (deg `  F )  =  0  <-> 
F  =  ( CC 
X.  { ( F `
 0 ) } ) ) )
7574adantr 463 . . . . 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 22162 . . . . 5  |-  0p  =  ( CC  X.  { 0 } )
7877a1i 11 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
0p  =  ( CC  X.  { 0 } ) )
7972, 76, 783eqtr4d 2433 . . 3  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  F  =  0p
)
8079ex 432 . 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 366    /\ wa 367    = wceq 1399    e. wcel 1826    =/= wne 2577   A.wral 2732   {csn 3944   class class class wbr 4367    X. cxp 4911   "cima 4916   -->wf 5492   ` cfv 5496  (class class class)co 6196   CCcc 9401   RRcr 9402   0cc0 9403   1c1 9404    + caddc 9406    < clt 9539    <_ cle 9540    - cmin 9718   NNcn 10452   NN0cn0 10712   ZZcz 10781   ZZ>=cuz 11001   0pc0p 22161  Polycply 22666  coeffccoe 22668  degcdgr 22669
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1626  ax-4 1639  ax-5 1712  ax-6 1755  ax-7 1798  ax-8 1828  ax-9 1830  ax-10 1845  ax-11 1850  ax-12 1862  ax-13 2006  ax-ext 2360  ax-rep 4478  ax-sep 4488  ax-nul 4496  ax-pow 4543  ax-pr 4601  ax-un 6491  ax-inf2 7972  ax-cnex 9459  ax-resscn 9460  ax-1cn 9461  ax-icn 9462  ax-addcl 9463  ax-addrcl 9464  ax-mulcl 9465  ax-mulrcl 9466  ax-mulcom 9467  ax-addass 9468  ax-mulass 9469  ax-distr 9470  ax-i2m1 9471  ax-1ne0 9472  ax-1rid 9473  ax-rnegex 9474  ax-rrecex 9475  ax-cnre 9476  ax-pre-lttri 9477  ax-pre-lttrn 9478  ax-pre-ltadd 9479  ax-pre-mulgt0 9480  ax-pre-sup 9481  ax-addf 9482
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3or 972  df-3an 973  df-tru 1402  df-fal 1405  df-ex 1621  df-nf 1625  df-sb 1748  df-eu 2222  df-mo 2223  df-clab 2368  df-cleq 2374  df-clel 2377  df-nfc 2532  df-ne 2579  df-nel 2580  df-ral 2737  df-rex 2738  df-reu 2739  df-rmo 2740  df-rab 2741  df-v 3036  df-sbc 3253  df-csb 3349  df-dif 3392  df-un 3394  df-in 3396  df-ss 3403  df-pss 3405  df-nul 3712  df-if 3858  df-pw 3929  df-sn 3945  df-pr 3947  df-tp 3949  df-op 3951  df-uni 4164  df-int 4200  df-iun 4245  df-br 4368  df-opab 4426  df-mpt 4427  df-tr 4461  df-eprel 4705  df-id 4709  df-po 4714  df-so 4715  df-fr 4752  df-se 4753  df-we 4754  df-ord 4795  df-on 4796  df-lim 4797  df-suc 4798  df-xp 4919  df-rel 4920  df-cnv 4921  df-co 4922  df-dm 4923  df-rn 4924  df-res 4925  df-ima 4926  df-iota 5460  df-fun 5498  df-fn 5499  df-f 5500  df-f1 5501  df-fo 5502  df-f1o 5503  df-fv 5504  df-isom 5505  df-riota 6158  df-ov 6199  df-oprab 6200  df-mpt2 6201  df-of 6439  df-om 6600  df-1st 6699  df-2nd 6700  df-recs 6960  df-rdg 6994  df-1o 7048  df-oadd 7052  df-er 7229  df-map 7340  df-pm 7341  df-en 7436  df-dom 7437  df-sdom 7438  df-fin 7439  df-sup 7816  df-oi 7850  df-card 8233  df-pnf 9541  df-mnf 9542  df-xr 9543  df-ltxr 9544  df-le 9545  df-sub 9720  df-neg 9721  df-div 10124  df-nn 10453  df-2 10511  df-3 10512  df-n0 10713  df-z 10782  df-uz 11002  df-rp 11140  df-fz 11594  df-fzo 11718  df-fl 11828  df-seq 12011  df-exp 12070  df-hash 12308  df-cj 12934  df-re 12935  df-im 12936  df-sqrt 13070  df-abs 13071  df-clim 13313  df-rlim 13314  df-sum 13511  df-0p 22162  df-ply 22670  df-coe 22672  df-dgr 22673
This theorem is referenced by:  dgrlt  22748  dgradd2  22750  dgrmul  22752  dgrcolem2  22756  plymul0or  22762  plydivlem4  22777  plydiveu  22779  vieta1lem2  22792  vieta1  22793  aareccl  22807  ftalem2  23464  ftalem4  23466  ftalem5  23467  signsply0  28691  mpaaeu  31267  elaa2lem  32182
  Copyright terms: Public domain W3C validator