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

Commit 355645e

Browse files
committed
chore(data/polynomial/*): delete, rename and move lemmas (#12852)
- Replace `eval_eq_finset_sum` and `eval_eq_finset_sum'` with `eval_eq_sum_range` and `eval_eq_sum_range'` which are consistent with `eval₂_eq_sum_range`, `eval₂_eq_sum_range'` `eval_eq_finset_sum`, `eval_eq_finset_sum'`. Notice that the type of `eval_eq_sum_range'` is different, but this lemma has not been used anywhere in mathlib. - Move the lemma `C_eq_int_cast` from `data/polynomial/degree/definitions.lean` to `data/polynomial/basic.lean`. `C_eq_nat_cast` was already here.
1 parent c1fb0ed commit 355645e

File tree

7 files changed

+16
-18
lines changed

7 files changed

+16
-18
lines changed

src/analysis/special_functions/polynomials.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ begin
4545
{ simp [h] },
4646
{ conv_lhs
4747
{ funext,
48-
rw [polynomial.eval_eq_finset_sum, sum_range_succ] },
48+
rw [polynomial.eval_eq_sum_range, sum_range_succ] },
4949
exact is_equivalent.refl.add_is_o (is_o.sum $ λ i hi, is_o.const_mul_left
5050
(is_o.const_mul_right (λ hz, h $ leading_coeff_eq_zero.mp hz) $
5151
is_o_pow_pow_at_top_of_lt (mem_range.mp hi)) _) }

src/data/polynomial/algebra_map.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ lemma aeval_eq_sum_range [algebra R S] {p : R[X]} (x : S) :
264264
by { simp_rw algebra.smul_def, exact eval₂_eq_sum_range (algebra_map R S) x }
265265

266266
lemma aeval_eq_sum_range' [algebra R S] {p : R[X]} {n : ℕ} (hn : p.nat_degree < n) (x : S) :
267-
aeval x p = ∑ i in finset.range n, p.coeff i • x ^ i :=
267+
aeval x p = ∑ i in finset.range n, p.coeff i • x ^ i :=
268268
by { simp_rw algebra.smul_def, exact eval₂_eq_sum_range' (algebra_map R S) hn x }
269269

270270
lemma aeval_sum {ι : Type*} [algebra R S] (s : finset ι) (f : ι → R[X])
@@ -401,7 +401,7 @@ lemma aeval_endomorphism {M : Type*}
401401
aeval f p v = p.sum (λ n b, b • (f ^ n) v) :=
402402
begin
403403
rw [aeval_def, eval₂],
404-
exact (linear_map.applyₗ v).map_sum ,
404+
exact (linear_map.applyₗ v).map_sum,
405405
end
406406

407407
end polynomial

src/data/polynomial/basic.lean

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,10 @@ by rw [eq_neg_iff_add_eq_zero, ←monomial_add, neg_add_self, monomial_zero_righ
685685
@[simp] lemma support_neg {p : R[X]} : (-p).support = p.support :=
686686
by { rcases p, simp [support, neg_to_finsupp] }
687687

688+
@[simp]
689+
lemma C_eq_int_cast (n : ℤ) : C (n : R) = n :=
690+
(C : R →+* _).map_int_cast n
691+
688692
end ring
689693

690694
instance [comm_ring R] : comm_ring R[X] :=

src/data/polynomial/degree/definitions.lean

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -371,9 +371,6 @@ lemma coeff_mul_X_sub_C {p : R[X]} {r : R} {a : ℕ} :
371371
coeff (p * (X - C r)) (a + 1) = coeff p a - coeff p (a + 1) * r :=
372372
by simp [mul_sub]
373373

374-
lemma C_eq_int_cast (n : ℤ) : C (n : R) = n :=
375-
(C : R →+* _).map_int_cast n
376-
377374
@[simp] lemma degree_neg (p : R[X]) : degree (-p) = degree p :=
378375
by unfold degree; rw support_neg
379376

src/data/polynomial/eval.lean

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -242,16 +242,13 @@ def eval : R → R[X] → R := eval₂ (ring_hom.id _)
242242
lemma eval_eq_sum : p.eval x = p.sum (λ e a, a * x ^ e) :=
243243
rfl
244244

245-
lemma eval_eq_finset_sum (p : R[X]) (x : R) :
246-
p.eval x = ∑ i in range (p.nat_degree + 1), p.coeff i * x ^ i :=
247-
by { rw [eval_eq_sum, sum_over_range], simp }
245+
lemma eval_eq_sum_range {p : R[X]} (x : R) :
246+
p.eval x = ∑ i in finset.range (p.nat_degree + 1), p.coeff i * x ^ i :=
247+
by rw [eval_eq_sum, sum_over_range]; simp
248248

249-
lemma eval_eq_finset_sum' (P : R[X]) :
250-
(λ x, eval x P) = (λ x, ∑ i in range (P.nat_degree + 1), P.coeff i * x ^ i) :=
251-
begin
252-
ext,
253-
exact P.eval_eq_finset_sum x
254-
end
249+
lemma eval_eq_sum_range' {p : R[X]} {n : ℕ} (hn : p.nat_degree < n) (x : R) :
250+
p.eval x = ∑ i in finset.range n, p.coeff i * x ^ i :=
251+
by rw [eval_eq_sum, p.sum_over_range' _ _ hn]; simp
255252

256253
@[simp] lemma eval₂_at_apply {S : Type*} [semiring S] (f : R →+* S) (r : R) :
257254
p.eval₂ f (f r) = f (p.eval r) :=

src/data/polynomial/mirror.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ end
9898
--TODO: Extract `finset.sum_range_rev_at` lemma.
9999
lemma mirror_eval_one : p.mirror.eval 1 = p.eval 1 :=
100100
begin
101-
simp_rw [eval_eq_finset_sum, one_pow, mul_one, mirror_nat_degree],
101+
simp_rw [eval_eq_sum_range, one_pow, mul_one, mirror_nat_degree],
102102
refine finset.sum_bij_ne_zero _ _ _ _ _,
103103
{ exact λ n hn hp, rev_at (p.nat_degree + p.nat_trailing_degree) n },
104104
{ intros n hn hp,

src/ring_theory/polynomial/eisenstein.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ lemma exists_mem_adjoin_mul_eq_pow_nat_degree {x : S} (hx : aeval x f = 0)
9090
(hmo : f.monic) (hf : f.is_weakly_eisenstein_at P) : ∃ y ∈ adjoin R ({x} : set S),
9191
(algebra_map R S) p * y = x ^ (f.map (algebra_map R S)).nat_degree :=
9292
begin
93-
rw [aeval_def, polynomial.eval₂_eq_eval_map, eval_eq_finset_sum, range_add_one,
93+
rw [aeval_def, polynomial.eval₂_eq_eval_map, eval_eq_sum_range, range_add_one,
9494
sum_insert not_mem_range_self, sum_range, (hmo.map
9595
(algebra_map R S)).coeff_nat_degree, one_mul] at hx,
9696
replace hx := eq_neg_of_add_eq_zero hx,
@@ -135,7 +135,7 @@ begin
135135
rw [hk, pow_add],
136136
suffices : x ^ f.nat_degree ∈ 𝓟,
137137
{ exact mul_mem_right (x ^ k) 𝓟 this },
138-
rw [is_root.def, eval_eq_finset_sum, finset.range_add_one, finset.sum_insert
138+
rw [is_root.def, eval_eq_sum_range, finset.range_add_one, finset.sum_insert
139139
finset.not_mem_range_self, finset.sum_range, hmo.coeff_nat_degree, one_mul] at hroot,
140140
rw [eq_neg_of_add_eq_zero hroot, neg_mem_iff],
141141
refine submodule.sum_mem _ (λ i hi, mul_mem_right _ _ (hf.mem (fin.is_lt i)))

0 commit comments

Comments
 (0)