Metamath Proof Explorer


Theorem dgrmul

Description: The degree of a product of nonzero polynomials is the sum of degrees. (Contributed by Mario Carneiro, 24-Jul-2014)

Ref Expression
Hypotheses dgradd.1 ⊢ M = deg ⁡ F
dgradd.2 ⊢ N = deg ⁡ G
Assertion dgrmul ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → deg ⁡ F × f G = M + N

Proof

Step Hyp Ref Expression
1 dgradd.1 ⊢ M = deg ⁡ F
2 dgradd.2 ⊢ N = deg ⁡ G
3 1 2 dgrmul2 ⊢ F ∈ Poly ⁡ S ∧ G ∈ Poly ⁡ S → deg ⁡ F × f G ≤ M + N
4 3 ad2ant2r ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → deg ⁡ F × f G ≤ M + N
5 plymulcl ⊢ F ∈ Poly ⁡ S ∧ G ∈ Poly ⁡ S → F × f G ∈ Poly ⁡ ℂ
6 5 ad2ant2r ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → F × f G ∈ Poly ⁡ ℂ
7 dgrcl ⊢ F ∈ Poly ⁡ S → deg ⁡ F ∈ ℕ 0
8 1 7 eqeltrid ⊢ F ∈ Poly ⁡ S → M ∈ ℕ 0
9 8 ad2antrr ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → M ∈ ℕ 0
10 dgrcl ⊢ G ∈ Poly ⁡ S → deg ⁡ G ∈ ℕ 0
11 2 10 eqeltrid ⊢ G ∈ Poly ⁡ S → N ∈ ℕ 0
12 11 ad2antrl ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → N ∈ ℕ 0
13 9 12 nn0addcld ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → M + N ∈ ℕ 0
14 eqid ⊢ coeff ⁡ F = coeff ⁡ F
15 eqid ⊢ coeff ⁡ G = coeff ⁡ G
16 14 15 1 2 coemulhi ⊢ F ∈ Poly ⁡ S ∧ G ∈ Poly ⁡ S → coeff ⁡ F × f G ⁡ M + N = coeff ⁡ F ⁡ M ⁢ coeff ⁡ G ⁡ N
17 16 ad2ant2r ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → coeff ⁡ F × f G ⁡ M + N = coeff ⁡ F ⁡ M ⁢ coeff ⁡ G ⁡ N
18 14 coef3 ⊢ F ∈ Poly ⁡ S → coeff ⁡ F : ℕ 0 ⟶ ℂ
19 18 ad2antrr ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → coeff ⁡ F : ℕ 0 ⟶ ℂ
20 19 9 ffvelcdmd ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → coeff ⁡ F ⁡ M ∈ ℂ
21 15 coef3 ⊢ G ∈ Poly ⁡ S → coeff ⁡ G : ℕ 0 ⟶ ℂ
22 21 ad2antrl ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → coeff ⁡ G : ℕ 0 ⟶ ℂ
23 22 12 ffvelcdmd ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → coeff ⁡ G ⁡ N ∈ ℂ
24 1 14 dgreq0 ⊢ F ∈ Poly ⁡ S → F = 0 𝑝 ↔ coeff ⁡ F ⁡ M = 0
25 24 necon3bid ⊢ F ∈ Poly ⁡ S → F ≠ 0 𝑝 ↔ coeff ⁡ F ⁡ M ≠ 0
26 25 biimpa ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 → coeff ⁡ F ⁡ M ≠ 0
27 26 adantr ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → coeff ⁡ F ⁡ M ≠ 0
28 2 15 dgreq0 ⊢ G ∈ Poly ⁡ S → G = 0 𝑝 ↔ coeff ⁡ G ⁡ N = 0
29 28 necon3bid ⊢ G ∈ Poly ⁡ S → G ≠ 0 𝑝 ↔ coeff ⁡ G ⁡ N ≠ 0
30 29 biimpa ⊢ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → coeff ⁡ G ⁡ N ≠ 0
31 30 adantl ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → coeff ⁡ G ⁡ N ≠ 0
32 20 23 27 31 mulne0d ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → coeff ⁡ F ⁡ M ⁢ coeff ⁡ G ⁡ N ≠ 0
33 17 32 eqnetrd ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → coeff ⁡ F × f G ⁡ M + N ≠ 0
34 eqid ⊢ coeff ⁡ F × f G = coeff ⁡ F × f G
35 eqid ⊢ deg ⁡ F × f G = deg ⁡ F × f G
36 34 35 dgrub ⊢ F × f G ∈ Poly ⁡ ℂ ∧ M + N ∈ ℕ 0 ∧ coeff ⁡ F × f G ⁡ M + N ≠ 0 → M + N ≤ deg ⁡ F × f G
37 6 13 33 36 syl3anc ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → M + N ≤ deg ⁡ F × f G
38 dgrcl ⊢ F × f G ∈ Poly ⁡ ℂ → deg ⁡ F × f G ∈ ℕ 0
39 6 38 syl ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → deg ⁡ F × f G ∈ ℕ 0
40 39 nn0red ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → deg ⁡ F × f G ∈ ℝ
41 13 nn0red ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → M + N ∈ ℝ
42 40 41 letri3d ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → deg ⁡ F × f G = M + N ↔ deg ⁡ F × f G ≤ M + N ∧ M + N ≤ deg ⁡ F × f G
43 4 37 42 mpbir2and ⊢ F ∈ Poly ⁡ S ∧ F ≠ 0 𝑝 ∧ G ∈ Poly ⁡ S ∧ G ≠ 0 𝑝 → deg ⁡ F × f G = M + N