Preservation of pullback/pushout squares #
If a functor F : C โฅค D preserves suitable cospans (resp. spans),
and sq : Square C is a pullback square (resp. a pushout square)
then so is the square sq.map F.
The lemma Square.isPullback_iff_map_coyoneda_isPullback also
shows that a square is a pullback square iff it is so after the
application of the functor coyoneda.obj X for all X : Cแตแต.
Similarly, a square is a pushout square iff the opposite
square becomes a pullback square after the application of the
functor yoneda.obj X for all X : C.
theorem
CategoryTheory.Square.IsPullback.map
{C : Type u}
[Category.{v, u} C]
{D : Type u'}
[Category.{v', u'} D]
{sq : Square C}
(h : sq.IsPullback)
(F : Functor C D)
[Limits.PreservesLimit (Limits.cospan sq.fโโ sq.fโโ) F]
:
(sq.map F).IsPullback
theorem
CategoryTheory.Square.IsPullback.of_map
{C : Type u}
[Category.{v, u} C]
{D : Type u'}
[Category.{v', u'} D]
{sq : Square C}
(F : Functor C D)
[Limits.ReflectsLimit (Limits.cospan sq.fโโ sq.fโโ) F]
(h : (sq.map F).IsPullback)
:
sq.IsPullback
theorem
CategoryTheory.Square.IsPullback.map_iff
{C : Type u}
[Category.{v, u} C]
{D : Type u'}
[Category.{v', u'} D]
(sq : Square C)
(F : Functor C D)
[Limits.PreservesLimit (Limits.cospan sq.fโโ sq.fโโ) F]
[Limits.ReflectsLimit (Limits.cospan sq.fโโ sq.fโโ) F]
:
theorem
CategoryTheory.Square.IsPushout.map
{C : Type u}
[Category.{v, u} C]
{D : Type u'}
[Category.{v', u'} D]
{sq : Square C}
(h : sq.IsPushout)
(F : Functor C D)
[Limits.PreservesColimit (Limits.span sq.fโโ sq.fโโ) F]
:
theorem
CategoryTheory.Square.IsPushout.of_map
{C : Type u}
[Category.{v, u} C]
{D : Type u'}
[Category.{v', u'} D]
{sq : Square C}
(F : Functor C D)
[Limits.ReflectsColimit (Limits.span sq.fโโ sq.fโโ) F]
(h : (sq.map F).IsPushout)
:
sq.IsPushout
theorem
CategoryTheory.Square.IsPushout.map_iff
{C : Type u}
[Category.{v, u} C]
{D : Type u'}
[Category.{v', u'} D]
(sq : Square C)
(F : Functor C D)
[Limits.PreservesColimit (Limits.span sq.fโโ sq.fโโ) F]
[Limits.ReflectsColimit (Limits.span sq.fโโ sq.fโโ) F]
:
theorem
CategoryTheory.Square.isPullback_iff_map_coyoneda_isPullback
{C : Type u}
[Category.{v, u} C]
(sq : Square C)
:
theorem
CategoryTheory.Square.isPushout_iff_op_map_yoneda_isPullback
{C : Type u}
[Category.{v, u} C]
(sq : Square C)
:
theorem
CategoryTheory.Square.IsPullback.iff_of_equiv
(sqโ : Square (Type v))
(sqโ : Square (Type u))
(eโ : sqโ.Xโ โ sqโ.Xโ)
(eโ : sqโ.Xโ โ sqโ.Xโ)
(eโ : sqโ.Xโ โ sqโ.Xโ)
(eโ : sqโ.Xโ โ sqโ.Xโ)
(commโโ : โeโ โ sqโ.fโโ = sqโ.fโโ โ โeโ)
(commโโ : โeโ โ sqโ.fโโ = sqโ.fโโ โ โeโ)
(commโโ : โeโ โ sqโ.fโโ = sqโ.fโโ โ โeโ)
(commโโ : โeโ โ sqโ.fโโ = sqโ.fโโ โ โeโ)
:
theorem
CategoryTheory.Square.IsPullback.of_equiv
{sqโ : Square (Type v)}
{sqโ : Square (Type u)}
(eโ : sqโ.Xโ โ sqโ.Xโ)
(eโ : sqโ.Xโ โ sqโ.Xโ)
(eโ : sqโ.Xโ โ sqโ.Xโ)
(eโ : sqโ.Xโ โ sqโ.Xโ)
(commโโ : โeโ โ sqโ.fโโ = sqโ.fโโ โ โeโ)
(commโโ : โeโ โ sqโ.fโโ = sqโ.fโโ โ โeโ)
(commโโ : โeโ โ sqโ.fโโ = sqโ.fโโ โ โeโ)
(commโโ : โeโ โ sqโ.fโโ = sqโ.fโโ โ โeโ)
(hโ : sqโ.IsPullback)
:
sqโ.IsPullback