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
into 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.
We define corresponding pseudofunctors WithTerminal.pseudofunctor
and WithInitial.pseudofunctor
from Cat
to Cat
.
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
- (CategoryTheory.WithTerminal.of X).Hom (CategoryTheory.WithTerminal.of Y) = (X ⟶ Y)
- CategoryTheory.WithTerminal.star.Hom (CategoryTheory.WithTerminal.of a) = PEmpty.{?u.26 + 1}
- x.Hom CategoryTheory.WithTerminal.star = PUnit.{?u.38 + 1}
Instances For
Identity morphisms for WithTerminal C
.
Equations
- (CategoryTheory.WithTerminal.of a).id = CategoryTheory.CategoryStruct.id a
- CategoryTheory.WithTerminal.star.id = PUnit.unit
Instances For
Composition of morphisms for WithTerminal C
.
Equations
- One or more equations did not get rendered due to their size.
- CategoryTheory.WithTerminal.comp = fun (_f : (CategoryTheory.WithTerminal.of _X).Hom x) (_g : x.Hom CategoryTheory.WithTerminal.star) => PUnit.unit
- CategoryTheory.WithTerminal.comp = fun (f : CategoryTheory.WithTerminal.star.Hom (CategoryTheory.WithTerminal.of _X)) (_g : (CategoryTheory.WithTerminal.of _X).Hom x) => PEmpty.elim f
- CategoryTheory.WithTerminal.comp = fun (_f : x.Hom CategoryTheory.WithTerminal.star) (g : CategoryTheory.WithTerminal.star.Hom (CategoryTheory.WithTerminal.of _Y)) => PEmpty.elim g
- CategoryTheory.WithTerminal.comp = fun (x x : CategoryTheory.WithTerminal.star.Hom CategoryTheory.WithTerminal.star) => PUnit.unit
Instances For
Equations
- CategoryTheory.WithTerminal.instCategory = CategoryTheory.Category.mk ⋯ ⋯ ⋯
Helper function for typechecking.
Equations
Instances For
The inclusion from C
into WithTerminal C
.
Equations
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
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
A natural isomorphism between the functor map (𝟭 C)
and 𝟭 (WithTerminal C)
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A natural isomorphism between the functor map (F ⋙ G)
and map F ⋙ map G
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
From a natural transformation of functors C ⥤ D
, the induced natural transformation
of functors WithTerminal C ⥤ WithTerminal D
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The prelax functor from Cat
to Cat
defined with WithTerminal
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The pseudofunctor from Cat
to Cat
defined with WithTerminal
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.WithTerminal.instUniqueHomStar = { default := PUnit.unit, uniq := ⋯ }
- CategoryTheory.WithTerminal.instUniqueHomStar = { default := PUnit.unit, uniq := ⋯ }
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
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
- CategoryTheory.WithTerminal.liftToTerminal F hZ = CategoryTheory.WithTerminal.lift F (fun (_x : C) => hZ.from (F.obj _x)) ⋯
Instances For
A variant of incl_lift
with Z
a terminal object.
Equations
- CategoryTheory.WithTerminal.inclLiftToTerminal F hZ = CategoryTheory.WithTerminal.inclLift F (fun (_x : C) => hZ.from (F.obj _x)) ⋯
Instances For
A variant of lift_unique
with Z
a terminal object.
Equations
- CategoryTheory.WithTerminal.liftToTerminalUnique F hZ G h hG = CategoryTheory.WithTerminal.liftUnique F (fun (_z : C) => hZ.from (F.obj _z)) ⋯ G h hG ⋯
Instances For
Constructs a morphism to star
from of X
.
Equations
- CategoryTheory.WithTerminal.homFrom X = CategoryTheory.WithTerminal.starTerminal.from (CategoryTheory.WithTerminal.incl.obj X)
Instances For
Equations
- ⋯ = ⋯
Morphisms for WithInitial C
.
Equations
- (CategoryTheory.WithInitial.of X).Hom (CategoryTheory.WithInitial.of Y) = (X ⟶ Y)
- (CategoryTheory.WithInitial.of a).Hom x = PEmpty.{?u.26 + 1}
- CategoryTheory.WithInitial.star.Hom x = PUnit.{?u.39 + 1}
Instances For
Identity morphisms for WithInitial C
.
Equations
- (CategoryTheory.WithInitial.of a).id = CategoryTheory.CategoryStruct.id a
- CategoryTheory.WithInitial.star.id = PUnit.unit
Instances For
Composition of morphisms for WithInitial C
.
Equations
- One or more equations did not get rendered due to their size.
- CategoryTheory.WithInitial.comp = fun (_f : CategoryTheory.WithInitial.star.Hom x) (_g : x.Hom (CategoryTheory.WithInitial.of _X)) => PUnit.unit
- CategoryTheory.WithInitial.comp = fun (_f : x.Hom (CategoryTheory.WithInitial.of _X)) (g : (CategoryTheory.WithInitial.of _X).Hom CategoryTheory.WithInitial.star) => PEmpty.elim g
- CategoryTheory.WithInitial.comp = fun (f : (CategoryTheory.WithInitial.of _Y).Hom CategoryTheory.WithInitial.star) (_g : CategoryTheory.WithInitial.star.Hom x) => PEmpty.elim f
- CategoryTheory.WithInitial.comp = fun (x x : CategoryTheory.WithInitial.star.Hom CategoryTheory.WithInitial.star) => PUnit.unit
Instances For
Equations
- CategoryTheory.WithInitial.instCategory = CategoryTheory.Category.mk ⋯ ⋯ ⋯
Helper function for typechecking.
Equations
Instances For
The inclusion of C
into WithInitial C
.
Equations
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
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
A natural isomorphism between the functor map (𝟭 C)
and 𝟭 (WithInitial C)
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A natural isomorphism between the functor map (F ⋙ G)
and map F ⋙ map G
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
From a natural transformation of functors C ⥤ D
, the induced natural transformation
of functors WithInitial C ⥤ WithInitial D
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The prelax functor from Cat
to Cat
defined with WithInitial
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The pseudofunctor from Cat
to Cat
defined with WithInitial
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.WithInitial.instUniqueHomStar = { default := PUnit.unit, uniq := ⋯ }
- CategoryTheory.WithInitial.instUniqueHomStar = { default := PUnit.unit, uniq := ⋯ }
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
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
- CategoryTheory.WithInitial.liftToInitial F hZ = CategoryTheory.WithInitial.lift F (fun (_x : C) => hZ.to (F.obj _x)) ⋯
Instances For
A variant of incl_lift
with Z
an initial object.
Equations
- CategoryTheory.WithInitial.inclLiftToInitial F hZ = CategoryTheory.WithInitial.inclLift F (fun (_x : C) => hZ.to (F.obj _x)) ⋯
Instances For
A variant of lift_unique
with Z
an initial object.
Equations
- CategoryTheory.WithInitial.liftToInitialUnique F hZ G h hG = CategoryTheory.WithInitial.liftUnique F (fun (_z : C) => hZ.to (F.obj _z)) ⋯ G h hG ⋯
Instances For
Constructs a morphism from star
to of X
.
Equations
- CategoryTheory.WithInitial.homTo X = CategoryTheory.WithInitial.starInitial.to (CategoryTheory.WithInitial.incl.obj X)
Instances For
Equations
- ⋯ = ⋯