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

Theorem dgreq0 24066
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 𝑁 = (deg‘𝐹)
dgreq0.2 𝐴 = (coeff‘𝐹)
Assertion
Ref Expression
dgreq0 (𝐹 ∈ (Poly‘𝑆) → (𝐹 = 0𝑝 ↔ (𝐴𝑁) = 0))

Proof of Theorem dgreq0
Dummy variable 𝑘 is distinct from all other variables.
StepHypRef Expression
1 dgreq0.2 . . . . . 6 𝐴 = (coeff‘𝐹)
2 fveq2 6229 . . . . . 6 (𝐹 = 0𝑝 → (coeff‘𝐹) = (coeff‘0𝑝))
31, 2syl5eq 2697 . . . . 5 (𝐹 = 0𝑝𝐴 = (coeff‘0𝑝))
4 coe0 24057 . . . . 5 (coeff‘0𝑝) = (ℕ0 × {0})
53, 4syl6eq 2701 . . . 4 (𝐹 = 0𝑝𝐴 = (ℕ0 × {0}))
6 dgreq0.1 . . . . . 6 𝑁 = (deg‘𝐹)
7 fveq2 6229 . . . . . 6 (𝐹 = 0𝑝 → (deg‘𝐹) = (deg‘0𝑝))
86, 7syl5eq 2697 . . . . 5 (𝐹 = 0𝑝𝑁 = (deg‘0𝑝))
9 dgr0 24063 . . . . 5 (deg‘0𝑝) = 0
108, 9syl6eq 2701 . . . 4 (𝐹 = 0𝑝𝑁 = 0)
115, 10fveq12d 6235 . . 3 (𝐹 = 0𝑝 → (𝐴𝑁) = ((ℕ0 × {0})‘0))
12 0nn0 11345 . . . 4 0 ∈ ℕ0
13 fvconst2g 6508 . . . 4 ((0 ∈ ℕ0 ∧ 0 ∈ ℕ0) → ((ℕ0 × {0})‘0) = 0)
1412, 12, 13mp2an 708 . . 3 ((ℕ0 × {0})‘0) = 0
1511, 14syl6eq 2701 . 2 (𝐹 = 0𝑝 → (𝐴𝑁) = 0)
161coefv0 24049 . . . . . . . 8 (𝐹 ∈ (Poly‘𝑆) → (𝐹‘0) = (𝐴‘0))
1716adantr 480 . . . . . . 7 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → (𝐹‘0) = (𝐴‘0))
18 simpr 476 . . . . . . . . . . . 12 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → 𝑁 ∈ ℕ)
1918nnred 11073 . . . . . . . . . . 11 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → 𝑁 ∈ ℝ)
2019ltm1d 10994 . . . . . . . . . 10 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → (𝑁 − 1) < 𝑁)
21 simpll 805 . . . . . . . . . . . 12 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → 𝐹 ∈ (Poly‘𝑆))
22 nnm1nn0 11372 . . . . . . . . . . . . 13 (𝑁 ∈ ℕ → (𝑁 − 1) ∈ ℕ0)
2322adantl 481 . . . . . . . . . . . 12 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → (𝑁 − 1) ∈ ℕ0)
241, 6dgrub 24035 . . . . . . . . . . . . . . . . . . 19 ((𝐹 ∈ (Poly‘𝑆) ∧ 𝑘 ∈ ℕ0 ∧ (𝐴𝑘) ≠ 0) → 𝑘𝑁)
25243expia 1286 . . . . . . . . . . . . . . . . . 18 ((𝐹 ∈ (Poly‘𝑆) ∧ 𝑘 ∈ ℕ0) → ((𝐴𝑘) ≠ 0 → 𝑘𝑁))
2625ad2ant2rl 800 . . . . . . . . . . . . . . . . 17 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ (𝑁 ∈ ℕ ∧ 𝑘 ∈ ℕ0)) → ((𝐴𝑘) ≠ 0 → 𝑘𝑁))
27 simplr 807 . . . . . . . . . . . . . . . . . . 19 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ (𝑁 ∈ ℕ ∧ 𝑘 ∈ ℕ0)) → (𝐴𝑁) = 0)
28 fveq2 6229 . . . . . . . . . . . . . . . . . . . 20 (𝑁 = 𝑘 → (𝐴𝑁) = (𝐴𝑘))
2928eqeq1d 2653 . . . . . . . . . . . . . . . . . . 19 (𝑁 = 𝑘 → ((𝐴𝑁) = 0 ↔ (𝐴𝑘) = 0))
3027, 29syl5ibcom 235 . . . . . . . . . . . . . . . . . 18 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ (𝑁 ∈ ℕ ∧ 𝑘 ∈ ℕ0)) → (𝑁 = 𝑘 → (𝐴𝑘) = 0))
3130necon3d 2844 . . . . . . . . . . . . . . . . 17 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ (𝑁 ∈ ℕ ∧ 𝑘 ∈ ℕ0)) → ((𝐴𝑘) ≠ 0 → 𝑁𝑘))
3226, 31jcad 554 . . . . . . . . . . . . . . . 16 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ (𝑁 ∈ ℕ ∧ 𝑘 ∈ ℕ0)) → ((𝐴𝑘) ≠ 0 → (𝑘𝑁𝑁𝑘)))
33 nn0re 11339 . . . . . . . . . . . . . . . . . . 19 (𝑘 ∈ ℕ0𝑘 ∈ ℝ)
3433ad2antll 765 . . . . . . . . . . . . . . . . . 18 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ (𝑁 ∈ ℕ ∧ 𝑘 ∈ ℕ0)) → 𝑘 ∈ ℝ)
35 nnre 11065 . . . . . . . . . . . . . . . . . . 19 (𝑁 ∈ ℕ → 𝑁 ∈ ℝ)
3635ad2antrl 764 . . . . . . . . . . . . . . . . . 18 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ (𝑁 ∈ ℕ ∧ 𝑘 ∈ ℕ0)) → 𝑁 ∈ ℝ)
3734, 36ltlend 10220 . . . . . . . . . . . . . . . . 17 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ (𝑁 ∈ ℕ ∧ 𝑘 ∈ ℕ0)) → (𝑘 < 𝑁 ↔ (𝑘𝑁𝑁𝑘)))
38 nn0z 11438 . . . . . . . . . . . . . . . . . . 19 (𝑘 ∈ ℕ0𝑘 ∈ ℤ)
3938ad2antll 765 . . . . . . . . . . . . . . . . . 18 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ (𝑁 ∈ ℕ ∧ 𝑘 ∈ ℕ0)) → 𝑘 ∈ ℤ)
40 nnz 11437 . . . . . . . . . . . . . . . . . . 19 (𝑁 ∈ ℕ → 𝑁 ∈ ℤ)
4140ad2antrl 764 . . . . . . . . . . . . . . . . . 18 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ (𝑁 ∈ ℕ ∧ 𝑘 ∈ ℕ0)) → 𝑁 ∈ ℤ)
42 zltlem1 11468 . . . . . . . . . . . . . . . . . 18 ((𝑘 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑘 < 𝑁𝑘 ≤ (𝑁 − 1)))
4339, 41, 42syl2anc 694 . . . . . . . . . . . . . . . . 17 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ (𝑁 ∈ ℕ ∧ 𝑘 ∈ ℕ0)) → (𝑘 < 𝑁𝑘 ≤ (𝑁 − 1)))
4437, 43bitr3d 270 . . . . . . . . . . . . . . . 16 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ (𝑁 ∈ ℕ ∧ 𝑘 ∈ ℕ0)) → ((𝑘𝑁𝑁𝑘) ↔ 𝑘 ≤ (𝑁 − 1)))
4532, 44sylibd 229 . . . . . . . . . . . . . . 15 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ (𝑁 ∈ ℕ ∧ 𝑘 ∈ ℕ0)) → ((𝐴𝑘) ≠ 0 → 𝑘 ≤ (𝑁 − 1)))
4645expr 642 . . . . . . . . . . . . . 14 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → (𝑘 ∈ ℕ0 → ((𝐴𝑘) ≠ 0 → 𝑘 ≤ (𝑁 − 1))))
4746ralrimiv 2994 . . . . . . . . . . . . 13 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → ∀𝑘 ∈ ℕ0 ((𝐴𝑘) ≠ 0 → 𝑘 ≤ (𝑁 − 1)))
481coef3 24033 . . . . . . . . . . . . . . 15 (𝐹 ∈ (Poly‘𝑆) → 𝐴:ℕ0⟶ℂ)
4948ad2antrr 762 . . . . . . . . . . . . . 14 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → 𝐴:ℕ0⟶ℂ)
50 plyco0 23993 . . . . . . . . . . . . . 14 (((𝑁 − 1) ∈ ℕ0𝐴:ℕ0⟶ℂ) → ((𝐴 “ (ℤ‘((𝑁 − 1) + 1))) = {0} ↔ ∀𝑘 ∈ ℕ0 ((𝐴𝑘) ≠ 0 → 𝑘 ≤ (𝑁 − 1))))
5123, 49, 50syl2anc 694 . . . . . . . . . . . . 13 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → ((𝐴 “ (ℤ‘((𝑁 − 1) + 1))) = {0} ↔ ∀𝑘 ∈ ℕ0 ((𝐴𝑘) ≠ 0 → 𝑘 ≤ (𝑁 − 1))))
5247, 51mpbird 247 . . . . . . . . . . . 12 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → (𝐴 “ (ℤ‘((𝑁 − 1) + 1))) = {0})
531, 6dgrlb 24037 . . . . . . . . . . . 12 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝑁 − 1) ∈ ℕ0 ∧ (𝐴 “ (ℤ‘((𝑁 − 1) + 1))) = {0}) → 𝑁 ≤ (𝑁 − 1))
5421, 23, 52, 53syl3anc 1366 . . . . . . . . . . 11 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → 𝑁 ≤ (𝑁 − 1))
5535adantl 481 . . . . . . . . . . . 12 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → 𝑁 ∈ ℝ)
56 peano2rem 10386 . . . . . . . . . . . . 13 (𝑁 ∈ ℝ → (𝑁 − 1) ∈ ℝ)
5755, 56syl 17 . . . . . . . . . . . 12 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → (𝑁 − 1) ∈ ℝ)
5855, 57lenltd 10221 . . . . . . . . . . 11 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → (𝑁 ≤ (𝑁 − 1) ↔ ¬ (𝑁 − 1) < 𝑁))
5954, 58mpbid 222 . . . . . . . . . 10 (((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) ∧ 𝑁 ∈ ℕ) → ¬ (𝑁 − 1) < 𝑁)
6020, 59pm2.65da 599 . . . . . . . . 9 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → ¬ 𝑁 ∈ ℕ)
61 dgrcl 24034 . . . . . . . . . . . . 13 (𝐹 ∈ (Poly‘𝑆) → (deg‘𝐹) ∈ ℕ0)
626, 61syl5eqel 2734 . . . . . . . . . . . 12 (𝐹 ∈ (Poly‘𝑆) → 𝑁 ∈ ℕ0)
6362adantr 480 . . . . . . . . . . 11 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → 𝑁 ∈ ℕ0)
64 elnn0 11332 . . . . . . . . . . 11 (𝑁 ∈ ℕ0 ↔ (𝑁 ∈ ℕ ∨ 𝑁 = 0))
6563, 64sylib 208 . . . . . . . . . 10 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → (𝑁 ∈ ℕ ∨ 𝑁 = 0))
6665ord 391 . . . . . . . . 9 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → (¬ 𝑁 ∈ ℕ → 𝑁 = 0))
6760, 66mpd 15 . . . . . . . 8 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → 𝑁 = 0)
6867fveq2d 6233 . . . . . . 7 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → (𝐴𝑁) = (𝐴‘0))
69 simpr 476 . . . . . . 7 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → (𝐴𝑁) = 0)
7017, 68, 693eqtr2d 2691 . . . . . 6 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → (𝐹‘0) = 0)
7170sneqd 4222 . . . . 5 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → {(𝐹‘0)} = {0})
7271xpeq2d 5173 . . . 4 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → (ℂ × {(𝐹‘0)}) = (ℂ × {0}))
736, 67syl5eqr 2699 . . . . 5 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → (deg‘𝐹) = 0)
74 0dgrb 24047 . . . . . 6 (𝐹 ∈ (Poly‘𝑆) → ((deg‘𝐹) = 0 ↔ 𝐹 = (ℂ × {(𝐹‘0)})))
7574adantr 480 . . . . 5 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → ((deg‘𝐹) = 0 ↔ 𝐹 = (ℂ × {(𝐹‘0)})))
7673, 75mpbid 222 . . . 4 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → 𝐹 = (ℂ × {(𝐹‘0)}))
77 df-0p 23482 . . . . 5 0𝑝 = (ℂ × {0})
7877a1i 11 . . . 4 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → 0𝑝 = (ℂ × {0}))
7972, 76, 783eqtr4d 2695 . . 3 ((𝐹 ∈ (Poly‘𝑆) ∧ (𝐴𝑁) = 0) → 𝐹 = 0𝑝)
8079ex 449 . 2 (𝐹 ∈ (Poly‘𝑆) → ((𝐴𝑁) = 0 → 𝐹 = 0𝑝))
8115, 80impbid2 216 1 (𝐹 ∈ (Poly‘𝑆) → (𝐹 = 0𝑝 ↔ (𝐴𝑁) = 0))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 196  wo 382  wa 383   = wceq 1523  wcel 2030  wne 2823  wral 2941  {csn 4210   class class class wbr 4685   × cxp 5141  cima 5146  wf 5922  cfv 5926  (class class class)co 6690  cc 9972  cr 9973  0cc0 9974  1c1 9975   + caddc 9977   < clt 10112  cle 10113  cmin 10304  cn 11058  0cn0 11330  cz 11415  cuz 11725  0𝑝c0p 23481  Polycply 23985  coeffccoe 23987  degcdgr 23988
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1762  ax-4 1777  ax-5 1879  ax-6 1945  ax-7 1981  ax-8 2032  ax-9 2039  ax-10 2059  ax-11 2074  ax-12 2087  ax-13 2282  ax-ext 2631  ax-rep 4804  ax-sep 4814  ax-nul 4822  ax-pow 4873  ax-pr 4936  ax-un 6991  ax-inf2 8576  ax-cnex 10030  ax-resscn 10031  ax-1cn 10032  ax-icn 10033  ax-addcl 10034  ax-addrcl 10035  ax-mulcl 10036  ax-mulrcl 10037  ax-mulcom 10038  ax-addass 10039  ax-mulass 10040  ax-distr 10041  ax-i2m1 10042  ax-1ne0 10043  ax-1rid 10044  ax-rnegex 10045  ax-rrecex 10046  ax-cnre 10047  ax-pre-lttri 10048  ax-pre-lttrn 10049  ax-pre-ltadd 10050  ax-pre-mulgt0 10051  ax-pre-sup 10052  ax-addf 10053
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3or 1055  df-3an 1056  df-tru 1526  df-fal 1529  df-ex 1745  df-nf 1750  df-sb 1938  df-eu 2502  df-mo 2503  df-clab 2638  df-cleq 2644  df-clel 2647  df-nfc 2782  df-ne 2824  df-nel 2927  df-ral 2946  df-rex 2947  df-reu 2948  df-rmo 2949  df-rab 2950  df-v 3233  df-sbc 3469  df-csb 3567  df-dif 3610  df-un 3612  df-in 3614  df-ss 3621  df-pss 3623  df-nul 3949  df-if 4120  df-pw 4193  df-sn 4211  df-pr 4213  df-tp 4215  df-op 4217  df-uni 4469  df-int 4508  df-iun 4554  df-br 4686  df-opab 4746  df-mpt 4763  df-tr 4786  df-id 5053  df-eprel 5058  df-po 5064  df-so 5065  df-fr 5102  df-se 5103  df-we 5104  df-xp 5149  df-rel 5150  df-cnv 5151  df-co 5152  df-dm 5153  df-rn 5154  df-res 5155  df-ima 5156  df-pred 5718  df-ord 5764  df-on 5765  df-lim 5766  df-suc 5767  df-iota 5889  df-fun 5928  df-fn 5929  df-f 5930  df-f1 5931  df-fo 5932  df-f1o 5933  df-fv 5934  df-isom 5935  df-riota 6651  df-ov 6693  df-oprab 6694  df-mpt2 6695  df-of 6939  df-om 7108  df-1st 7210  df-2nd 7211  df-wrecs 7452  df-recs 7513  df-rdg 7551  df-1o 7605  df-oadd 7609  df-er 7787  df-map 7901  df-pm 7902  df-en 7998  df-dom 7999  df-sdom 8000  df-fin 8001  df-sup 8389  df-inf 8390  df-oi 8456  df-card 8803  df-pnf 10114  df-mnf 10115  df-xr 10116  df-ltxr 10117  df-le 10118  df-sub 10306  df-neg 10307  df-div 10723  df-nn 11059  df-2 11117  df-3 11118  df-n0 11331  df-z 11416  df-uz 11726  df-rp 11871  df-fz 12365  df-fzo 12505  df-fl 12633  df-seq 12842  df-exp 12901  df-hash 13158  df-cj 13883  df-re 13884  df-im 13885  df-sqrt 14019  df-abs 14020  df-clim 14263  df-rlim 14264  df-sum 14461  df-0p 23482  df-ply 23989  df-coe 23991  df-dgr 23992
This theorem is referenced by:  dgrlt  24067  dgradd2  24069  dgrmul  24071  dgrcolem2  24075  plymul0or  24081  plydivlem4  24096  plydiveu  24098  vieta1lem2  24111  vieta1  24112  aareccl  24126  ftalem2  24845  ftalem4  24847  ftalem5  24848  signsply0  30756  mpaaeu  38037  elaa2lem  40768
  Copyright terms: Public domain W3C validator