Documentation

Mathlib.CategoryTheory.Category.Pointed

The category of pointed types #

This defines Pointed, the category of pointed types.

TODO #

structure Pointed :
Type (u + 1)

The category of pointed types.

  • X : Type u

    the underlying type

  • point : self.X

    the distinguished element

Instances For
    @[reducible, inline]
    abbrev Pointed.of {X : Type u_1} (point : X) :

    Turns a point into a pointed type.

    Equations
      Instances For
        theorem Pointed.coe_of {X : Type u_1} (point : X) :
        (of point).X = X
        def Prod.Pointed {X : Type u_1} (point : X) :

        Alias of Pointed.of.


        Turns a point into a pointed type.

        Equations
          Instances For
            structure Pointed.Hom (X Y : Pointed) :

            Morphisms in Pointed.

            • toFun : X.XY.X

              the underlying map

            • map_point : self.toFun X.point = Y.point

              compatibility with the distinguished points

            Instances For
              theorem Pointed.Hom.ext {X Y : Pointed} {x y : X.Hom Y} (toFun : x.toFun = y.toFun) :
              x = y
              theorem Pointed.Hom.ext_iff {X Y : Pointed} {x y : X.Hom Y} :
              x = y x.toFun = y.toFun
              def Pointed.Hom.id (X : Pointed) :
              X.Hom X

              The identity morphism of X : Pointed.

              Equations
                Instances For
                  @[simp]
                  theorem Pointed.Hom.id_toFun (X : Pointed) (a : X.X) :
                  Equations
                    def Pointed.Hom.comp {X Y Z : Pointed} (f : X.Hom Y) (g : Y.Hom Z) :
                    X.Hom Z

                    Composition of morphisms of Pointed.

                    Equations
                      Instances For
                        @[simp]
                        theorem Pointed.Hom.comp_toFun {X Y Z : Pointed} (f : X.Hom Y) (g : Y.Hom Z) (a✝ : X.X) :
                        (f.comp g).toFun a✝ = (g.toFun f.toFun) a✝
                        @[simp]
                        instance Pointed.instFunLikeSubtypeForallXEqPoint (X : Pointed) (Y : Pointed) :
                        FunLike { f : X.XY.X // f X.point = Y.point } X.X Y.X
                        Equations
                          Equations
                            def Pointed.Iso.mk {α β : Pointed} (e : α.X β.X) (he : e α.point = β.point) :
                            α β

                            Constructs an isomorphism between pointed types from an equivalence that preserves the point between them.

                            Equations
                              Instances For
                                @[simp]
                                theorem Pointed.Iso.mk_inv_toFun {α β : Pointed} (e : α.X β.X) (he : e α.point = β.point) (a : β.X) :
                                (mk e he).inv.toFun a = e.symm a
                                @[simp]
                                theorem Pointed.Iso.mk_hom_toFun {α β : Pointed} (e : α.X β.X) (he : e α.point = β.point) (a : α.X) :
                                (mk e he).hom.toFun a = e a

                                Option as a functor from types to pointed types. This is the free functor.

                                Equations
                                  Instances For
                                    @[simp]
                                    theorem typeToPointed_map_toFun {X✝ Y✝ : Type u} (f : X✝ Y✝) (a✝ : Option X✝) :
                                    @[simp]