Documentation

Mathlib.Order.Category.LinOrd

Category of linear orders #

This defines LinOrd, the category of linear orders with monotone maps.

structure LinOrd.Hom (X Y : LinOrd) :

The type of morphisms in LinOrd R.

Instances For
    theorem LinOrd.Hom.ext {X Y : LinOrd} {x y : X.Hom Y} (hom' : x.hom' = y.hom') :
    x = y
    theorem LinOrd.Hom.ext_iff {X Y : LinOrd} {x y : X.Hom Y} :
    x = y ↔ x.hom' = y.hom'
    @[reducible, inline]
    abbrev LinOrd.Hom.hom {X Y : LinOrd} (f : X.Hom Y) :
    ↑X β†’o ↑Y

    Turn a morphism in LinOrd back into a OrderHom.

    Instances For
      @[reducible, inline]
      abbrev LinOrd.ofHom {X Y : Type u} [LinearOrder X] [LinearOrder Y] (f : X β†’o Y) :
      { carrier := X, str := inst✝ } ⟢ { carrier := Y, str := inst✝¹ }

      Typecheck a OrderHom as a morphism in LinOrd.

      Instances For
        def LinOrd.Hom.Simps.hom (X Y : LinOrd) (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 LinOrd.ext {X Y : LinOrd} {f g : X ⟢ Y} (w : βˆ€ (x : ↑X), (CategoryTheory.ConcreteCategory.hom f) x = (CategoryTheory.ConcreteCategory.hom g) x) :
          f = g
          theorem LinOrd.ext_iff {X Y : LinOrd} {f g : X ⟢ Y} :
          f = g ↔ βˆ€ (x : ↑X), (CategoryTheory.ConcreteCategory.hom f) x = (CategoryTheory.ConcreteCategory.hom g) x
          theorem LinOrd.coe_of (X : Type u) [LinearOrder X] :
          ↑{ carrier := X, str := inst✝ } = X
          theorem LinOrd.hom_ext {X Y : LinOrd} {f g : X ⟢ Y} (hf : Hom.hom f = Hom.hom g) :
          f = g
          theorem LinOrd.hom_ext_iff {X Y : LinOrd} {f g : X ⟢ Y} :
          f = g ↔ Hom.hom f = Hom.hom g
          @[simp]
          theorem LinOrd.hom_ofHom {X Y : Type u} [LinearOrder X] [LinearOrder Y] (f : X β†’o Y) :
          Hom.hom (ofHom f) = f
          @[simp]
          theorem LinOrd.ofHom_hom {X Y : LinOrd} (f : X ⟢ Y) :
          ofHom (Hom.hom f) = f
          @[simp]
          theorem LinOrd.ofHom_id {X : Type u} [LinearOrder X] :
          ofHom OrderHom.id = CategoryTheory.CategoryStruct.id { carrier := X, str := inst✝ }
          @[implicit_reducible]
          instance LinOrd.instInhabited :
          Inhabited LinOrd
          def LinOrd.Iso.mk {Ξ± Ξ² : LinOrd} (e : ↑α ≃o ↑β) :
          Ξ± β‰… Ξ²

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

          Instances For
            @[simp]
            theorem LinOrd.Iso.mk_inv {Ξ± Ξ² : LinOrd} (e : ↑α ≃o ↑β) :
            (mk e).inv = ofHom ↑e.symm
            @[simp]
            theorem LinOrd.Iso.mk_hom {Ξ± Ξ² : LinOrd} (e : ↑α ≃o ↑β) :
            (mk e).hom = ofHom ↑e
            @[simp]
            theorem LinOrd.dual_map {X✝ Y✝ : LinOrd} (f : X✝ ⟢ Y✝) :

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

            Instances For