Documentation

Mathlib.Order.ULift

Ordered structures on ULift.{v} α #

Once these basic instances are setup, the instances of more complex typeclasses should live next to the corresponding Prod instances.

instance ULift.instLE_mathlib {α : Type u} [LE α] :
Equations
    @[simp]
    theorem ULift.up_le {α : Type u} [LE α] {a b : α} :
    { down := a } { down := b } a b
    @[simp]
    theorem ULift.down_le {α : Type u} [LE α] {a b : ULift.{u_1, u} α} :
    a.down b.down a b
    instance ULift.instLT_mathlib {α : Type u} [LT α] :
    Equations
      @[simp]
      theorem ULift.up_lt {α : Type u} [LT α] {a b : α} :
      { down := a } < { down := b } a < b
      @[simp]
      theorem ULift.down_lt {α : Type u} [LT α] {a b : ULift.{u_1, u} α} :
      a.down < b.down a < b
      instance ULift.instBEq_mathlib {α : Type u} [BEq α] :
      Equations
        @[simp]
        theorem ULift.up_beq {α : Type u} [BEq α] (a b : α) :
        ({ down := a } == { down := b }) = (a == b)
        @[simp]
        theorem ULift.down_beq {α : Type u} [BEq α] (a b : ULift.{u_1, u} α) :
        (a.down == b.down) = (a == b)
        instance ULift.instOrd_mathlib {α : Type u} [Ord α] :
        Equations
          @[simp]
          theorem ULift.up_compare {α : Type u} [Ord α] (a b : α) :
          compare { down := a } { down := b } = compare a b
          @[simp]
          theorem ULift.down_compare {α : Type u} [Ord α] (a b : ULift.{u_1, u} α) :
          instance ULift.instMax_mathlib {α : Type u} [Max α] :
          Equations
            @[simp]
            theorem ULift.up_sup {α : Type u} [Max α] (a b : α) :
            { down := ab } = { down := a }{ down := b }
            @[simp]
            theorem ULift.down_sup {α : Type u} [Max α] (a b : ULift.{u_1, u} α) :
            (ab).down = a.downb.down
            instance ULift.instMin_mathlib {α : Type u} [Min α] :
            Equations
              @[simp]
              theorem ULift.up_inf {α : Type u} [Min α] (a b : α) :
              { down := ab } = { down := a }{ down := b }
              @[simp]
              theorem ULift.down_inf {α : Type u} [Min α] (a b : ULift.{u_1, u} α) :
              (ab).down = a.downb.down
              instance ULift.instSDiff_mathlib {α : Type u} [SDiff α] :
              Equations
                @[simp]
                theorem ULift.up_sdiff {α : Type u} [SDiff α] (a b : α) :
                { down := a \ b } = { down := a } \ { down := b }
                @[simp]
                theorem ULift.down_sdiff {α : Type u} [SDiff α] (a b : ULift.{u_1, u} α) :
                (a \ b).down = a.down \ b.down
                Equations
                  @[simp]
                  theorem ULift.up_compl {α : Type u} [HasCompl α] (a : α) :
                  { down := a } = { down := a }
                  @[simp]
                  theorem ULift.down_compl {α : Type u} [HasCompl α] (a : ULift.{u_1, u} α) :
                  Equations