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
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
- Pointed.hasForget = CategoryTheory.HasForget.mk { obj := Pointed.X, map := @Pointed.Hom.toFun, map_id := Pointed.hasForget.proof_1, map_comp := @Pointed.hasForget.proof_2 }
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
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.