WithInitial
and WithTerminal
#
Given a category C
, this file constructs two objects:
WithTerminal C
, the category built fromC
by formally adjoining a terminal object.WithInitial C
, the category built fromC
by formally adjoining an initial object.
The terminal resp. initial object is WithTerminal.star
resp. WithInitial.star
, and
the proofs that these are terminal resp. initial are in WithTerminal.star_terminal
and WithInitial.star_initial
.
The inclusion from C
intro WithTerminal C
resp. WithInitial C
is denoted
WithTerminal.incl
resp. WithInitial.incl
.
The relevant constructions needed for the universal properties of these constructions are:
lift
, which liftsF : C ⥤ D
to a functor fromWithTerminal C
resp.WithInitial C
in the case where an objectZ : D
is provided satisfying some additional conditions.inclLift
shows that the composition oflift
withincl
is isomorphic to the functor which was lifted.liftUnique
provides the uniqueness property oflift
.
In addition to this, we provide WithTerminal.map
and WithInitial.map
providing the
functoriality of these constructions with respect to functors on the base categories.
Formally adjoin a terminal object to a category.
- of: {C : Type u} → C → CategoryTheory.WithTerminal C
- star: {C : Type u} → CategoryTheory.WithTerminal C
Instances For
Equations
- CategoryTheory.instInhabitedWithTerminal = { default := CategoryTheory.WithTerminal.star }
Formally adjoin an initial object to a category.
- of: {C : Type u} → C → CategoryTheory.WithInitial C
- star: {C : Type u} → CategoryTheory.WithInitial C
Instances For
Equations
- CategoryTheory.instInhabitedWithInitial = { default := CategoryTheory.WithInitial.star }
Morphisms for WithTerminal C
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Identity morphisms for WithTerminal C
.
Equations
- CategoryTheory.WithTerminal.id x = match x with | CategoryTheory.WithTerminal.of a => CategoryTheory.CategoryStruct.id a | CategoryTheory.WithTerminal.star => PUnit.unit
Instances For
Composition of morphisms for WithTerminal C
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.WithTerminal.instCategoryWithTerminal = CategoryTheory.Category.mk
Helper function for typechecking.
Equations
Instances For
The inclusion from C
into WithTerminal C
.
Equations
- CategoryTheory.WithTerminal.incl = CategoryTheory.Functor.mk { obj := CategoryTheory.WithTerminal.of, map := fun {X Y : C} (f : X ⟶ Y) => f }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- (_ : CategoryTheory.Faithful CategoryTheory.WithTerminal.incl) = (_ : CategoryTheory.Faithful CategoryTheory.WithTerminal.incl)
Map WithTerminal
with respect to a functor F : C ⥤ D
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
WithTerminal.star
is terminal.
Equations
- CategoryTheory.WithTerminal.starTerminal = CategoryTheory.Limits.IsTerminal.ofUnique CategoryTheory.WithTerminal.star
Instances For
Lift a functor F : C ⥤ D
to WithTerminal C ⥤ D
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The isomorphism between incl ⋙ lift F _ _
with F
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The isomorphism between (lift F _ _).obj WithTerminal.star
with Z
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The uniqueness of lift
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A variant of lift
with Z
a terminal object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A variant of incl_lift
with Z
a terminal object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A variant of lift_unique
with Z
a terminal object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Constructs a morphism to star
from of X
.
Equations
- CategoryTheory.WithTerminal.homFrom X = CategoryTheory.Limits.IsTerminal.from CategoryTheory.WithTerminal.starTerminal (CategoryTheory.WithTerminal.incl.toPrefunctor.obj X)
Instances For
Equations
- (_ : CategoryTheory.IsIso f) = (_ : CategoryTheory.IsIso f)
Morphisms for WithInitial C
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Identity morphisms for WithInitial C
.
Equations
- CategoryTheory.WithInitial.id x = match x with | CategoryTheory.WithInitial.of a => CategoryTheory.CategoryStruct.id a | CategoryTheory.WithInitial.star => PUnit.unit
Instances For
Composition of morphisms for WithInitial C
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.WithInitial.instCategoryWithInitial = CategoryTheory.Category.mk
Helper function for typechecking.
Equations
Instances For
The inclusion of C
into WithInitial C
.
Equations
- CategoryTheory.WithInitial.incl = CategoryTheory.Functor.mk { obj := CategoryTheory.WithInitial.of, map := fun {X Y : C} (f : X ⟶ Y) => f }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- (_ : CategoryTheory.Faithful CategoryTheory.WithInitial.incl) = (_ : CategoryTheory.Faithful CategoryTheory.WithInitial.incl)
Map WithInitial
with respect to a functor F : C ⥤ D
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
WithInitial.star
is initial.
Equations
- CategoryTheory.WithInitial.starInitial = CategoryTheory.Limits.IsInitial.ofUnique CategoryTheory.WithInitial.star
Instances For
Lift a functor F : C ⥤ D
to WithInitial C ⥤ D
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The isomorphism between incl ⋙ lift F _ _
with F
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The isomorphism between (lift F _ _).obj WithInitial.star
with Z
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The uniqueness of lift
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A variant of lift
with Z
an initial object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A variant of incl_lift
with Z
an initial object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A variant of lift_unique
with Z
an initial object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Constructs a morphism from star
to of X
.
Equations
- CategoryTheory.WithInitial.homTo X = CategoryTheory.Limits.IsInitial.to CategoryTheory.WithInitial.starInitial (CategoryTheory.WithInitial.incl.toPrefunctor.obj X)
Instances For
Equations
- (_ : CategoryTheory.IsIso f) = (_ : CategoryTheory.IsIso f)