@@ -95,8 +95,6 @@ le_antisymm (nat_degree_mul_C_le p a) (calc
95
95
96
96
/-- Although not explicitly stated, the assumptions of lemma `nat_degree_mul_C_eq_of_mul_ne_zero`
97
97
force the polynomial `p` to be non-zero, via `p.leading_coeff ≠ 0`.
98
- Lemma `nat_degree_mul_C_eq_of_no_zero_divisors` below separates cases, in order to overcome this
99
- hurdle.
100
98
-/
101
99
lemma nat_degree_mul_C_eq_of_mul_ne_zero (h : p.leading_coeff * a ≠ 0 ) :
102
100
(p * C a).nat_degree = p.nat_degree :=
108
106
109
107
/-- Although not explicitly stated, the assumptions of lemma `nat_degree_C_mul_eq_of_mul_ne_zero`
110
108
force the polynomial `p` to be non-zero, via `p.leading_coeff ≠ 0`.
111
- Lemma `nat_degree_C_mul_eq_of_no_zero_divisors` below separates cases, in order to overcome this
112
- hurdle.
113
109
-/
114
110
lemma nat_degree_C_mul_eq_of_mul_ne_zero (h : a * p.leading_coeff ≠ 0 ) :
115
111
(C a * p).nat_degree = p.nat_degree :=
@@ -217,21 +213,21 @@ end semiring
217
213
section no_zero_divisors
218
214
variables [semiring R] [no_zero_divisors R] {p q : R[X]}
219
215
220
- lemma nat_degree_mul_C_eq_of_no_zero_divisors (a0 : a ≠ 0 ) :
216
+ lemma degree_mul_C (a0 : a ≠ 0 ) :
217
+ (p * C a).degree = p.degree :=
218
+ by rw [degree_mul, degree_C a0, add_zero]
219
+
220
+ lemma degree_C_mul (a0 : a ≠ 0 ) :
221
+ (C a * p).degree = p.degree :=
222
+ by rw [degree_mul, degree_C a0, zero_add]
223
+
224
+ lemma nat_degree_mul_C (a0 : a ≠ 0 ) :
221
225
(p * C a).nat_degree = p.nat_degree :=
222
- begin
223
- by_cases p0 : p = 0 ,
224
- { rw [p0, zero_mul] },
225
- { exact nat_degree_mul_C_eq_of_mul_ne_zero (mul_ne_zero (leading_coeff_ne_zero.mpr p0) a0) }
226
- end
226
+ by simp only [nat_degree, degree_mul_C a0]
227
227
228
- lemma nat_degree_C_mul_eq_of_no_zero_divisors (a0 : a ≠ 0 ) :
228
+ lemma nat_degree_C_mul (a0 : a ≠ 0 ) :
229
229
(C a * p).nat_degree = p.nat_degree :=
230
- begin
231
- by_cases p0 : p = 0 ,
232
- { rw [p0, mul_zero] },
233
- { exact nat_degree_C_mul_eq_of_mul_ne_zero (mul_ne_zero a0 (leading_coeff_ne_zero.mpr p0)) }
234
- end
230
+ by simp only [nat_degree, degree_C_mul a0]
235
231
236
232
lemma nat_degree_comp : nat_degree (p.comp q) = nat_degree p * nat_degree q :=
237
233
begin
0 commit comments