Commit 2022-05-24 14:54 28f7172e
View on Github →refactor(algebra/direct_sum/basic): use the new polymorphic subobject API (#14341) This doesn't let us deduplicate the lattice lemmas, but does eliminate the duplicate instances and definitions! This merges:
direct_sum.add_submonoid_is_internal,direct_sum.add_subgroup_is_internal,direct_sum.submodule_is_internalintodirect_sum.is_internaldirect_sum.add_submonoid_coe,direct_sum.add_subgroup_coeintodirect_sum.coe_add_monoid_homdirect_sum.add_submonoid_coe_ring_hom,direct_sum.add_subgroup_coe_ring_homintodirect_sum.coe_ring_homadd_submonoid.gsemiring,add_subgroup.gsemiring,submodule.gsemiringintoset_like.gsemiringadd_submonoid.gcomm_semiring,add_subgroup.gcomm_semiring,submodule.gcomm_semiringintoset_like.gcomm_semiringRenamesdirect_sum.submodule_coeintodirect_sum.coe_linear_mapdirect_sum.submodule_coe_alg_hominto `direct_sum.coe_alg_hom And adds:set_like.gnon_unital_non_assoc_semiring, now that it doesn't need to be repeated three times! A large number of related lemmas are also renamed to match the new definition names. This was what originally motivated theset_liketypeclass; thanks to @Vierkantor for doing the subobject follow up I never got around to!