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

Commit c42a9ad

Browse files
committed
chore(data/finsupp/basic): lemmas about sub and neg on filter and erase (#9228)
1 parent 54217b6 commit c42a9ad

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/data/finsupp/basic.lean

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -832,6 +832,11 @@ begin
832832
rw [add_apply, erase_ne hs, erase_ne hs, erase_ne hs, add_apply],
833833
end
834834

835+
/-- `finsupp.erase` as an `add_monoid_hom`. -/
836+
@[simps]
837+
def erase_add_hom (a : α) : (α →₀ M) →+ (α →₀ M) :=
838+
{ to_fun := erase a, map_zero' := erase_zero a, map_add' := erase_add a }
839+
835840
@[elab_as_eliminator]
836841
protected theorem induction {p : (α →₀ M) → Prop} (f : α →₀ M)
837842
(h0 : p 0) (ha : ∀a b (f : α →₀ M), a ∉ f.support → b ≠ 0 → p f → p (single a b + f)) :
@@ -1890,6 +1895,19 @@ ext $ λ _, rfl
18901895
@[simp] lemma single_sub {a : α} {b₁ b₂ : G} : single a (b₁ - b₂) = single a b₁ - single a b₂ :=
18911896
(single_add_hom a : G →+ _).map_sub b₁ b₂
18921897

1898+
@[simp] lemma erase_neg (a : α) (f : α →₀ G) : erase a (-f) = -erase a f :=
1899+
(erase_add_hom a : (_ →₀ G) →+ _).map_neg f
1900+
1901+
@[simp] lemma erase_sub (a : α) (f₁ f₂ : α →₀ G) : erase a (f₁ - f₂) = erase a f₁ - erase a f₂ :=
1902+
(erase_add_hom a : (_ →₀ G) →+ _).map_sub f₁ f₂
1903+
1904+
@[simp] lemma filter_neg (p : α → Prop) (f : α →₀ G) : filter p (-f) = -filter p f :=
1905+
(filter_add_hom p : (_ →₀ G) →+ _).map_neg f
1906+
1907+
@[simp] lemma filter_sub (p : α → Prop) (f₁ f₂ : α →₀ G) :
1908+
filter p (f₁ - f₂) = filter p f₁ - filter p f₂ :=
1909+
(filter_add_hom p : (_ →₀ G) →+ _).map_sub f₁ f₂
1910+
18931911
end group
18941912

18951913
end subtype_domain

0 commit comments

Comments
 (0)