@@ -285,19 +285,15 @@ theorem mapDomain_notin_range {f : α → β} (x : α →₀ M) (a : β) (h : a
285285 mapDomain f x a = 0 :=
286286 mapDomain_of_not_mem_image_support <| by grw [Set.image_subset_range]; exact h
287287
288- @[simp]
289- theorem mapDomain_id : mapDomain id v = v :=
290- sum_single _
288+ @ [simp high] lemma mapDomain_id : mapDomain id v = v := sum_single _
289+ @[simp] lemma mapDomain_fun_id : mapDomain (fun x ↦ x) v = v := sum_single _
290+
291+ lemma mapDomain_fun_comp (f : α → β) (g : β → γ) :
292+ mapDomain (fun a ↦ g (f a)) v = mapDomain g (mapDomain f v) := by
293+ simp [mapDomain, sum_sum_index]
291294
292295theorem mapDomain_comp {f : α → β} {g : β → γ} :
293- mapDomain (g ∘ f) v = mapDomain g (mapDomain f v) := by
294- refine ((sum_sum_index ?_ ?_).trans ?_).symm
295- · intro
296- exact single_zero _
297- · intro
298- exact single_add _
299- refine sum_congr fun _ _ => sum_single_index ?_
300- exact single_zero _
296+ mapDomain (g ∘ f) v = mapDomain g (mapDomain f v) := mapDomain_fun_comp f g
301297
302298@[simp]
303299theorem mapDomain_single {f : α → β} {a : α} {b : M} : mapDomain f (single a b) = single (f a) b :=
@@ -307,7 +303,7 @@ theorem mapDomain_single {f : α → β} {a : α} {b : M} : mapDomain f (single
307303theorem mapDomain_zero {f : α → β} : mapDomain f (0 : α →₀ M) = (0 : β →₀ M) :=
308304 sum_zero_index
309305
310- theorem mapDomain_congr {f g : α → β} (h : ∀ x ∈ v.support, f x = g x) :
306+ @[congr] theorem mapDomain_congr {f g : α → β} (h : ∀ x ∈ v.support, f x = g x) :
311307 v.mapDomain f = v.mapDomain g :=
312308 Finset.sum_congr rfl fun _ H => by simp only [h _ H]
313309
@@ -1057,7 +1053,7 @@ lemma sumElim_eq_add [AddCommMonoid M] (f : α →₀ M) (g : β →₀ M) :
10571053
10581054@[simp] lemma mapDomain_swap_sumElim [AddCommMonoid M] (f : α →₀ M) (g : β →₀ M) :
10591055 mapDomain Sum.swap (sumElim f g) = sumElim g f := by
1060- simp [sumElim_eq_add, mapDomain_add, ← mapDomain_comp, Function.comp_def, add_comm]
1056+ simp [sumElim_eq_add, mapDomain_add, ← mapDomain_comp, add_comm]
10611057
10621058@[to_additive]
10631059lemma prod_sumElim {ι₁ ι₂ α M : Type *} [Zero α] [CommMonoid M]
0 commit comments