Documentation

Mathlib.CategoryTheory.Category.TwoP

The category of two-pointed types #

This defines TwoP, the category of two-pointed types.

References #

structure TwoP :
Type (u + 1)

The category of two-pointed types.

  • X : Type u

    The underlying type of a two-pointed type.

  • toTwoPointing : TwoPointing self.X

    The two points of a bipointed type, bundled together as a pair of distinct elements.

Instances For
    @[implicit_reducible]
    instance TwoP.instCoeSortType :
    CoeSort TwoP (Type u_3)
    @[reducible, inline]
    abbrev TwoP.of {X : Type u_3} (toTwoPointing : TwoPointing X) :

    Turns a two-pointing into a two-pointed type.

    Instances For
      theorem TwoP.coe_of {X : Type u_3} (toTwoPointing : TwoPointing X) :
      (of toTwoPointing).X = X
      def TwoPointing.TwoP {X : Type u_3} (toTwoPointing : TwoPointing X) :

      Alias of TwoP.of.


      Turns a two-pointing into a two-pointed type.

      Instances For
        @[implicit_reducible]
        instance TwoP.instInhabited :
        Inhabited TwoP
        noncomputable def TwoP.toBipointed (X : TwoP) :

        Turns a two-pointed type into a bipointed type, by forgetting that the pointed elements are distinct.

        Instances For
          @[implicit_reducible]
          theorem TwoP.hom_ext {X Y : TwoP} {f g : X โŸถ Y} (h : f.hom = g.hom) :
          f = g
          theorem TwoP.hom_ext_iff {X Y : TwoP} {f g : X โŸถ Y} :
          f = g โ†” f.hom = g.hom

          Swaps the pointed elements of a two-pointed type. TwoPointing.swap as a functor.

          Instances For
            @[simp]
            theorem TwoP.swap_map {Xโœ Yโœ : TwoP} (f : Xโœ โŸถ Yโœ) :
            swap.map f = CategoryTheory.InducedCategory.homMk { toFun := โ‡‘(CategoryTheory.ConcreteCategory.hom f.hom), map_fst := โ‹ฏ, map_snd := โ‹ฏ }
            @[simp]
            theorem TwoP.swap_obj_X (X : TwoP) :
            (swap.obj X).X = X.X
            noncomputable def TwoP.swapEquiv :

            The equivalence between TwoP and itself induced by Prod.swap both ways.

            Instances For
              @[simp]
              theorem TwoP.swapEquiv_inverse_map_hom_toFun {Xโœ Yโœ : TwoP} (f : Xโœ โŸถ Yโœ) (a : Xโœ.toBipointed.X) :
              @[simp]
              theorem TwoP.swapEquiv_functor_map_hom_toFun {Xโœ Yโœ : TwoP} (f : Xโœ โŸถ Yโœ) (a : Xโœ.toBipointed.X) :

              The functor from Pointed to TwoP which adds a second point.

              Instances For
                @[simp]
                theorem pointedToTwoPFst_map_hom_toFun {Xโœ Yโœ : Pointed} (f : Xโœ โŸถ Yโœ) (aโœ : Option Xโœ.X) :
                (pointedToTwoPFst.map f).hom.toFun aโœ = Option.map f.toFun aโœ

                The functor from Pointed to TwoP which adds a first point.

                Instances For
                  @[simp]
                  theorem pointedToTwoPSnd_map_hom_toFun {Xโœ Yโœ : Pointed} (f : Xโœ โŸถ Yโœ) (aโœ : Option Xโœ.X) :
                  (pointedToTwoPSnd.map f).hom.toFun aโœ = Option.map f.toFun aโœ