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.instLEULift {α : 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 : ULift.{u_1, u} α} {b : ULift.{u_1, u} α} :
a.down ≤ b.down ↔ a ≤ b
instance ULift.instLTULift {α : Type u} [LT α] :
Equations
  • ULift.instLTULift = { lt := fun (x y : ULift.{v, u} α) => x.down < y.down }
@[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 : ULift.{u_1, u} α} {b : ULift.{u_1, u} α} :
a.down < b.down ↔ a < b
instance ULift.instOrdULift {α : 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 : ULift.{u_1, u} α) (b : ULift.{u_1, u} α) :
compare a.down b.down = compare a b
instance ULift.instSupULift {α : Type u} [Sup α] :
Equations
  • ULift.instSupULift = { sup := fun (x y : ULift.{v, u} α) => { down := x.down ⊔ y.down } }
@[simp]
theorem ULift.up_sup {α : Type u} [Sup α] (a : α) (b : α) :
{ down := a ⊔ b } = { down := a } ⊔ { down := b }
@[simp]
theorem ULift.down_sup {α : Type u} [Sup α] (a : ULift.{u_1, u} α) (b : ULift.{u_1, u} α) :
(a ⊔ b).down = a.down ⊔ b.down
instance ULift.instInfULift {α : Type u} [Inf α] :
Equations
  • ULift.instInfULift = { inf := fun (x y : ULift.{v, u} α) => { down := x.down ⊓ y.down } }
@[simp]
theorem ULift.up_inf {α : Type u} [Inf α] (a : α) (b : α) :
{ down := a ⊓ b } = { down := a } ⊓ { down := b }
@[simp]
theorem ULift.down_inf {α : Type u} [Inf α] (a : ULift.{u_1, u} α) (b : ULift.{u_1, u} α) :
(a ⊓ b).down = a.down ⊓ b.down
instance ULift.instSDiffULift {α : Type u} [SDiff α] :
Equations
  • ULift.instSDiffULift = { sdiff := fun (x y : ULift.{v, u} α) => { down := x.down \ y.down } }
@[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 : ULift.{u_1, u} α) (b : ULift.{u_1, u} α) :
(a \ b).down = a.down \ b.down
Equations
  • ULift.instHasComplULift = { compl := fun (x : ULift.{v, u} α) => { down := x.downᶜ } }
@[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} α) :
aᶜ.down = a.downᶜ
Equations
Equations