Documentation

TauCeti.CategoryTheory.ObjectProperty

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 #

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.