Categorical pullbacks #
This file defines the basic properties of categorical pullbacks.
Given a pair of functors (F : A ⥤ B, G : C ⥤ B), we define the category
CategoricalPullback F G as the category of triples
(a : A, c : C, e : F.obj a ≅ G.obj b).
The category CategoricalPullback F G sits in a canonical CatCommSq, and we formalize that
this square is a "limit" in the following sense: functors X ⥤ CategoricalPullback F G are
equivalent to pairs of functors (L : X ⥤ A, R : X ⥤ C) equipped with a natural isomorphism
L ⋙ F ≅ R ⋙ G.
We formalize this by introducing a category CatCommSqOver F G X that encodes
exactly this data, and we prove that the category of functors X ⥤ CategoricalPullback F G is
equivalent to CatCommSqOver F G X.
Main declarations #
CategoricalPullback F G: the type of the categorical pullback.π₁ F G : CategoricalPullback F Gandπ₂ F G : CategoricalPullback F G: the canonical projections.CategoricalPullback.catCommSq: the canonicalCatCommSq (π₁ F G) (π₂ F G) F Gwhich exhibitsCategoricalPullback F Gas the pullback (in the (2,1)-categorical sense) of the cospan ofFandG.CategoricalPullback.functorEquiv F G X: the equivalence of categories between functorsX ⥤ CategoricalPullback F GandCatCommSqOver F G X, where the latter is an abbrev forCategoricalPullback (whiskeringRight X A B|>.obj F) (whiskeringRight X C B|>.obj G).
References #
- Kerodon: section 1.4.5.2
- Niles Johnson, Donald Yau, 2-Dimensional Categories, example 5.3.9, although we take a slightly different (equivalent) model of the object.
TODOs: #
- 2-functoriality of the construction with respect to "transformation of categorical cospans".
- Full equivalence-invariance of the notion (follows from suitable 2-functoriality).
- Define a
CatPullbackSquaretypeclass extendingCatCommSqthat encodes the fact that a givenCatCommSqdefines an equivalence between the top left corner and the categorical pullback of its legs. - Define a
IsCatPullbackSquarepropclass. - Define the "categorical fiber" of a functor at an object of the target category.
- Pasting calculus for categorical pullback squares.
- Categorical pullback squares attached to Grothendieck constructions of pseudofunctors.
- Stability of (co)fibered categories under categorical pullbacks.
The CategoricalPullback F G is the category of triples
(a : A, c : C, F a ≅ G c).
Morphisms (a, c, e) ⟶ (a', c', e') are pairs of morphisms
(f₁ : a ⟶ a', f₂ : c ⟶ c') compatible with the specified
isomorphisms.
- fst : A
the first component element
- snd : C
the second component element
Instances For
A notation for the categorical pullback.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Hom types for the categorical pullback are given by pairs of maps compatible with the structural isomorphisms.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Naturality square for morphisms in the inverse direction.
Extensionnality principle for morphisms in CategoricalPullback F G.
CategoricalPullback.π₁ F G is the first projection CategoricalPullback F G ⥤ A.
Equations
- One or more equations did not get rendered due to their size.
Instances For
CategoricalPullback.π₂ F G is the second projection CategoricalPullback F G ⥤ C.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical categorical commutative square in which CategoricalPullback F G sits.
Equations
- CategoryTheory.Limits.CategoricalPullback.catCommSq F G = { iso := CategoryTheory.NatIso.ofComponents (fun (x : CategoryTheory.Limits.CategoricalPullback F G) => x.iso) ⋯ }
Constructor for isomorphisms in CategoricalPullback F G.
Equations
Instances For
The data of a categorical commutative square over a cospan F, G with cone point X is
that of a functor T : X ⥤ A, a functor L : X ⥤ C, and a CatCommSqOver T L F G.
Note that this is exactly what an object of
((whiskeringRight X A B).obj F) ⊡ ((whiskeringRight X C B).obj G) is,
so CatCommSqOver F G X is in fact an abbreviation for
((whiskeringRight X A B).obj F) ⊡ ((whiskeringRight X C B).obj G).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Interpret a CatCommSqOver F G X X as a CatCommSq.
Equations
The "first projection" of a CatCommSqOver as a functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The "second projection" of a CatCommSqOver as a functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The structure isomorphism of a CatCommSqOver as a natural transformation.
Equations
Instances For
Interpret a functor to the categorical pullback as a CatCommSqOver.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Interpret a CatCommSqOver as a functor to the categorical pullback.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The universal property of categorical pullbacks, stated as an equivalence
of categories between functors X ⥤ (F ⊡ G) and categorical commutative squares
over X.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A constructor for natural isomorphisms of functors X ⥤ CategoricalPullback: to
construct such an isomorphism, it suffices to produce isomorphisms after whiskering with
the projections, and compatible with the canonical 2-commutative square .
Equations
- CategoryTheory.Limits.CategoricalPullback.mkNatIso e₁ e₂ coh = CategoryTheory.NatIso.ofComponents (fun (x : X) => CategoryTheory.Limits.CategoricalPullback.mkIso (e₁.app x) (e₂.app x) ⋯) ⋯
Instances For
To check equality of two natural transformations of functors to a CategoricalPullback, it
suffices to do so after whiskering with the projections.
Comparing mkNatIso with the corresponding construction one can deduce from
functorEquiv.
Functorially transform a CatCommSqOver F G X by whiskering it with a
CatCospanTransform.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The construction CatCommSqOver.transform respects vertical composition
of CatCospanTransforms.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The construction CatCommSqOver.transform respects the identity
CatCospanTransforms.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A functor U : X ⥤ Y (functorially) induces a functor
CatCommSqOver F G Y ⥤ CatCommSqOver F G X by whiskering left the underlying
categorical commutative square by U.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The construction precompose respects functor identities.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The construction precompose respects functor composition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical compatibility square between (the object components of)
precompose and transform.
This is a "naturality square" if we think as transform _|>.obj _ as the
(app component of the) map component of a pseudofunctor from the bicategory of
categorical cospans with value in pseudofunctors
(its value on the categorical cospan F, G being the pseudofunctor
precompose F G|>.obj _).
Equations
- One or more equations did not get rendered due to their size.
The square precomposeObjTransformObjSquare is itself natural.
The square precomposeObjTransformOBjSquare respects identities.
The square precomposeTransformSquare respects compositions.
The canonical compatibility square between (the object components of)
transform and precompose.
This is a "naturality square" if we think as precompose as the
(app component of the) map component of a pseudofunctor from the opposite
bicategory of categories to pseudofunctors of categorical cospans
(its value on X being the pseudofunctor transform X _).
Equations
- One or more equations did not get rendered due to their size.
The square transformObjPrecomposeObjSquare is itself natural.
The square transformObjPrecomposeObjSquare respects identities.
The square transformPrecomposeSquare respects compositions.