Object properties: transport along equivalences, and closure properties #
This file contains general lemmas about object properties: transporting them along an equivalence, comparing Mathlib's closure type classes with one another in the presence of a zero object and of binary biproducts, smallness of full subcategories, and additivity of the standard functors between full subcategories.
Main declarations #
CategoryTheory.ObjectProperty.inverseImage_functor_inverseImage_inverse: pulling an isomorphism-invariant property backward along both functors of an equivalence recovers it.CategoryTheory.ObjectProperty.isClosedUnderIsomorphisms_of_containsZero: a property holding for a zero object and closed under binary products is closed under isomorphisms.CategoryTheory.ObjectProperty.isClosedUnderBinaryProducts_of_prop_biprod: for a replete property in a category with binary biproducts, closure under binary products only has to be checked on biproducts.CategoryTheory.ObjectProperty.prop_biprod_of_isClosedUnderBinaryProducts: a property closed under binary products holds for binary biproducts, withX ⊞ Yas the syntactic form of the conclusion.CategoryTheory.ObjectProperty.essentiallySmall_of_ambient: every property in an essentially small category is essentially small.CategoryTheory.ObjectProperty.ιOfLE_additive: the inclusion of a smaller property into a larger one is additive.CategoryTheory.Equivalence.congrFullSubcategory_functor_additiveandCategoryTheory.Equivalence.congrFullSubcategory_inverse_additive: an additive equivalence restricts to an additive equivalence between corresponding full subcategories.CategoryTheory.Equivalence.congrFullSubcategory_functor_comp_ιandCategoryTheory.Equivalence.congrFullSubcategory_inverse_comp_ι: the restricted functors, followed by the inclusions, are the inclusions followed by the original functors.CategoryTheory.Equivalence.congrFullSubcategory_functor_obj_obj,CategoryTheory.Equivalence.congrFullSubcategory_functor_map_homand theirinversecounterparts: the restricted functors evaluated on objects and morphisms, for deriving the evaluation lemmas of any equivalence defined as acongrFullSubcategory.
Pulling an isomorphism-invariant object property backward along both functors of an equivalence recovers the original property.
A property holding for a zero object and closed under binary products is closed under
isomorphisms. An isomorphism e : X ≅ Y exhibits Y as a product of a zero object with X,
the two projections being the zero morphism and e.inv.
Mathlib's CategoryTheory.ObjectProperty.IsClosedUnderBinaryProducts.closedUnderIsomorphisms is
the same argument run on a terminal object, but it assumes closure under the empty limit, which
CategoryTheory.ObjectProperty.ContainsZero — the property for one zero object — does not
supply before repleteness is known.
For a replete property, closure under binary products only has to be checked on biproducts, since in a category with binary biproducts every binary product is one.
A property closed under binary products holds for binary biproducts. In a category with
binary biproducts the biproduct is a binary product, so this is
CategoryTheory.ObjectProperty.prop_of_isLimit_binaryFan applied to
CategoryTheory.Limits.BinaryBiproduct.isLimit; naming it keeps the index of the conclusion
syntactically X ⊞ Y, which matters when the conclusion is the type index of a dependent
family.
Every object property in an essentially small category is essentially small. This supplies the smallness instance for its full subcategory through Mathlib's object-property API.
The inclusion of a smaller object property into a larger one is an additive functor: both categories carry the addition of the ambient one.
The forward functor on corresponding full subcategories is the lift of the original functor.
The inverse functor on corresponding full subcategories is the lift of the original inverse.
The forward functor on corresponding full subcategories, followed by the inclusion, is the inclusion followed by the original functor.
The inverse functor on corresponding full subcategories, followed by the inclusion, is the inclusion followed by the original inverse.
The forward functor on corresponding full subcategories acts on objects as the original
functor. Not a simp lemma: congrFullSubcategory_functor already unfolds the left-hand side.
The forward functor on corresponding full subcategories acts on morphisms as the original
functor, up to the identifications of congrFullSubcategory_functor_obj_obj.
The inverse functor on corresponding full subcategories acts on objects as the original
inverse. Not a simp lemma: congrFullSubcategory_inverse already unfolds the left-hand side.
The inverse functor on corresponding full subcategories acts on morphisms as the original
inverse, up to the identifications of congrFullSubcategory_inverse_obj_obj.
The functor of an equivalence restricted to corresponding full subcategories is additive.
The inverse of an equivalence restricted to corresponding full subcategories is additive.