This module provides typeclass instances and lemmas about order-related typeclasses.
theorem Std.Trichotomous.rel_or_eq_or_rel_swap {α : Sort u_1} {r : α → α → Prop} [i : Trichotomous r] {a b : α} :
instance Std.Antisymm.trichotomous_of_antisymm_not {α : Sort u_1} {r : α → α → Prop} [i : Antisymm fun (x1 x2 : α) => ¬r x1 x2] :
theorem Std.total_of_refl_of_trichotomous {α : Sort u_1} (r : α → α → Prop) [Refl r] [Trichotomous r] :
Total r
@[instance_reducible]
Equations
- Std.instTransLeOfIsPreorder = { trans := ⋯ }
instance Std.instAntisymmLeOfLawfulOrderLTOfTrichotomousLt {α : Type u} {x✝ : LE α} [LT α] [LawfulOrderLT α] [Trichotomous fun (x1 x2 : α) => x1 < x2] :
instance Std.instAntisymmLtOfLawfulOrderLTOfLe {α : Type u} {x✝ : LT α} [LE α] [LawfulOrderLT α] [Antisymm fun (x1 x2 : α) => x1 ≤ x2] :
@[deprecated Std.instIrreflOfAsymm (since := "2025-10-24")]
@[instance_reducible]
instance Std.instTransLtOfLeOfLawfulOrderLT {α : Type u} [LT α] [LE α] [Trans (fun (x1 x2 : α) => x1 ≤ x2) (fun (x1 x2 : α) => x1 ≤ x2) fun (x1 x2 : α) => x1 ≤ x2] [LawfulOrderLT α] :
Equations
- Std.instTransLtOfLeOfLawfulOrderLT = { trans := ⋯ }
instance Std.instTrichotomousLtOfLawfulOrderLTOfTotalOfAntisymmLe {α : Type u} {x✝ : LT α} [LE α] [LawfulOrderLT α] [Total fun (x1 x2 : α) => x1 ≤ x2] [Antisymm fun (x1 x2 : α) => x1 ≤ x2] :
Trichotomous fun (x1 x2 : α) => x1 < x2
@[instance_reducible]
instance Std.instTransNotLtOfLawfulOrderLTOfTotalOfLe {α : Type u} {x✝ : LT α} [LE α] [LawfulOrderLT α] [Total fun (x1 x2 : α) => x1 ≤ x2] [Trans (fun (x1 x2 : α) => x1 ≤ x2) (fun (x1 x2 : α) => x1 ≤ x2) fun (x1 x2 : α) => x1 ≤ x2] :
Equations
- Std.instTransNotLtOfLawfulOrderLTOfTotalOfLe = { trans := ⋯ }
@[deprecated Std.Asymm.total_not (since := "2025-10-24")]
theorem Std.le_iff_lt_or_eq {α : Type u_1} [LE α] [LT α] [LawfulOrderLT α] [IsPartialOrder α] {a b : α} :
theorem Std.lt_iff_le_and_ne {α : Type u_1} [LE α] [LT α] [LawfulOrderLT α] [IsPartialOrder α] {a b : α} :
instance Std.instEquivBEqOfLawfulOrderBEqOfIsPreorder {α : Type u} [BEq α] [LE α] [LawfulOrderBEq α] [IsPreorder α] :
EquivBEq α
instance Std.instLawfulBEqOfLawfulOrderBEqOfIsPartialOrder {α : Type u} [BEq α] [LE α] [LawfulOrderBEq α] [IsPartialOrder α] :
theorem Std.min_le_left {α : Type u} [Min α] [LE α] [Refl fun (x1 x2 : α) => x1 ≤ x2] [LawfulOrderInf α] {a b : α} :
theorem Std.min_le_right {α : Type u} [Min α] [LE α] [Refl fun (x1 x2 : α) => x1 ≤ x2] [LawfulOrderInf α] {a b : α} :
theorem Std.lt_min_iff {α : Type u} [Min α] [LE α] [LT α] [IsLinearPreorder α] [LawfulOrderMin α] [LawfulOrderLT α] {a b c : α} :
instance Std.instMinEqOrOfIsLinearOrderOfLawfulOrderInf {α : Type u} [LE α] [Min α] [IsLinearOrder α] [LawfulOrderInf α] :
MinEqOr α
theorem Std.IsLinearOrder.of_refl_of_antisymm_of_lawfulOrderMin {α : Type u} [LE α] [LE α] [Min α] [Refl fun (x1 x2 : α) => x1 ≤ x2] [Antisymm fun (x1 x2 : α) => x1 ≤ x2] [LawfulOrderMin α] :
If a Min α instance satisfies typical properties in terms of a reflexive and antisymmetric LE α
instance, then the LE α instance represents a linear order.
instance Std.instAssociativeMinOfIsLinearOrderOfLawfulOrderMin {α : Type u} [LE α] [Min α] [IsLinearOrder α] [LawfulOrderMin α] :
theorem Std.min_eq_ite {α : Type u} [LE α] [DecidableLE α] {x✝ : Min α} [LawfulOrderLeftLeaningMin α] {a b : α} :
@[deprecated Std.min_eq_ite (since := "2026-07-21")]
theorem Std.min_eq_if {α : Type u} [LE α] [DecidableLE α] {x✝ : Min α} [LawfulOrderLeftLeaningMin α] {a b : α} :
theorem Std.max_eq_ite {α : Type u} [LE α] [DecidableLE α] {x✝ : Max α} [LawfulOrderLeftLeaningMax α] {a b : α} :
@[deprecated Std.max_eq_ite (since := "2026-07-21")]
theorem Std.max_eq_if {α : Type u} [LE α] [DecidableLE α] {x✝ : Max α} [LawfulOrderLeftLeaningMax α] {a b : α} :
instance Std.instLawfulOrderLeftLeaningMinOfIsLinearOrderOfLawfulOrderInf {α : Type u} [LE α] [Min α] [IsLinearOrder α] [LawfulOrderInf α] :
instance Std.instMinEqOrOfLawfulOrderLeftLeaningMin {α : Type u} [LE α] [Min α] [LawfulOrderLeftLeaningMin α] :
MinEqOr α
instance Std.instLawfulOrderMinOfIsLinearPreorderOfLawfulOrderLeftLeaningMin {α : Type u} [LE α] [Min α] [IsLinearPreorder α] [LawfulOrderLeftLeaningMin α] :
@[instance_reducible]
Equations
Instances For
theorem Std.left_le_max {α : Type u} [Max α] [LE α] [Refl fun (x1 x2 : α) => x1 ≤ x2] [LawfulOrderSup α] {a b : α} :
theorem Std.right_le_max {α : Type u} [Max α] [LE α] [Refl fun (x1 x2 : α) => x1 ≤ x2] [LawfulOrderSup α] {a b : α} :
theorem Std.max_lt_iff {α : Type u} [Max α] [LE α] [LT α] [IsLinearPreorder α] [LawfulOrderMax α] [LawfulOrderLT α] {a b c : α} :
instance Std.instMaxEqOrOfIsLinearOrderOfLawfulOrderSup {α : Type u} [LE α] [Max α] [IsLinearOrder α] [LawfulOrderSup α] :
MaxEqOr α
theorem Std.IsLinearOrder.of_refl_of_antisymm_of_lawfulOrderMax {α : Type u} [LE α] [Max α] [Refl fun (x1 x2 : α) => x1 ≤ x2] [Antisymm fun (x1 x2 : α) => x1 ≤ x2] [LawfulOrderMax α] :
If a Max α instance satisfies typical properties in terms of a reflexive and antisymmetric LE α
instance, then the LE α instance represents a linear order.
instance Std.instAssociativeMaxOfIsLinearOrderOfLawfulOrderMax {α : Type u} [LE α] [Max α] [IsLinearOrder α] [LawfulOrderMax α] :
instance Std.instLawfulOrderLeftLeaningMaxOfIsLinearOrderOfLawfulOrderSup {α : Type u} [LE α] [Max α] [IsLinearOrder α] [LawfulOrderSup α] :
instance Std.instMaxEqOrOfLawfulOrderLeftLeaningMax {α : Type u} [LE α] [Max α] [LawfulOrderLeftLeaningMax α] :
MaxEqOr α
instance Std.instLawfulOrderMaxOfIsLinearPreorderOfLawfulOrderLeftLeaningMax {α : Type u} [LE α] [Max α] [IsLinearPreorder α] [LawfulOrderLeftLeaningMax α] :
instance Std.lawfulOrderSup_maxOfLe {α : Type u} [LE α] [DecidableLE α] [Trans (fun (x1 x2 : α) => x1 ≤ x2) (fun (x1 x2 : α) => x1 ≤ x2) fun (x1 x2 : α) => x1 ≤ x2] [Total fun (x1 x2 : α) => x1 ≤ x2] :
@[instance_reducible]