Documentation

Mathlib.CategoryTheory.Subfunctor.SubmonoidFunctor

Functors of submonoids #

Given a functor M : C ⥤ MonCat, we define a functor of submonoids S to be a family Submonoid (M.obj U) for all U : C that are compatible with the maps induced by M.

We provide the complete lattice structure and the basic functoriality properties.

TODO #

structure CategoryTheory.SubmonoidFunctor {C : Type u} [Category.{v, u} C] (M : Functor C MonCat) :
Type (max u w)

A submonoid functor consists of a submonoid of M.obj U for every U, compatible with the restriction maps M.map i.

Instances For
    theorem CategoryTheory.SubmonoidFunctor.ext {C : Type u} {inst✝ : Category.{v, u} C} {M : Functor C MonCat} {x y : SubmonoidFunctor M} (obj : x.obj = y.obj) :
    x = y

    The functor of monoids associated to a functor of submonoids.

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

      The subfunctor associated to a functor of submonoids.

      Equations
      Instances For
        @[implicit_reducible]
        Equations
        • One or more equations did not get rendered due to their size.
        @[simp]
        theorem CategoryTheory.SubmonoidFunctor.sSup_obj {C : Type u} [Category.{v, u} C] {M : Functor C MonCat} (S : Set (SubmonoidFunctor M)) (x✝ : C) :
        (sSup S).obj x✝ = FS, F.obj x✝
        @[simp]
        theorem CategoryTheory.SubmonoidFunctor.sup_obj {C : Type u} [Category.{v, u} C] {M : Functor C MonCat} (F G : SubmonoidFunctor M) (x✝ : C) :
        (SemilatticeSup.sup F G).obj x✝ = F.obj x✝G.obj x✝
        @[simp]
        @[simp]
        theorem CategoryTheory.SubmonoidFunctor.inf_obj {C : Type u} [Category.{v, u} C] {M : Functor C MonCat} (S T : SubmonoidFunctor M) (x✝ : C) :
        (Lattice.inf S T).obj x✝ = S.obj x✝T.obj x✝
        @[simp]
        theorem CategoryTheory.SubmonoidFunctor.sInf_obj {C : Type u} [Category.{v, u} C] {M : Functor C MonCat} (S : Set (SubmonoidFunctor M)) (x✝ : C) :
        (sInf S).obj x✝ = FS, F.obj x✝
        @[simp]

        The inclusion of a submonoid functor S to the original functor of monoids M.

        Equations
        Instances For
          @[simp]

          The submonoid functor defined by the image along a morphism of functors of monoids.

          Equations
          Instances For
            @[simp]
            theorem CategoryTheory.SubmonoidFunctor.image_obj {C : Type u} [Category.{v, u} C] {M M' : Functor C MonCat} (p : M M') (S : SubmonoidFunctor M) (x✝ : C) :
            (image p S).obj x✝ = Submonoid.map (MonCat.Hom.hom (p.app x✝)) (S.obj x✝)
            @[simp]
            theorem CategoryTheory.SubmonoidFunctor.image_comp {C : Type u} [Category.{v, u} C] {M M' M'' : Functor C MonCat} (S : SubmonoidFunctor M) (p : M M') (p' : M' M'') :

            The submonoid functor defined by the preimage along a morphism of functors of monoids.

            Equations
            Instances For
              @[simp]
              theorem CategoryTheory.SubmonoidFunctor.comap_obj {C : Type u} [Category.{v, u} C] {M M' : Functor C MonCat} (p : M M') (S' : SubmonoidFunctor M') (x✝ : C) :
              (comap p S').obj x✝ = Submonoid.comap (MonCat.Hom.hom (p.app x✝)) (S'.obj x✝)
              @[simp]
              theorem CategoryTheory.SubmonoidFunctor.comap_comp {C : Type u} [Category.{v, u} C] {M M' M'' : Functor C MonCat} (p : M M') (S'' : SubmonoidFunctor M'') (p' : M' M'') :
              comap (CategoryStruct.comp p p') S'' = comap p (comap p' S'')
              def CategoryTheory.SubmonoidFunctor.lift {C : Type u} [Category.{v, u} C] {M M' : Functor C MonCat} (p : M M') (S' : SubmonoidFunctor M') (hp : image p S') :

              If the image of morphism M' ⟶ M lands in a submonoid functor S, then the morphism factors through it.

              Equations
              Instances For
                @[simp]
                theorem CategoryTheory.SubmonoidFunctor.lift_app {C : Type u} [Category.{v, u} C] {M M' : Functor C MonCat} (p : M M') (S' : SubmonoidFunctor M') (hp : image p S') (U : C) :
                (lift p S' hp).app U = MonCat.ofHom ((MonCat.Hom.hom (p.app U)).codRestrict (S'.obj U) )
                @[simp]
                theorem CategoryTheory.SubmonoidFunctor.lift_ι {C : Type u} [Category.{v, u} C] {M M' : Functor C MonCat} (p : M M') (S' : SubmonoidFunctor M') (hp : image p S') :
                CategoryStruct.comp (lift p S' hp) S'.ι = p
                @[simp]