Mathlib v3 is deprecated. Go to Mathlib v4

Commit 2021-03-30 14:01 bcfaabfc

View on Github →

feat(data/set_like): remove repeated boilerplate from subobjects (#6768) This just scratches the surface, and removes all of the boilerplate that is just a consequence of the injective map to a set. Already this trims more than 150 lines. For every lemma of the form set_like.* added in this PR, the corresponding submonoid.*, add_submonoid.*, sub_mul_action.*, submodule.*, subsemiring.*, subring.*, subfield.*, subalgebra.*, and intermediate_field.* lemmas have been removed. Often these lemmas only existed for one or two of these subtypes, so this means that we have lemmas for more things not fewer. Note that while the ext_iff, ext', and ext'_iff lemmas have been removed, we still need the ext lemma as set_like.ext cannot directly be tagged @[ext].

Estimated changes

deleted theorem submodule.coe_eq_coe
modified theorem submodule.coe_eq_zero
deleted theorem submodule.coe_injective
deleted theorem submodule.coe_set_eq
deleted theorem submodule.coe_sort_coe
deleted theorem submodule.ext'_iff
modified theorem submodule.ext
deleted theorem submodule.mem_coe
added theorem set_like.coe_eq_coe
added theorem set_like.coe_injective
added theorem set_like.coe_mem
added theorem set_like.coe_mk
added theorem set_like.coe_set_eq
added theorem set_like.coe_sort_coe
added theorem set_like.exists_of_lt
added theorem set_like.ext'
added theorem set_like.ext'_iff
added theorem set_like.ext
added theorem set_like.ext_iff
added theorem set_like.le_def
added theorem set_like.mem_coe
deleted theorem subfield.coe_coe
deleted theorem subfield.coe_ssubset_coe
deleted theorem subfield.coe_subset_coe
deleted theorem subfield.ext'
modified theorem subfield.ext
deleted theorem subfield.le_def
added theorem subfield.mem_carrier
deleted theorem subfield.mem_coe
deleted theorem subgroup.coe_coe
deleted theorem subgroup.coe_subset_coe
deleted theorem subgroup.ext'
modified theorem subgroup.ext
deleted theorem subgroup.le_def
added theorem subgroup.mem_carrier
deleted theorem subgroup.mem_coe
deleted theorem submonoid.coe_coe
deleted theorem submonoid.coe_eq_coe
deleted theorem submonoid.coe_injective
deleted theorem submonoid.coe_ssubset_coe
deleted theorem submonoid.coe_subset_coe
modified theorem submonoid.copy_eq
deleted theorem submonoid.ext'
deleted theorem submonoid.le_def
deleted theorem submonoid.mem_coe
deleted theorem subring.coe_coe
deleted theorem subring.coe_ssubset_coe
deleted theorem subring.coe_subset_coe
deleted theorem subring.ext'
modified theorem subring.ext
deleted theorem subring.le_def
added theorem subring.mem_carrier
deleted theorem subring.mem_coe