Lifting properties and parametrized adjunctions #
Let F : C₁ ⥤ C₂ ⥤ C₃
. Given morphisms f₁ : X₁ ⟶ Y₁
in C₁
and f₂ : X₂ ⟶ Y₂
in C₂
, we introduce a structure
F.PushoutObjObj f₁ f₂
which contains the data of a
pushout of (F.obj Y₁).obj X₂
and (F.obj X₁).obj Y₂
along (F.obj X₁).obj X₂
. If sq₁₂ : F.PushoutObjObj f₁ f₂
,
we have a canonical "inclusion" sq₁₂.ι : sq₁₂.pt ⟶ (F.obj Y₁).obj Y₂
.
Similarly, if we have a bifunctor G : C₁ᵒᵖ ⥤ C₃ ⥤ C₂
, and
morphisms f₁ : X₁ ⟶ Y₁
in C₁
and f₃ : X₃ ⟶ Y₃
in C₃
,
we introduce a structure F.PullbackObjObj f₁ f₃
which
contains the data of a pullback of (G.obj (op X₁)).obj X₃
and (G.obj (op Y₁)).obj Y₃
over (G.obj (op X₁)).obj Y₃
.
If sq₁₃ : F.PullbackObjObj f₁ f₃
, we have a canonical
projection sq₁₃.π : (G.obj Y₁).obj X₃ ⟶ sq₁₃.pt
.
Now, if we have a parametrized adjunction adj₂ : F ⊣₂ G
,
sq₁₂ : F.PushoutObjObj f₁ f₂
and sq₁₃ : G.PullbackObjObj f₁ f₃
,
we show that sq₁₂.ι
has the left lifting property with respect to
f₃
if and only if f₂
has the left lifting property with respect
to sq₁₃.π
: this is the lemma ParametrizedAdjunction.hasLiftingProperty_iff
.
Given a bifunctor F : C₁ ⥤ C₂ ⥤ C₃
, and morphisms f₁ : X₁ ⟶ Y₁
in C₁
and f₂ : X₂ ⟶ Y₂
in C₂
, this structure contains the data of
a pushout of (F.obj Y₁).obj X₂
and (F.obj X₁).obj Y₂
along (F.obj X₁).obj X₂
.
- pt : C₃
the pushout
the first inclusion
the second inclusion
Instances For
The PushoutObjObj
structure given by the pushout of the colimits API.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The "inclusion" sq.pt ⟶ (F.obj Y₁).obj Y₂
when
sq : F.PushoutObjObj f₁ f₂
.
Instances For
Given sq : F.PushoutObjObj f₁ f₂
, flipping the pushout square gives
sq.flip : F.flip.PushoutObjObj f₂ f₁
.
Instances For
Given a bifunctor G : C₁ᵒᵖ ⥤ C₃ ⥤ C₂
, and morphisms f₁ : X₁ ⟶ Y₁
in C₁
and f₃ : X₃ ⟶ Y₃
in C₃
, this structure contains the data of
a pullback of (G.obj (op X₁)).obj X₃
and (G.obj (op Y₁)).obj Y₃
over (G.obj (op X₁)).obj Y₃
.
- pt : C₂
the pullback
the first projection
the second projection
- isPullback : IsPullback self.fst self.snd ((G.obj (Opposite.op X₁)).map f₃) ((G.map f₁.op).app Y₃)
Instances For
The PullbackObjObj
structure given by the pullback of the limits API.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The projection (G.obj (op Y₁)).obj X₃ ⟶ sq.pt
when
sq : G.PullbackObjObj f₁ f₃
.
Instances For
Given a parametrized adjunction F ⊣₂ G
between bifunctors, and structures
sq₁₂ : F.PushoutObjObj f₁ f₂
and sq₁₃ : G.PullbackObjObj f₁ f₃
, there are
as many commutative squares with left map sq₁₂.ι
and right map f₃
as commutative squares with left map f₂
and right map sq₁₃.π
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a parametrized adjunction F ⊣₂ G
between bifunctors, structures
sq₁₂ : F.PushoutObjObj f₁ f₂
and sq₁₃ : G.PullbackObjObj f₁ f₃
,
there are as many liftings for the commutative square given by a
map α : Arrow.mk sq₁₂.ι ⟶ Arrow.mk f₃
as there are liftings
for the square given by the corresponding map Arrow.mk f₂ ⟶ Arrow.mk sq₁₃.π
.
Equations
- One or more equations did not get rendered due to their size.