Documentation

Mathlib.Order.Types.Defs

Order types #

Order types are defined as the quotient of linear orders under order isomorphism. They are preordered by order embeddings.

Main definitions #

A preorder with a bottom element is registered on order types, where is 0, the order type corresponding to the empty type.

Notation #

The following are notations in the OrderType namespace:

References #

Tags #

order type, order isomorphism, linear order

Equivalence relation on linear orders on arbitrary types in universe u, given by order isomorphism.

Equations
Instances For
    def OrderType :
    Type (u + 1)

    OrderType.{u} is the type of linear orders in Type u, up to order isomorphism.

    Equations
    Instances For

      A "canonical" type order-isomorphic to the order type o, living in the same universe. This is defined through the axiom of choice.

      Equations
      Instances For

        The local instance for some arbitrary linear order on Type u , order isomorphic within order type o.

        Equations

        Basic properties of the order type #

        The order type of the linear order on α.

        Equations
        Instances For
          theorem OrderType.type_eq_type {α β : Type u} [LinearOrder α] [LinearOrder β] :
          type α = type β Nonempty (α ≃o β)
          theorem OrderType.type_congr {α β : Type u} [LinearOrder α] [LinearOrder β] (h : α ≃o β) :
          type α = type β
          @[simp]
          theorem OrderType.type_of_isEmpty {α : Type u} [LinearOrder α] [IsEmpty α] :
          type α = 0
          @[simp]
          theorem OrderType.type_ne_zero {α : Type u} [LinearOrder α] [h : Nonempty α] :
          type α 0
          @[simp]
          theorem OrderType.type_of_unique {α : Type u} [LinearOrder α] [Nonempty α] [Subsingleton α] :
          type α = 1
          theorem OrderType.inductionOn {C : OrderType.{u_1}Prop} (o : OrderType.{u_1}) (H : ∀ (α : Type u_1) [inst : LinearOrder α], C (type α)) :
          C o

          Quotient.inductionOn specialized to OrderType.

          theorem OrderType.inductionOn₂ {C : OrderType.{u_1}OrderType.{u_2}Prop} (o₁ : OrderType.{u_1}) (o₂ : OrderType.{u_2}) (H : ∀ (α : Type u_1) [inst : LinearOrder α] (β : Type u_2) [inst_1 : LinearOrder β], C (type α) (type β)) :
          C o₁ o₂

          Quotient.inductionOn₂ specialized to OrderType.

          theorem OrderType.inductionOn₃ {C : OrderType.{u_1}OrderType.{u_2}OrderType.{u_3}Prop} (o₁ : OrderType.{u_1}) (o₂ : OrderType.{u_2}) (o₃ : OrderType.{u_3}) (H : ∀ (α : Type u_1) [inst : LinearOrder α] (β : Type u_2) [inst_1 : LinearOrder β] (γ : Type u_3) [inst_2 : LinearOrder γ], C (type α) (type β) (type γ)) :
          C o₁ o₂ o₃

          Quotient.inductionOn₃ specialized to OrderType.

          def OrderType.liftOn {δ : Sort v} (o : OrderType.{u_1}) (f : (α : Type u_1) → [LinearOrder α] → δ) (c : ∀ (α : Type u_1) [inst : LinearOrder α] (β : Type u_1) [inst_1 : LinearOrder β], type α = type βf α = f β) :
          δ

          To define a function on OrderType, it suffices to define it on all linear orders.

          Equations
          Instances For
            @[simp]
            theorem OrderType.liftOn_type {δ : Sort v} (f : (α : Type u_1) → [LinearOrder α] → δ) (c : ∀ (α : Type u_1) [inst : LinearOrder α] (β : Type u_1) [inst_1 : LinearOrder β], type α = type βf α = f β) {γ : Type u_1} [inst : LinearOrder γ] :
            (type γ).liftOn f c = f γ

            The order on OrderType #

            The order is defined so that type α ≤ type β iff there exists an order embedding α ↪o β.

            Equations
            • One or more equations did not get rendered due to their size.
            theorem OrderType.type_le_type {α β : Type u} [LinearOrder α] [LinearOrder β] (h : α ↪o β) :
            type α type β
            theorem OrderType.type_lt_type {α β : Type u} [LinearOrder α] [LinearOrder β] (h : α ↪o β) (hne : IsEmpty (β ↪o α)) :
            type α < type β
            @[simp]
            @[simp]

            ω is the first infinite ordinal, defined as the order type of .

            Conventions for notations in identifiers:

            • The recommended spelling of ω in identifiers is omega0.
            Equations
            Instances For

              ω is the first infinite ordinal, defined as the order type of .

              Conventions for notations in identifiers:

              • The recommended spelling of ω in identifiers is omega0.
              Equations
              Instances For