Documentation

Mathlib.Order.Category.PartOrdEmb

Category of partial orders, with order embeddings as morphisms #

This defines PartOrdEmb, the category of partial orders with order embeddings as morphisms. We also show that PartOrdEmb has filtered colimits.

structure PartOrdEmb :
Type (u_1 + 1)

The category of partial orders.

  • of :: (
    • carrier : Type u_1

      The underlying partially ordered type.

    • str : PartialOrder โ†‘self
  • )
Instances For
    @[implicit_reducible]
    structure PartOrdEmb.Hom (X Y : PartOrdEmb) :

    The type of morphisms in PartOrdEmb R.

    Instances For
      theorem PartOrdEmb.Hom.ext_iff {X Y : PartOrdEmb} {x y : X.Hom Y} :
      x = y โ†” x.hom' = y.hom'
      theorem PartOrdEmb.Hom.ext {X Y : PartOrdEmb} {x y : X.Hom Y} (hom' : x.hom' = y.hom') :
      x = y
      @[reducible, inline]
      abbrev PartOrdEmb.Hom.hom {X Y : PartOrdEmb} (f : X.Hom Y) :
      โ†‘X โ†ชo โ†‘Y

      Turn a morphism in PartOrdEmb back into a OrderEmbedding.

      Instances For
        @[reducible, inline]
        abbrev PartOrdEmb.ofHom {X Y : Type u} [PartialOrder X] [PartialOrder Y] (f : X โ†ชo Y) :
        { carrier := X, str := instโœ } โŸถ { carrier := Y, str := instโœยน }

        Typecheck a OrderEmbedding as a morphism in PartOrdEmb.

        Instances For
          def PartOrdEmb.Hom.Simps.hom (X Y : PartOrdEmb) (f : X.Hom Y) :
          โ†‘X โ†ชo โ†‘Y

          Use the ConcreteCategory.hom projection for @[simps] lemmas.

          Instances For

            The results below duplicate the ConcreteCategory simp lemmas, but we can keep them for dsimp.

            theorem PartOrdEmb.ext {X Y : PartOrdEmb} {f g : X โŸถ Y} (w : โˆ€ (x : โ†‘X), (CategoryTheory.ConcreteCategory.hom f) x = (CategoryTheory.ConcreteCategory.hom g) x) :
            f = g
            theorem PartOrdEmb.ext_iff {X Y : PartOrdEmb} {f g : X โŸถ Y} :
            f = g โ†” โˆ€ (x : โ†‘X), (CategoryTheory.ConcreteCategory.hom f) x = (CategoryTheory.ConcreteCategory.hom g) x
            theorem PartOrdEmb.coe_of (X : Type u) [PartialOrder X] :
            โ†‘{ carrier := X, str := instโœ } = X
            theorem PartOrdEmb.Hom.le_iff_le {X Y : PartOrdEmb} (f : X โŸถ Y) (xโ‚ xโ‚‚ : โ†‘X) :
            theorem PartOrdEmb.hom_ext {X Y : PartOrdEmb} {f g : X โŸถ Y} (hf : Hom.hom f = Hom.hom g) :
            f = g
            theorem PartOrdEmb.hom_ext_iff {X Y : PartOrdEmb} {f g : X โŸถ Y} :
            f = g โ†” Hom.hom f = Hom.hom g
            @[simp]
            theorem PartOrdEmb.ofHom_id {X : Type u} [PartialOrder X] :
            ofHom (RelEmbedding.refl fun (x1 x2 : X) => x1 โ‰ค x2) = CategoryTheory.CategoryStruct.id { carrier := X, str := instโœ }
            def PartOrdEmb.Iso.mk {ฮฑ ฮฒ : PartOrdEmb} (e : โ†‘ฮฑ โ‰ƒo โ†‘ฮฒ) :
            ฮฑ โ‰… ฮฒ

            Constructs an equivalence between partial orders from an order isomorphism between them.

            Instances For
              @[simp]
              theorem PartOrdEmb.Iso.mk_hom {ฮฑ ฮฒ : PartOrdEmb} (e : โ†‘ฮฑ โ‰ƒo โ†‘ฮฒ) :
              @[simp]
              theorem PartOrdEmb.Iso.mk_inv {ฮฑ ฮฒ : PartOrdEmb} (e : โ†‘ฮฑ โ‰ƒo โ†‘ฮฒ) :
              @[simp]
              theorem PartOrdEmb.dual_map {Xโœ Yโœ : PartOrdEmb} (f : Xโœ โŸถ Yโœ) :

              The equivalence between PartOrdEmb and itself induced by OrderDual both ways.

              Instances For

                Given a functor F : J โฅค PartOrdEmb and a colimit cocone c for F โ‹™ forget _, this is the type c.pt on which we define a partial order which makes it the colimit of F.

                Instances For

                  The colimit cocone for a functor F : J โฅค PartOrdEmb from a filtered category that is constructed from a colimit cocone for F โ‹™ forget _.

                  Instances For

                    A colimit cocone for F : J โฅค PartOrdEmb (with J filtered) can be obtained from a colimit cocone for F โ‹™ forget _.

                    Instances For