PullbackCone #
This file provides API for interacting with cones (resp. cocones) in the case of pullbacks (resp. pushouts).
Main definitions #
PullbackCone f g: Given morphismsf : X ⟶ Zandg : Y ⟶ Z, a termt : PullbackCone f gprovides the data of a cone pictured as followst.pt ---t.snd---> Y | | t.fst g | | v v X -----f------> ZThe type
PullbackCone f gis implemented as an abbreviation forCone (cospan f g), so general results about cones are also available forPullbackCone f g.PushoutCone f g: Given morphismsf : X ⟶ Yandg : X ⟶ Z, a termt : PushoutCone f gprovides the data of a cocone pictured as followsX -----f------> Y | | g t.inr | | v v Z ---t.inl---> t.ptSimilar to
PullbackCone,PushoutCone f gis implemented as an abbreviation forCocone (span f g), so general results about cocones are also available forPushoutCone f g.
API #
We summarize the most important parts of the API for pullback cones here. The dual notions for pushout cones are also available in this file.
Various ways of constructing pullback cones:
PullbackCone.mkconstructs a term ofPullbackCone f ggiven morphismsfstandsndsuch thatfst ≫ f = snd ≫ g.PullbackCone.flipis thePullbackConeobtained by flippingfstandsnd.
Interaction with IsLimit:
PullbackCone.isLimitAuxandPullbackCone.isLimitAux'provide two convenient ways to show that a givenPullbackConeis a limit cone.PullbackCone.isLimit.mkprovides a convenient way to show that aPullbackConeconstructed usingPullbackCone.mkis a limit cone.PullbackCone.IsLimit.liftandPullbackCone.IsLimit.lift'provides convenient ways for constructing the morphisms to the point of a limitPullbackConefrom the universal property.PullbackCone.IsLimit.hom_extprovides a convenient way to show that two morphisms to the point of a limitPullbackConeare equal.
Interaction with CommSq:
CommSq.coneandCommSq.coconeprovide the implicit (non-limiting) pullback cone and pushout cocone associated with a commuting square
References #
A pullback cone is just a cone on the cospan formed by two morphisms f : X ⟶ Z and
g : Y ⟶ Z.
Instances For
The first projection of a pullback cone.
Instances For
The second projection of a pullback cone.
Instances For
A pullback cone on f and g is determined by morphisms fst : W ⟶ X and snd : W ⟶ Y
such that fst ≫ f = snd ≫ g.
Instances For
To check whether two morphisms are equalized by the maps of a pullback cone, it suffices to
check it for fst t and snd t
To construct an isomorphism of pullback cones, it suffices to construct an isomorphism
of the cone points and check it commutes with fst and snd.
Instances For
The natural isomorphism between a pullback cone and the corresponding pullback cone
reconstructed using PullbackCone.mk.
Instances For
This is a slightly more convenient method to verify that a pullback cone is a limit cone. It only asks for a proof of facts that carry any mathematical content
Instances For
This is another convenient method to verify that a pullback cone is a limit cone. It
only asks for a proof of facts that carry any mathematical content, and allows access to the
same s for all parts.
Instances For
This is a more convenient formulation to show that a PullbackCone constructed using
PullbackCone.mk is a limit cone.
Instances For
If t is a limit pullback cone over f and g and h : W ⟶ X and k : W ⟶ Y are such that
h ≫ f = k ≫ g, then we get l : W ⟶ t.pt, which satisfies l ≫ fst t = h
and l ≫ snd t = k, see IsLimit.lift_fst and IsLimit.lift_snd.
Instances For
If t is a limit pullback cone over f and g and h : W ⟶ X and k : W ⟶ Y are such that
h ≫ f = k ≫ g, then we have l : W ⟶ t.pt satisfying l ≫ fst t = h and l ≫ snd t = k.
Instances For
The pullback cone reconstructed using PullbackCone.mk from a pullback cone that is a
limit, is also a limit.
Instances For
The pullback cone obtained by flipping fst and snd.
Instances For
Flipping a pullback cone twice gives an isomorphic cone.
Instances For
The flip of a pullback square is a pullback square.
Instances For
A square is a pullback square if its flip is.
Instances For
This is a helper construction that can be useful when verifying that a category has all
pullbacks. Given F : WalkingCospan ⥤ C, which is really the same as
cospan (F.map inl) (F.map inr), and a pullback cone on F.map inl and F.map inr, we
get a cone on F.
If you're thinking about using this, have a look at hasPullbacks_of_hasLimit_cospan,
which you may find to be an easier way of achieving your goal.
Instances For
Given F : WalkingCospan ⥤ C, which is really the same as cospan (F.map inl) (F.map inr),
and a cone on F, we get a pullback cone on F.map inl and F.map inr.
Instances For
A diagram WalkingCospan ⥤ C is isomorphic to some PullbackCone.mk after
composing with diagramIsoCospan.
Instances For
A pushout cocone is just a cocone on the span formed by two morphisms f : X ⟶ Y and
g : X ⟶ Z.
Instances For
The first inclusion of a pushout cocone.
Instances For
The second inclusion of a pushout cocone.
Instances For
A pushout cocone on f and g is determined by morphisms inl : Y ⟶ W and inr : Z ⟶ W such
that f ≫ inl = g ↠ inr.
Instances For
To check whether a morphism is coequalized by the maps of a pushout cocone, it suffices to check
it for inl t and inr t
To construct an isomorphism of pushout cocones, it suffices to construct an isomorphism
of the cocone points and check it commutes with inl and inr.
Instances For
The natural isomorphism between a pushout cocone and the corresponding pushout cocone
reconstructed using PushoutCocone.mk.
Instances For
This is a slightly more convenient method to verify that a pushout cocone is a colimit cocone. It only asks for a proof of facts that carry any mathematical content
Instances For
This is another convenient method to verify that a pushout cocone is a colimit cocone. It
only asks for a proof of facts that carry any mathematical content, and allows access to the
same s for all parts.
Instances For
If t is a colimit pushout cocone over f and g and h : Y ⟶ W and k : Z ⟶ W are
morphisms satisfying f ≫ h = g ≫ k, then we have a factorization l : t.pt ⟶ W such that
inl t ≫ l = h and inr t ≫ l = k, see IsColimit.inl_desc and IsColimit.inr_desc.
Instances For
If t is a colimit pushout cocone over f and g and h : Y ⟶ W and k : Z ⟶ W are
morphisms satisfying f ≫ h = g ≫ k, then we have a factorization l : t.pt ⟶ W such that
inl t ≫ l = h and inr t ≫ l = k.
Instances For
This is a more convenient formulation to show that a PushoutCocone constructed using
PushoutCocone.mk is a colimit cocone.
Instances For
The pushout cocone reconstructed using PushoutCocone.mk from a pushout cocone that is a
colimit, is also a colimit.
Instances For
The pushout cocone obtained by flipping inl and inr.
Instances For
Flipping a pushout cocone twice gives an isomorphic cocone.
Instances For
The flip of a pushout square is a pushout square.
Instances For
A square is a pushout square if its flip is.
Instances For
This is a helper construction that can be useful when verifying that a category has all
pushout. Given F : WalkingSpan ⥤ C, which is really the same as
span (F.map fst) (F.map snd), and a pushout cocone on F.map fst and F.map snd,
we get a cocone on F.
If you're thinking about using this, have a look at hasPushouts_of_hasColimit_span, which
you may find to be an easier way of achieving your goal.
Instances For
Given F : WalkingSpan ⥤ C, which is really the same as span (F.map fst) (F.map snd),
and a cocone on F, we get a pushout cocone on F.map fst and F.map snd.
Instances For
A diagram WalkingSpan ⥤ C is isomorphic to some PushoutCocone.mk after composing with
diagramIsoSpan.
Instances For
The (not necessarily limiting) PullbackCone h i implicit in the statement
that we have CommSq f g h i.
Instances For
The (not necessarily limiting) PushoutCocone f g implicit in the statement
that we have CommSq f g h i.