Documentation

Mathlib.Order.Category.LinOrd

Category of linear orders #

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

structure LinOrd :
Type (u_1 + 1)

The category of linear orders.

  • carrier : Type u_1

    The underlying linearly ordered type.

  • str : LinearOrder self
@[reducible, inline]
abbrev LinOrd.of (X : Type u_1) [LinearOrder X] :

Construct a bundled LinOrd from the underlying type and typeclass.

Equations
structure LinOrd.Hom (X Y : LinOrd) :

The type of morphisms in LinOrd R.

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'
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
@[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.

Equations
@[reducible, inline]
abbrev LinOrd.ofHom {X Y : Type u} [LinearOrder X] [LinearOrder Y] (f : X →o Y) :
of X of Y

Typecheck a OrderHom as a morphism in LinOrd.

Equations
def LinOrd.Hom.Simps.hom (X Y : LinOrd) (f : X.Hom Y) :
X →o Y

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

Equations

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.coe_of (X : Type u) [LinearOrder X] :
(of X) = X
@[simp]
theorem LinOrd.hom_comp {X Y Z : LinOrd} (f : X Y) (g : Y Z) :
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} :
@[simp]
theorem LinOrd.hom_ofHom {X Y : Type u} [LinearOrder X] [LinearOrder Y] (f : X →o Y) :
@[simp]
theorem LinOrd.ofHom_hom {X Y : LinOrd} (f : X Y) :
@[simp]
theorem LinOrd.ofHom_comp {X Y Z : Type u} [LinearOrder X] [LinearOrder Y] [LinearOrder Z] (f : X →o Y) (g : Y →o Z) :
theorem LinOrd.ofHom_apply {X Y : Type u} [LinearOrder X] [LinearOrder Y] (f : X →o Y) (x : X) :
Equations
  • One or more equations did not get rendered due to their size.
def LinOrd.Iso.mk {α β : LinOrd} (e : α ≃o β) :
α β

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

Equations
@[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

OrderDual as a functor.

Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem LinOrd.dual_map {X✝ Y✝ : LinOrd} (f : X✝ Y✝) :

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

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