Documentation

Mathlib.CategoryTheory.Category.Bipointed

The category of bipointed types #

This defines Bipointed, the category of bipointed types.

TODO #

Monoidal structure

structure Bipointed :
Type (u + 1)

The category of bipointed types.

  • X : Type u

    The underlying type of a bipointed type.

  • toProd : self.X × self.X

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

Instances For
    def Bipointed.of {X : Type u_3} (to_prod : X × X) :

    Turns a bipointing into a bipointed type.

    Equations
    Instances For
      @[simp]
      theorem Bipointed.coe_of {X : Type u_3} (to_prod : X × X) :
      (Bipointed.of to_prod).X = X
      def Prod.Bipointed {X : Type u_3} (to_prod : X × X) :

      Alias of Bipointed.of.


      Turns a bipointing into a bipointed type.

      Equations
      Instances For
        theorem Bipointed.Hom.ext {X : Bipointed} {Y : Bipointed} (x : Bipointed.Hom X Y) (y : Bipointed.Hom X Y) (toFun : x.toFun = y.toFun) :
        x = y
        theorem Bipointed.Hom.ext_iff {X : Bipointed} {Y : Bipointed} (x : Bipointed.Hom X Y) (y : Bipointed.Hom X Y) :
        x = y x.toFun = y.toFun
        structure Bipointed.Hom (X : Bipointed) (Y : Bipointed) :

        Morphisms in Bipointed.

        • toFun : X.XY.X

          The underlying function of a morphism of bipointed types.

        • map_fst : self.toFun X.toProd.1 = Y.toProd.1
        • map_snd : self.toFun X.toProd.2 = Y.toProd.2
        Instances For
          @[simp]
          theorem Bipointed.Hom.id_toFun (X : Bipointed) (a : X.X) :
          (Bipointed.Hom.id X).toFun a = id a

          The identity morphism of X : Bipointed.

          Equations
          Instances For
            @[simp]
            theorem Bipointed.Hom.comp_toFun {X : Bipointed} {Y : Bipointed} {Z : Bipointed} (f : Bipointed.Hom X Y) (g : Bipointed.Hom Y Z) :
            ∀ (a : X.X), (Bipointed.Hom.comp f g).toFun a = (g.toFun f.toFun) a

            Composition of morphisms of Bipointed.

            Equations
            Instances For
              @[simp]
              theorem Bipointed.swap_map_toFun :
              ∀ {X Y : Bipointed} (f : X Y) (a : X.X), (Bipointed.swap.toPrefunctor.map f).toFun a = f.toFun a
              @[simp]
              theorem Bipointed.swap_obj_X (X : Bipointed) :
              (Bipointed.swap.toPrefunctor.obj X).X = X.X
              @[simp]
              theorem Bipointed.swap_obj_toProd (X : Bipointed) :
              (Bipointed.swap.toPrefunctor.obj X).toProd = Prod.swap X.toProd

              Swaps the pointed elements of a bipointed type. Prod.swap as a functor.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem Bipointed.swapEquiv_functor_obj_toProd (X : Bipointed) :
                (Bipointed.swapEquiv.functor.toPrefunctor.obj X).toProd = Prod.swap X.toProd
                @[simp]
                theorem Bipointed.swapEquiv_unitIso_inv_app_toFun (X : Bipointed) :
                ∀ (a : ((CategoryTheory.Functor.comp Bipointed.swap Bipointed.swap).toPrefunctor.obj X).X), (Bipointed.swapEquiv.unitIso.inv.app X).toFun a = (CategoryTheory.CategoryStruct.comp (Bipointed.swap.toPrefunctor.map (Bipointed.swap.toPrefunctor.map { toFun := id, map_fst := (_ : id ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj X).toProd.1 = id ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj X).toProd.1), map_snd := (_ : id ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj X).toProd.2 = id ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj X).toProd.2) })) (CategoryTheory.CategoryStruct.comp (Bipointed.swap.toPrefunctor.map { toFun := id, map_fst := (_ : id ((CategoryTheory.Functor.comp Bipointed.swap Bipointed.swap).toPrefunctor.obj (Bipointed.swap.toPrefunctor.obj X)).toProd.1 = id ((CategoryTheory.Functor.comp Bipointed.swap Bipointed.swap).toPrefunctor.obj (Bipointed.swap.toPrefunctor.obj X)).toProd.1), map_snd := (_ : id ((CategoryTheory.Functor.comp Bipointed.swap Bipointed.swap).toPrefunctor.obj (Bipointed.swap.toPrefunctor.obj X)).toProd.2 = id ((CategoryTheory.Functor.comp Bipointed.swap Bipointed.swap).toPrefunctor.obj (Bipointed.swap.toPrefunctor.obj X)).toProd.2) }) { toFun := id, map_fst := (_ : id ((CategoryTheory.Functor.comp Bipointed.swap Bipointed.swap).toPrefunctor.obj X).toProd.1 = id ((CategoryTheory.Functor.comp Bipointed.swap Bipointed.swap).toPrefunctor.obj X).toProd.1), map_snd := (_ : id ((CategoryTheory.Functor.comp Bipointed.swap Bipointed.swap).toPrefunctor.obj X).toProd.2 = id ((CategoryTheory.Functor.comp Bipointed.swap Bipointed.swap).toPrefunctor.obj X).toProd.2) })).toFun ((CategoryTheory.CategoryStruct.id (Bipointed.swap.toPrefunctor.obj (Bipointed.swap.toPrefunctor.obj X))).toFun a)
                @[simp]
                theorem Bipointed.swapEquiv_functor_map_toFun :
                ∀ {X Y : Bipointed} (f : X Y) (a : X.X), (Bipointed.swapEquiv.functor.toPrefunctor.map f).toFun a = f.toFun a
                @[simp]
                theorem Bipointed.swapEquiv_inverse_obj_toProd (X : Bipointed) :
                (Bipointed.swapEquiv.inverse.toPrefunctor.obj X).toProd = Prod.swap X.toProd
                @[simp]
                theorem Bipointed.swapEquiv_functor_obj_X (X : Bipointed) :
                (Bipointed.swapEquiv.functor.toPrefunctor.obj X).X = X.X
                @[simp]
                theorem Bipointed.swapEquiv_unitIso_hom_app_toFun (X : Bipointed) :
                ∀ (a : ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj X).X), (Bipointed.swapEquiv.unitIso.hom.app X).toFun a = (CategoryTheory.CategoryStruct.id (Bipointed.swap.toPrefunctor.obj (Bipointed.swap.toPrefunctor.obj X))).toFun ((CategoryTheory.CategoryStruct.comp { toFun := id, map_fst := (_ : id ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj X).toProd.1 = id ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj X).toProd.1), map_snd := (_ : id ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj X).toProd.2 = id ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj X).toProd.2) } (CategoryTheory.CategoryStruct.comp (Bipointed.swap.toPrefunctor.map { toFun := id, map_fst := (_ : id ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj (Bipointed.swap.toPrefunctor.obj X)).toProd.1 = id ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj (Bipointed.swap.toPrefunctor.obj X)).toProd.1), map_snd := (_ : id ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj (Bipointed.swap.toPrefunctor.obj X)).toProd.2 = id ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj (Bipointed.swap.toPrefunctor.obj X)).toProd.2) }) (Bipointed.swap.toPrefunctor.map (Bipointed.swap.toPrefunctor.map { toFun := id, map_fst := (_ : id ((CategoryTheory.Functor.comp Bipointed.swap Bipointed.swap).toPrefunctor.obj X).toProd.1 = id ((CategoryTheory.Functor.comp Bipointed.swap Bipointed.swap).toPrefunctor.obj X).toProd.1), map_snd := (_ : id ((CategoryTheory.Functor.comp Bipointed.swap Bipointed.swap).toPrefunctor.obj X).toProd.2 = id ((CategoryTheory.Functor.comp Bipointed.swap Bipointed.swap).toPrefunctor.obj X).toProd.2) })))).toFun a)
                @[simp]
                theorem Bipointed.swapEquiv_counitIso_inv_app_toFun (X : Bipointed) (a : ((CategoryTheory.Functor.id Bipointed).toPrefunctor.obj X).X) :
                (Bipointed.swapEquiv.counitIso.inv.app X).toFun a = a
                @[simp]
                @[simp]
                theorem Bipointed.swapEquiv_inverse_map_toFun :
                ∀ {X Y : Bipointed} (f : X Y) (a : X.X), (Bipointed.swapEquiv.inverse.toPrefunctor.map f).toFun a = f.toFun a
                @[simp]
                theorem Bipointed.swapEquiv_inverse_obj_X (X : Bipointed) :
                (Bipointed.swapEquiv.inverse.toPrefunctor.obj X).X = X.X

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

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  The forgetful functor from Bipointed to Pointed which forgets about the second point.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    The forgetful functor from Bipointed to Pointed which forgets about the first point.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      The functor from Pointed to Bipointed which bipoints the point.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

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

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

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

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            BipointedToPointed_fst is inverse to PointedToBipointed.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              BipointedToPointed_snd is inverse to PointedToBipointed.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For

                                The free/forgetful adjunction between PointedToBipointed_fst and BipointedToPointed_fst.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For

                                  The free/forgetful adjunction between PointedToBipointed_snd and BipointedToPointed_snd.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For