The category of pointed types #
This defines Pointed
, the category of pointed types.
TODO #
- Monoidal structure
- Upgrade
typeToPointed
to an equivalence
Equations
- Pointed.instCoeSortType = { coe := Pointed.X }
Turns a point into a pointed type.
Equations
- Pointed.of point = { X := X, point := point }
Instances For
Equations
- Pointed.instInhabited = { default := Pointed.of ((), ()) }
The identity morphism of X : Pointed
.
Equations
- Pointed.Hom.id X = { toFun := id, map_point := ⋯ }
Instances For
@[simp]
Equations
- Pointed.Hom.instInhabited X = { default := Pointed.Hom.id X }
@[simp]
@[simp]
@[simp]
theorem
Pointed.Hom.comp_toFun'
{X Y Z : Pointed}
(f : X ⟶ Y)
(g : Y ⟶ Z)
:
(CategoryTheory.CategoryStruct.comp f g).toFun = g.toFun ∘ f.toFun
Equations
- One or more equations did not get rendered due to their size.
Constructs an isomorphism between pointed types from an equivalence that preserves the point between them.
Equations
- Pointed.Iso.mk e he = { hom := { toFun := ⇑e, map_point := he }, inv := { toFun := ⇑e.symm, map_point := ⋯ }, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
@[simp]
theorem
Pointed.Iso.mk_hom_toFun
{α β : Pointed}
(e : α.X ≃ β.X)
(he : e α.point = β.point)
(a : α.X)
:
(Pointed.Iso.mk e he).hom.toFun a = e a
@[simp]
theorem
Pointed.Iso.mk_inv_toFun
{α β : Pointed}
(e : α.X ≃ β.X)
(he : e α.point = β.point)
(a : β.X)
:
(Pointed.Iso.mk e he).inv.toFun a = e.symm a
Option
as a functor from types to pointed types. This is the free functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
typeToPointed_map_toFun
{X✝ Y✝ : Type u}
(f : X✝ ⟶ Y✝)
(a✝ : Option X✝)
:
(typeToPointed.map f).toFun a✝ = Option.map f a✝
typeToPointed
is the free functor.
Equations
- One or more equations did not get rendered due to their size.