@@ -113,7 +113,7 @@ instance instFunLike : FunLike (α →₀ M) α M :=
113113 ext a
114114 exact (hf _).trans (hg _).symm⟩
115115
116- @[ext]
116+ @[ext, grind ext ]
117117theorem ext {f g : α →₀ M} (h : ∀ a, f a = g a) : f = g :=
118118 DFunLike.ext _ _ h
119119
@@ -299,7 +299,7 @@ def mapRange (f : M → N) (hf : f 0 = 0) (g : α →₀ M) : α →₀ N :=
299299 onFinset g.support (f ∘ g) fun a => by
300300 rw [mem_support_iff, not_imp_not]; exact fun H => (congr_arg f H).trans hf
301301
302- @[simp]
302+ @[simp, grind = ]
303303theorem mapRange_apply {f : M → N} {hf : f 0 = 0 } {g : α →₀ M} {a : α} :
304304 mapRange f hf g a = f (g a) :=
305305 rfl
@@ -427,7 +427,7 @@ theorem embDomain_apply (f : α ↪ β) (v : α →₀ M) (b : β) :
427427 -- TODO: investigate why `grind` needs `split_ifs` first; this should never happen.
428428 split_ifs <;> grind
429429
430- @[simp]
430+ @[simp, grind = ]
431431theorem embDomain_apply_self (f : α ↪ β) (v : α →₀ M) (a : α) : embDomain f v (f a) = v a := by
432432 classical
433433 simp_rw [embDomain, coe_mk, mem_map']
@@ -455,12 +455,7 @@ theorem embDomain_eq_zero {f : α ↪ β} {l : α →₀ M} : embDomain f l = 0
455455 (embDomain_injective f).eq_iff' <| embDomain_zero f
456456
457457theorem embDomain_mapRange (f : α ↪ β) (g : M → N) (p : α →₀ M) (hg : g 0 = 0 ) :
458- embDomain f (mapRange g hg p) = mapRange g hg (embDomain f p) := by
459- ext a
460- by_cases h : a ∈ Set.range f
461- · rcases h with ⟨a', rfl⟩
462- rw [mapRange_apply, embDomain_apply_self, embDomain_apply_self, mapRange_apply]
463- · rw [mapRange_apply, embDomain_notin_range, embDomain_notin_range, ← hg] <;> assumption
458+ embDomain f (mapRange g hg p) = mapRange g hg (embDomain f p) := by grind
464459
465460end EmbDomain
466461
0 commit comments