Skip to content

Commit 134b6cb

Browse files
committed
chore: small generalization of finsupp lemmas (#6700)
Noticed whilst doing my other PR about char_zero. Leaves statements that create data alone.
1 parent 4d4baab commit 134b6cb

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

Mathlib/Data/Finsupp/Basic.lean

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ end ZeroHom
202202
section AddMonoidHom
203203

204204
variable [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P]
205+
variable {F : Type*} [AddMonoidHomClass F M N]
205206

206207
/-- Composition with a fixed additive homomorphism is itself an additive homomorphism on functions.
207208
-/
@@ -232,14 +233,14 @@ theorem mapRange.addMonoidHom_toZeroHom (f : M →+ N) :
232233
ZeroHom.ext fun _ => rfl
233234
#align finsupp.map_range.add_monoid_hom_to_zero_hom Finsupp.mapRange.addMonoidHom_toZeroHom
234235

235-
theorem mapRange_multiset_sum (f : M →+ N) (m : Multiset (α →₀ M)) :
236-
mapRange f f.map_zero m.sum = (m.map fun x => mapRange f f.map_zero x).sum :=
237-
(mapRange.addMonoidHom f : (α →₀ _) →+ _).map_multiset_sum _
236+
theorem mapRange_multiset_sum (f : F) (m : Multiset (α →₀ M)) :
237+
mapRange f (map_zero f) m.sum = (m.map fun x => mapRange f (map_zero f) x).sum :=
238+
(mapRange.addMonoidHom (f : M →+ N) : (α →₀ _) →+ _).map_multiset_sum _
238239
#align finsupp.map_range_multiset_sum Finsupp.mapRange_multiset_sum
239240

240-
theorem mapRange_finset_sum (f : M →+ N) (s : Finset ι) (g : ι → α →₀ M) :
241-
mapRange f f.map_zero (∑ x in s, g x) = ∑ x in s, mapRange f f.map_zero (g x) :=
242-
(mapRange.addMonoidHom f : (α →₀ _) →+ _).map_sum _ _
241+
theorem mapRange_finset_sum (f : F) (s : Finset ι) (g : ι → α →₀ M) :
242+
mapRange f (map_zero f) (∑ x in s, g x) = ∑ x in s, mapRange f (map_zero f) (g x) :=
243+
(mapRange.addMonoidHom (f : M →+ N) : (α →₀ _) →+ _).map_sum _ _
243244
#align finsupp.map_range_finset_sum Finsupp.mapRange_finset_sum
244245

245246
/-- `Finsupp.mapRange.AddMonoidHom` as an equiv. -/

Mathlib/RingTheory/MvPolynomial/Basic.lean

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,9 @@ section Homomorphism
6767

6868
theorem mapRange_eq_map {R S : Type*} [CommSemiring R] [CommSemiring S] (p : MvPolynomial σ R)
6969
(f : R →+* S) : Finsupp.mapRange f f.map_zero p = map f p := by
70-
-- `Finsupp.mapRange_finset_sum` expects `f : R →+ S`
71-
change Finsupp.mapRange (f : R →+ S) (f : R →+ S).map_zero p = map f p
7270
rw [p.as_sum, Finsupp.mapRange_finset_sum, (map f).map_sum]
7371
refine' Finset.sum_congr rfl fun n _ => _
7472
rw [map_monomial, ← single_eq_monomial, Finsupp.mapRange_single, single_eq_monomial]
75-
simp_all only [AddMonoidHom.coe_coe]
7673
#align mv_polynomial.map_range_eq_map MvPolynomial.mapRange_eq_map
7774

7875
end Homomorphism

0 commit comments

Comments
 (0)