Metamath Proof Explorer


Theorem dgreq0

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)

Ref Expression
Hypotheses dgreq0.1 ⊢ N = deg ⁡ F
dgreq0.2 ⊢ A = coeff ⁡ F
Assertion dgreq0 ⊢ F ∈ Poly ⁡ S → F = 0 𝑝 ↔ A ⁡ N = 0

Proof

Step Hyp Ref Expression
1 dgreq0.1 ⊢ N = deg ⁡ F
2 dgreq0.2 ⊢ A = coeff ⁡ F
3 fveq2 ⊢ F = 0 𝑝 → coeff ⁡ F = coeff ⁡ 0 𝑝
4 2 3 eqtrid ⊢ F = 0 𝑝 → A = coeff ⁡ 0 𝑝
5 coe0 ⊢ coeff ⁡ 0 𝑝 = ℕ 0 × 0
6 4 5 eqtrdi ⊢ F = 0 𝑝 → A = ℕ 0 × 0
7 fveq2 ⊢ F = 0 𝑝 → deg ⁡ F = deg ⁡ 0 𝑝
8 1 7 eqtrid ⊢ F = 0 𝑝 → N = deg ⁡ 0 𝑝
9 dgr0 ⊢ deg ⁡ 0 𝑝 = 0
10 8 9 eqtrdi ⊢ F = 0 𝑝 → N = 0
11 6 10 fveq12d ⊢ F = 0 𝑝 → A ⁡ N = ℕ 0 × 0 ⁡ 0
12 0nn0 ⊢ 0 ∈ ℕ 0
13 fvconst2g ⊢ 0 ∈ ℕ 0 ∧ 0 ∈ ℕ 0 → ℕ 0 × 0 ⁡ 0 = 0
14 12 12 13 mp2an ⊢ ℕ 0 × 0 ⁡ 0 = 0
15 11 14 eqtrdi ⊢ F = 0 𝑝 → A ⁡ N = 0
16 2 coefv0 ⊢ F ∈ Poly ⁡ S → F ⁡ 0 = A ⁡ 0
17 16 adantr ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → F ⁡ 0 = A ⁡ 0
18 simpr ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → N ∈ ℕ
19 18 nnred ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → N ∈ ℝ
20 19 ltm1d ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → N − 1 < N
21 nnre ⊢ N ∈ ℕ → N ∈ ℝ
22 21 adantl ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → N ∈ ℝ
23 peano2rem ⊢ N ∈ ℝ → N − 1 ∈ ℝ
24 22 23 syl ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → N − 1 ∈ ℝ
25 simpll ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → F ∈ Poly ⁡ S
26 nnm1nn0 ⊢ N ∈ ℕ → N − 1 ∈ ℕ 0
27 26 adantl ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → N − 1 ∈ ℕ 0
28 2 1 dgrub ⊢ F ∈ Poly ⁡ S ∧ k ∈ ℕ 0 ∧ A ⁡ k ≠ 0 → k ≤ N
29 28 3expia ⊢ F ∈ Poly ⁡ S ∧ k ∈ ℕ 0 → A ⁡ k ≠ 0 → k ≤ N
30 29 ad2ant2rl ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ ∧ k ∈ ℕ 0 → A ⁡ k ≠ 0 → k ≤ N
31 simplr ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ ∧ k ∈ ℕ 0 → A ⁡ N = 0
32 fveqeq2 ⊢ N = k → A ⁡ N = 0 ↔ A ⁡ k = 0
33 31 32 syl5ibcom ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ ∧ k ∈ ℕ 0 → N = k → A ⁡ k = 0
34 33 necon3d ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ ∧ k ∈ ℕ 0 → A ⁡ k ≠ 0 → N ≠ k
35 30 34 jcad ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ ∧ k ∈ ℕ 0 → A ⁡ k ≠ 0 → k ≤ N ∧ N ≠ k
36 nn0re ⊢ k ∈ ℕ 0 → k ∈ ℝ
37 36 ad2antll ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ ∧ k ∈ ℕ 0 → k ∈ ℝ
38 21 ad2antrl ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ ∧ k ∈ ℕ 0 → N ∈ ℝ
39 37 38 ltlend ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ ∧ k ∈ ℕ 0 → k < N ↔ k ≤ N ∧ N ≠ k
40 nn0z ⊢ k ∈ ℕ 0 → k ∈ ℤ
41 40 ad2antll ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ ∧ k ∈ ℕ 0 → k ∈ ℤ
42 nnz ⊢ N ∈ ℕ → N ∈ ℤ
43 42 ad2antrl ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ ∧ k ∈ ℕ 0 → N ∈ ℤ
44 zltlem1 ⊢ k ∈ ℤ ∧ N ∈ ℤ → k < N ↔ k ≤ N − 1
45 41 43 44 syl2anc ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ ∧ k ∈ ℕ 0 → k < N ↔ k ≤ N − 1
46 39 45 bitr3d ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ ∧ k ∈ ℕ 0 → k ≤ N ∧ N ≠ k ↔ k ≤ N − 1
47 35 46 sylibd ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ ∧ k ∈ ℕ 0 → A ⁡ k ≠ 0 → k ≤ N − 1
48 47 expr ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → k ∈ ℕ 0 → A ⁡ k ≠ 0 → k ≤ N − 1
49 48 ralrimiv ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → ∀ k ∈ ℕ 0 A ⁡ k ≠ 0 → k ≤ N − 1
50 2 coef3 ⊢ F ∈ Poly ⁡ S → A : ℕ 0 ⟶ ℂ
51 50 ad2antrr ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → A : ℕ 0 ⟶ ℂ
52 plyco0 ⊢ N − 1 ∈ ℕ 0 ∧ A : ℕ 0 ⟶ ℂ → A ℤ ≥ N - 1 + 1 = 0 ↔ ∀ k ∈ ℕ 0 A ⁡ k ≠ 0 → k ≤ N − 1
53 27 51 52 syl2anc ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → A ℤ ≥ N - 1 + 1 = 0 ↔ ∀ k ∈ ℕ 0 A ⁡ k ≠ 0 → k ≤ N − 1
54 49 53 mpbird ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → A ℤ ≥ N - 1 + 1 = 0
55 2 1 dgrlb ⊢ F ∈ Poly ⁡ S ∧ N − 1 ∈ ℕ 0 ∧ A ℤ ≥ N - 1 + 1 = 0 → N ≤ N − 1
56 25 27 54 55 syl3anc ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → N ≤ N − 1
57 22 24 56 lensymd ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 ∧ N ∈ ℕ → ¬ N − 1 < N
58 20 57 pm2.65da ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → ¬ N ∈ ℕ
59 dgrcl ⊢ F ∈ Poly ⁡ S → deg ⁡ F ∈ ℕ 0
60 1 59 eqeltrid ⊢ F ∈ Poly ⁡ S → N ∈ ℕ 0
61 60 adantr ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → N ∈ ℕ 0
62 elnn0 ⊢ N ∈ ℕ 0 ↔ N ∈ ℕ ∨ N = 0
63 61 62 sylib ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → N ∈ ℕ ∨ N = 0
64 63 ord ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → ¬ N ∈ ℕ → N = 0
65 58 64 mpd ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → N = 0
66 65 fveq2d ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → A ⁡ N = A ⁡ 0
67 simpr ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → A ⁡ N = 0
68 17 66 67 3eqtr2d ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → F ⁡ 0 = 0
69 68 sneqd ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → F ⁡ 0 = 0
70 69 xpeq2d ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → ℂ × F ⁡ 0 = ℂ × 0
71 1 65 eqtr3id ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → deg ⁡ F = 0
72 0dgrb ⊢ F ∈ Poly ⁡ S → deg ⁡ F = 0 ↔ F = ℂ × F ⁡ 0
73 72 adantr ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → deg ⁡ F = 0 ↔ F = ℂ × F ⁡ 0
74 71 73 mpbid ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → F = ℂ × F ⁡ 0
75 df-0p ⊢ 0 𝑝 = ℂ × 0
76 75 a1i ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → 0 𝑝 = ℂ × 0
77 70 74 76 3eqtr4d ⊢ F ∈ Poly ⁡ S ∧ A ⁡ N = 0 → F = 0 𝑝
78 77 ex ⊢ F ∈ Poly ⁡ S → A ⁡ N = 0 → F = 0 𝑝
79 15 78 impbid2 ⊢ F ∈ Poly ⁡ S → F = 0 𝑝 ↔ A ⁡ N = 0