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

Theorem dgreq0 23161
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 5825 . . . . . 6  |-  ( F  =  0p  -> 
(coeff `  F )  =  (coeff `  0p
) )
31, 2syl5eq 2474 . . . . 5  |-  ( F  =  0p  ->  A  =  (coeff `  0p ) )
4 coe0 23152 . . . . 5  |-  (coeff ` 
0p )  =  ( NN0  X.  {
0 } )
53, 4syl6eq 2478 . . . 4  |-  ( F  =  0p  ->  A  =  ( NN0  X. 
{ 0 } ) )
6 dgreq0.1 . . . . . 6  |-  N  =  (deg `  F )
7 fveq2 5825 . . . . . 6  |-  ( F  =  0p  -> 
(deg `  F )  =  (deg `  0p
) )
86, 7syl5eq 2474 . . . . 5  |-  ( F  =  0p  ->  N  =  (deg `  0p ) )
9 dgr0 23158 . . . . 5  |-  (deg ` 
0p )  =  0
108, 9syl6eq 2478 . . . 4  |-  ( F  =  0p  ->  N  =  0 )
115, 10fveq12d 5831 . . 3  |-  ( F  =  0p  -> 
( A `  N
)  =  ( ( NN0  X.  { 0 } ) `  0
) )
12 0nn0 10835 . . . 4  |-  0  e.  NN0
13 fvconst2g 6077 . . . 4  |-  ( ( 0  e.  NN0  /\  0  e.  NN0 )  -> 
( ( NN0  X.  { 0 } ) `
 0 )  =  0 )
1412, 12, 13mp2an 676 . . 3  |-  ( ( NN0  X.  { 0 } ) `  0
)  =  0
1511, 14syl6eq 2478 . 2  |-  ( F  =  0p  -> 
( A `  N
)  =  0 )
161coefv0 23144 . . . . . . . 8  |-  ( F  e.  (Poly `  S
)  ->  ( F `  0 )  =  ( A `  0
) )
1716adantr 466 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( F `  0
)  =  ( A `
 0 ) )
18 simpr 462 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  NN )
1918nnred 10575 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  RR )
2019ltm1d 10490 . . . . . . . . . 10  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  -  1 )  <  N )
21 simpll 758 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  F  e.  (Poly `  S ) )
22 nnm1nn0 10862 . . . . . . . . . . . . 13  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  NN0 )
2322adantl 467 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  -  1 )  e.  NN0 )
241, 6dgrub 23130 . . . . . . . . . . . . . . . . . . 19  |-  ( ( F  e.  (Poly `  S )  /\  k  e.  NN0  /\  ( A `
 k )  =/=  0 )  ->  k  <_  N )
25243expia 1207 . . . . . . . . . . . . . . . . . 18  |-  ( ( F  e.  (Poly `  S )  /\  k  e.  NN0 )  ->  (
( A `  k
)  =/=  0  -> 
k  <_  N )
)
2625ad2ant2rl 753 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  k  <_  N ) )
27 simplr 760 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( A `  N )  =  0 )
28 fveq2 5825 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  =  k  ->  ( A `  N )  =  ( A `  k ) )
2928eqeq1d 2430 . . . . . . . . . . . . . . . . . . 19  |-  ( N  =  k  ->  (
( A `  N
)  =  0  <->  ( A `  k )  =  0 ) )
3027, 29syl5ibcom 223 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( N  =  k  ->  ( A `
 k )  =  0 ) )
3130necon3d 2622 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  N  =/=  k ) )
3226, 31jcad 535 . . . . . . . . . . . . . . . 16  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  ( k  <_  N  /\  N  =/=  k ) ) )
33 nn0re 10829 . . . . . . . . . . . . . . . . . . 19  |-  ( k  e.  NN0  ->  k  e.  RR )
3433ad2antll 733 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  k  e.  RR )
35 nnre 10567 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  e.  RR )
3635ad2antrl 732 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  N  e.  RR )
3734, 36ltlend 9731 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( k  <  N  <->  ( k  <_  N  /\  N  =/=  k
) ) )
38 nn0z 10911 . . . . . . . . . . . . . . . . . . 19  |-  ( k  e.  NN0  ->  k  e.  ZZ )
3938ad2antll 733 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  k  e.  ZZ )
40 nnz 10910 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  e.  ZZ )
4140ad2antrl 732 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  N  e.  ZZ )
42 zltlem1 10940 . . . . . . . . . . . . . . . . . 18  |-  ( ( k  e.  ZZ  /\  N  e.  ZZ )  ->  ( k  <  N  <->  k  <_  ( N  - 
1 ) ) )
4339, 41, 42syl2anc 665 . . . . . . . . . . . . . . . . 17  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( k  <  N  <->  k  <_  ( N  -  1 ) ) )
4437, 43bitr3d 258 . . . . . . . . . . . . . . . 16  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( (
k  <_  N  /\  N  =/=  k )  <->  k  <_  ( N  -  1 ) ) )
4532, 44sylibd 217 . . . . . . . . . . . . . . 15  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  ( N  e.  NN  /\  k  e.  NN0 )
)  ->  ( ( A `  k )  =/=  0  ->  k  <_ 
( N  -  1 ) ) )
4645expr 618 . . . . . . . . . . . . . 14  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( k  e.  NN0  ->  ( ( A `  k )  =/=  0  ->  k  <_  ( N  -  1 ) ) ) )
4746ralrimiv 2777 . . . . . . . . . . . . 13  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  A. k  e.  NN0  ( ( A `  k )  =/=  0  ->  k  <_  ( N  -  1 ) ) )
481coef3 23128 . . . . . . . . . . . . . . 15  |-  ( F  e.  (Poly `  S
)  ->  A : NN0
--> CC )
4948ad2antrr 730 . . . . . . . . . . . . . 14  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  A : NN0 --> CC )
50 plyco0 23088 . . . . . . . . . . . . . 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 665 . . . . . . . . . . . . 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 235 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( A " ( ZZ>=
`  ( ( N  -  1 )  +  1 ) ) )  =  { 0 } )
531, 6dgrlb 23132 . . . . . . . . . . . 12  |-  ( ( F  e.  (Poly `  S )  /\  ( N  -  1 )  e.  NN0  /\  ( A " ( ZZ>= `  (
( N  -  1 )  +  1 ) ) )  =  {
0 } )  ->  N  <_  ( N  - 
1 ) )
5421, 23, 52, 53syl3anc 1264 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  <_  ( N  -  1 ) )
5535adantl 467 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  N  e.  RR )
56 peano2rem 9892 . . . . . . . . . . . . 13  |-  ( N  e.  RR  ->  ( N  -  1 )  e.  RR )
5755, 56syl 17 . . . . . . . . . . . 12  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  -  1 )  e.  RR )
5855, 57lenltd 9732 . . . . . . . . . . 11  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  ( N  <_  ( N  -  1 )  <->  -.  ( N  -  1 )  <  N ) )
5954, 58mpbid 213 . . . . . . . . . 10  |-  ( ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  /\  N  e.  NN )  ->  -.  ( N  - 
1 )  <  N
)
6020, 59pm2.65da 578 . . . . . . . . 9  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  -.  N  e.  NN )
61 dgrcl 23129 . . . . . . . . . . . . 13  |-  ( F  e.  (Poly `  S
)  ->  (deg `  F
)  e.  NN0 )
626, 61syl5eqel 2510 . . . . . . . . . . . 12  |-  ( F  e.  (Poly `  S
)  ->  N  e.  NN0 )
6362adantr 466 . . . . . . . . . . 11  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  N  e.  NN0 )
64 elnn0 10822 . . . . . . . . . . 11  |-  ( N  e.  NN0  <->  ( N  e.  NN  \/  N  =  0 ) )
6563, 64sylib 199 . . . . . . . . . 10  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( N  e.  NN  \/  N  =  0
) )
6665ord 378 . . . . . . . . 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 5829 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( A `  N
)  =  ( A `
 0 ) )
69 simpr 462 . . . . . . 7  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( A `  N
)  =  0 )
7017, 68, 693eqtr2d 2468 . . . . . 6  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( F `  0
)  =  0 )
7170sneqd 3953 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  { ( F ` 
0 ) }  =  { 0 } )
7271xpeq2d 4820 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( CC  X.  {
( F `  0
) } )  =  ( CC  X.  {
0 } ) )
736, 67syl5eqr 2476 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
(deg `  F )  =  0 )
74 0dgrb 23142 . . . . . 6  |-  ( F  e.  (Poly `  S
)  ->  ( (deg `  F )  =  0  <-> 
F  =  ( CC 
X.  { ( F `
 0 ) } ) ) )
7574adantr 466 . . . . 5  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
( (deg `  F
)  =  0  <->  F  =  ( CC  X.  { ( F ` 
0 ) } ) ) )
7673, 75mpbid 213 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  F  =  ( CC  X.  { ( F ` 
0 ) } ) )
77 df-0p 22570 . . . . 5  |-  0p  =  ( CC  X.  { 0 } )
7877a1i 11 . . . 4  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  -> 
0p  =  ( CC  X.  { 0 } ) )
7972, 76, 783eqtr4d 2472 . . 3  |-  ( ( F  e.  (Poly `  S )  /\  ( A `  N )  =  0 )  ->  F  =  0p
)
8079ex 435 . 2  |-  ( F  e.  (Poly `  S
)  ->  ( ( A `  N )  =  0  ->  F  =  0p ) )
8115, 80impbid2 207 1  |-  ( F  e.  (Poly `  S
)  ->  ( F  =  0p  <->  ( A `  N )  =  0 ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 187    \/ wo 369    /\ wa 370    = wceq 1437    e. wcel 1872    =/= wne 2599   A.wral 2714   {csn 3941   class class class wbr 4366    X. cxp 4794   "cima 4799   -->wf 5540   ` cfv 5544  (class class class)co 6249   CCcc 9488   RRcr 9489   0cc0 9490   1c1 9491    + caddc 9493    < clt 9626    <_ cle 9627    - cmin 9811   NNcn 10560   NN0cn0 10820   ZZcz 10888   ZZ>=cuz 11110   0pc0p 22569  Polycply 23080  coeffccoe 23082  degcdgr 23083
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1663  ax-4 1676  ax-5 1752  ax-6 1798  ax-7 1843  ax-8 1874  ax-9 1876  ax-10 1891  ax-11 1896  ax-12 1909  ax-13 2063  ax-ext 2408  ax-rep 4479  ax-sep 4489  ax-nul 4498  ax-pow 4545  ax-pr 4603  ax-un 6541  ax-inf2 8099  ax-cnex 9546  ax-resscn 9547  ax-1cn 9548  ax-icn 9549  ax-addcl 9550  ax-addrcl 9551  ax-mulcl 9552  ax-mulrcl 9553  ax-mulcom 9554  ax-addass 9555  ax-mulass 9556  ax-distr 9557  ax-i2m1 9558  ax-1ne0 9559  ax-1rid 9560  ax-rnegex 9561  ax-rrecex 9562  ax-cnre 9563  ax-pre-lttri 9564  ax-pre-lttrn 9565  ax-pre-ltadd 9566  ax-pre-mulgt0 9567  ax-pre-sup 9568  ax-addf 9569
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-3or 983  df-3an 984  df-tru 1440  df-fal 1443  df-ex 1658  df-nf 1662  df-sb 1791  df-eu 2280  df-mo 2281  df-clab 2415  df-cleq 2421  df-clel 2424  df-nfc 2558  df-ne 2601  df-nel 2602  df-ral 2719  df-rex 2720  df-reu 2721  df-rmo 2722  df-rab 2723  df-v 3024  df-sbc 3243  df-csb 3339  df-dif 3382  df-un 3384  df-in 3386  df-ss 3393  df-pss 3395  df-nul 3705  df-if 3855  df-pw 3926  df-sn 3942  df-pr 3944  df-tp 3946  df-op 3948  df-uni 4163  df-int 4199  df-iun 4244  df-br 4367  df-opab 4426  df-mpt 4427  df-tr 4462  df-eprel 4707  df-id 4711  df-po 4717  df-so 4718  df-fr 4755  df-se 4756  df-we 4757  df-xp 4802  df-rel 4803  df-cnv 4804  df-co 4805  df-dm 4806  df-rn 4807  df-res 4808  df-ima 4809  df-pred 5342  df-ord 5388  df-on 5389  df-lim 5390  df-suc 5391  df-iota 5508  df-fun 5546  df-fn 5547  df-f 5548  df-f1 5549  df-fo 5550  df-f1o 5551  df-fv 5552  df-isom 5553  df-riota 6211  df-ov 6252  df-oprab 6253  df-mpt2 6254  df-of 6489  df-om 6651  df-1st 6751  df-2nd 6752  df-wrecs 6983  df-recs 7045  df-rdg 7083  df-1o 7137  df-oadd 7141  df-er 7318  df-map 7429  df-pm 7430  df-en 7525  df-dom 7526  df-sdom 7527  df-fin 7528  df-sup 7909  df-inf 7910  df-oi 7978  df-card 8325  df-pnf 9628  df-mnf 9629  df-xr 9630  df-ltxr 9631  df-le 9632  df-sub 9813  df-neg 9814  df-div 10221  df-nn 10561  df-2 10619  df-3 10620  df-n0 10821  df-z 10889  df-uz 11111  df-rp 11254  df-fz 11736  df-fzo 11867  df-fl 11978  df-seq 12164  df-exp 12223  df-hash 12466  df-cj 13106  df-re 13107  df-im 13108  df-sqrt 13242  df-abs 13243  df-clim 13495  df-rlim 13496  df-sum 13696  df-0p 22570  df-ply 23084  df-coe 23086  df-dgr 23087
This theorem is referenced by:  dgrlt  23162  dgradd2  23164  dgrmul  23166  dgrcolem2  23170  plymul0or  23176  plydivlem4  23191  plydiveu  23193  vieta1lem2  23206  vieta1  23207  aareccl  23224  ftalem2  23940  ftalem4  23942  ftalem5  23943  ftalem4OLD  23944  ftalem5OLD  23945  signsply0  29392  mpaaeu  35929  elaa2lem  37980  elaa2lemOLD  37981
  Copyright terms: Public domain W3C validator