Documentation

Mathlib.Order.OrderDual

Order dual #

This file defines OrderDual α, a type synonym reversing the meaning of all inequalities, with notation αᵒᵈ.

Notation #

αᵒᵈ is notation for OrderDual α.

Implementation notes #

One should not abuse definitional equality between α and αᵒᵈ. Instead, explicit coercions should be inserted:

def OrderDual (α : Type u_2) :
Type u_2

Type synonym to equip a type with the dual order: means and < means >. αᵒᵈ is notation for OrderDual α.

Equations
Instances For

    Type synonym to equip a type with the dual order: means and < means >. αᵒᵈ is notation for OrderDual α.

    Equations
    Instances For
      instance OrderDual.instNonempty (α : Type u_2) [h : Nonempty α] :
      @[implicit_reducible]
      instance OrderDual.instLE (α : Type u_2) [LE α] :
      Equations
      @[implicit_reducible]
      instance OrderDual.instLT (α : Type u_2) [LT α] :
      Equations
      @[implicit_reducible]
      instance OrderDual.instOrd (α : Type u_2) [Ord α] :
      Equations
      @[implicit_reducible]
      instance OrderDual.instSup (α : Type u_2) [Min α] :
      Equations
      @[implicit_reducible]
      instance OrderDual.instInf (α : Type u_2) [Max α] :
      Equations
      instance OrderDual.instIsTransLE {α : Type u_1} [LE α] [T : IsTrans α LE.le] :
      instance OrderDual.instIsTransLT {α : Type u_1} [LT α] [T : IsTrans α LT.lt] :
      @[implicit_reducible]
      instance OrderDual.instPreorder (α : Type u_2) [Preorder α] :
      Equations
      @[implicit_reducible]
      Equations
      @[implicit_reducible]
      Equations
      @[implicit_reducible]
      Equations
      @[implicit_reducible]
      Equations
      @[implicit_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[implicit_reducible]
      def LinearOrder.swap (α : Type u_2) :

      The opposite linear order to a given linear order

      Equations
      Instances For
        @[implicit_reducible]
        Equations
        theorem OrderDual.Ord.dual_dual (α : Type u_2) [H : Ord α] :
        @[implicit_reducible]
        instance OrderDual.instUnique {α : Type u_1} [h : Unique α] :
        Equations
        def OrderDual.toDual {α : Type u_1} :
        α αᵒᵈ

        toDual is the identity function to the OrderDual of a linear order.

        Equations
        Instances For
          def OrderDual.ofDual {α : Type u_1} :
          αᵒᵈ α

          ofDual is the identity function from the OrderDual of a linear order.

          Equations
          Instances For
            @[simp]
            theorem OrderDual.toDual_ofDual {α : Type u_1} (a : αᵒᵈ) :
            @[simp]
            theorem OrderDual.ofDual_toDual {α : Type u_1} (a : α) :
            @[simp]
            @[simp]
            theorem OrderDual.toDual_inj {α : Type u_1} {a b : α} :
            toDual a = toDual b a = b
            theorem OrderDual.ofDual_inj {α : Type u_1} {a b : αᵒᵈ} :
            ofDual a = ofDual b a = b
            theorem OrderDual.ext {α : Type u_1} {a b : αᵒᵈ} (h : ofDual a = ofDual b) :
            a = b
            theorem OrderDual.ext_iff {α : Type u_1} {a b : αᵒᵈ} :
            a = b ofDual a = ofDual b
            @[simp]
            theorem OrderDual.toDual_le_toDual {α : Type u_1} [LE α] {a b : α} :
            @[simp]
            theorem OrderDual.toDual_lt_toDual {α : Type u_1} [LT α] {a b : α} :
            toDual a < toDual b b < a
            @[simp]
            theorem OrderDual.ofDual_le_ofDual {α : Type u_1} [LE α] {a b : αᵒᵈ} :
            @[simp]
            theorem OrderDual.ofDual_lt_ofDual {α : Type u_1} [LT α] {a b : αᵒᵈ} :
            ofDual a < ofDual b b < a
            theorem OrderDual.le_toDual {α : Type u_1} [LE α] {a : αᵒᵈ} {b : α} :
            theorem OrderDual.toDual_le {α : Type u_1} [LE α] {a : αᵒᵈ} {b : α} :
            theorem OrderDual.lt_toDual {α : Type u_1} [LT α] {a : αᵒᵈ} {b : α} :
            a < toDual b b < ofDual a
            theorem OrderDual.toDual_lt {α : Type u_1} [LT α] {a : αᵒᵈ} {b : α} :
            toDual b < a ofDual a < b
            def OrderDual.rec {α : Type u_1} {motive : αᵒᵈSort u_2} (toDual : (a : α) → motive (toDual a)) (a : αᵒᵈ) :
            motive a

            Recursor for αᵒᵈ.

            Equations
            Instances For
              @[simp]
              theorem OrderDual.forall {α : Type u_1} {p : αᵒᵈProp} :
              (∀ (a : αᵒᵈ), p a) ∀ (a : α), p (toDual a)
              @[simp]
              theorem OrderDual.exists {α : Type u_1} {p : αᵒᵈProp} :
              ( (a : αᵒᵈ), p a) (a : α), p (toDual a)
              theorem LE.le.dual {α : Type u_1} [LE α] {a b : α} :

              Alias of the reverse direction of OrderDual.toDual_le_toDual.

              theorem LT.lt.dual {α : Type u_1} [LT α] {a b : α} :

              Alias of the reverse direction of OrderDual.toDual_lt_toDual.

              theorem LE.le.ofDual {α : Type u_1} [LE α] {a b : αᵒᵈ} :

              Alias of the reverse direction of OrderDual.ofDual_le_ofDual.

              theorem LT.lt.ofDual {α : Type u_1} [LT α] {a b : αᵒᵈ} :

              Alias of the reverse direction of OrderDual.ofDual_lt_ofDual.

              DenselyOrdered for OrderDual #