Commit 2022-05-16 09:18 f0db51d4
View on Github →feat(algebra/module): morphism classes for (semi)linear maps (#13939)
This PR introduces morphism classes corresponding to mul_action_hom, distrib_mul_action_hom, mul_semiring_action_hom and linear_map.
Most of the new generic results work smoothly, only simp seems to have trouble applying map_smulₛₗ. I expect this requires another fix in the elaborator along the lines of [lean#659](https://github.com/leanprover-community/lean/pull/659). For now we can just keep around the specialized simp lemmas linear_map.map_smulₛₗ and linear_equiv.map_smulₛₗ.
The other changes are either making map_smul protected where it conflicts, or helping the elaborator unfold some definitions that previously were helped by the specific map_smul lemma suggesting the type.
Thanks to @dupuisf for updating and making this branch compile!
Co-Authored-By: Frédéric Dupuis dupuisf@iro.umontreal.ca