Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit bc140d2

Browse files
committed
feat(data/polynomial/degree/lemmas): add some lemmas and rename some lemmas (#13235)
rename `nat_degree_mul_C_eq_of_no_zero_divisors` to `nat_degree_mul_C` rename `nat_degree_C_mul_eq_of_no_zero_divisors` to `nat_degree_C_mul`
1 parent f8467aa commit bc140d2

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

src/data/polynomial/degree/lemmas.lean

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,6 @@ le_antisymm (nat_degree_mul_C_le p a) (calc
9595

9696
/-- Although not explicitly stated, the assumptions of lemma `nat_degree_mul_C_eq_of_mul_ne_zero`
9797
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.
10098
-/
10199
lemma nat_degree_mul_C_eq_of_mul_ne_zero (h : p.leading_coeff * a ≠ 0) :
102100
(p * C a).nat_degree = p.nat_degree :=
@@ -108,8 +106,6 @@ end
108106

109107
/-- Although not explicitly stated, the assumptions of lemma `nat_degree_C_mul_eq_of_mul_ne_zero`
110108
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.
113109
-/
114110
lemma nat_degree_C_mul_eq_of_mul_ne_zero (h : a * p.leading_coeff ≠ 0) :
115111
(C a * p).nat_degree = p.nat_degree :=
@@ -217,21 +213,21 @@ end semiring
217213
section no_zero_divisors
218214
variables [semiring R] [no_zero_divisors R] {p q : R[X]}
219215

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) :
221225
(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]
227227

228-
lemma nat_degree_C_mul_eq_of_no_zero_divisors (a0 : a ≠ 0) :
228+
lemma nat_degree_C_mul (a0 : a ≠ 0) :
229229
(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]
235231

236232
lemma nat_degree_comp : nat_degree (p.comp q) = nat_degree p * nat_degree q :=
237233
begin

0 commit comments

Comments
 (0)