Deprecated Batteries comparison classes
Examples are to ensure that old instances have equivalent new instances.
@[deprecated Std.OrientedCmp.gt_iff_lt (since := "2025-07-01")]
theorem
Batteries.OrientedCmp.cmp_eq_gt
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
{x y : α✝}
[OrientedCmp cmp]
:
@[deprecated Std.OrientedCmp.le_iff_ge (since := "2025-07-01")]
theorem
Batteries.OrientedCmp.cmp_ne_gt
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
{x y : α✝}
[OrientedCmp cmp]
:
@[deprecated Std.OrientedCmp.eq_comm (since := "2025-07-01")]
theorem
Batteries.OrientedCmp.cmp_eq_eq_symm
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
{x y : α✝}
[OrientedCmp cmp]
:
@[deprecated Std.ReflCmp.compare_self (since := "2025-07-01")]
theorem
Batteries.OrientedCmp.cmp_refl
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
{x : α✝}
[OrientedCmp cmp]
:
@[deprecated Std.OrientedCmp.not_lt_of_lt (since := "2025-07-01")]
theorem
Batteries.OrientedCmp.lt_asymm
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
{x y : α✝}
[OrientedCmp cmp]
(h : cmp x y = Ordering.lt)
:
@[deprecated Std.OrientedCmp.not_gt_of_gt (since := "2025-07-01")]
theorem
Batteries.OrientedCmp.gt_asymm
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
{x y : α✝}
[OrientedCmp cmp]
(h : cmp x y = Ordering.gt)
:
@[deprecated Std.TransCmp (since := "2025-07-01")]
class
Batteries.TransCmp
{α : Sort u_1}
(cmp : α → α → Ordering)
extends Batteries.OrientedCmp cmp :
TransCmp cmp asserts that cmp induces a transitive relation.
- le_trans {x y z : α} : cmp x y ≠ Ordering.gt → cmp y z ≠ Ordering.gt → cmp x z ≠ Ordering.gt
The comparator operation is transitive.
Instances
@[deprecated Std.TransCmp.ge_trans (since := "2025-07-01")]
theorem
Batteries.TransCmp.ge_trans
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
[TransCmp cmp]
{x y z : α✝}
(h₁ : cmp x y ≠ Ordering.lt)
(h₂ : cmp y z ≠ Ordering.lt)
:
@[deprecated Std.TransCmp.lt_of_le_of_lt (since := "2025-07-01")]
theorem
Batteries.TransCmp.le_lt_trans
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
[TransCmp cmp]
{x y z : α✝}
(h₁ : cmp x y ≠ Ordering.gt)
(h₂ : cmp y z = Ordering.lt)
:
@[deprecated Std.TransCmp.lt_of_lt_of_le (since := "2025-07-01")]
theorem
Batteries.TransCmp.lt_le_trans
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
[TransCmp cmp]
{x y z : α✝}
(h₁ : cmp x y = Ordering.lt)
(h₂ : cmp y z ≠ Ordering.gt)
:
@[deprecated Std.TransCmp.lt_trans (since := "2025-07-01")]
theorem
Batteries.TransCmp.lt_trans
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
[TransCmp cmp]
{x y z : α✝}
(h₁ : cmp x y = Ordering.lt)
(h₂ : cmp y z = Ordering.lt)
:
@[deprecated Std.TransCmp.gt_trans (since := "2025-07-01")]
theorem
Batteries.TransCmp.gt_trans
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
[TransCmp cmp]
{x y z : α✝}
(h₁ : cmp x y = Ordering.gt)
(h₂ : cmp y z = Ordering.gt)
:
@[deprecated Std.TransCmp.congr_left (since := "2025-07-01")]
theorem
Batteries.TransCmp.cmp_congr_left
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
[TransCmp cmp]
{x y z : α✝}
(xy : cmp x y = Ordering.eq)
:
@[deprecated Std.TransCmp.congr_left (since := "2025-07-01")]
theorem
Batteries.TransCmp.cmp_congr_left'
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
[TransCmp cmp]
{x y : α✝}
(xy : cmp x y = Ordering.eq)
:
@[deprecated Std.TransCmp.congr_right (since := "2025-07-01")]
theorem
Batteries.TransCmp.cmp_congr_right
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
[TransCmp cmp]
{y z x : α✝}
(yz : cmp y z = Ordering.eq)
:
instance
Batteries.instOrientedCmpFlipOrdering
{α✝ : Sort u_1}
{cmp : α✝ → α✝ → Ordering}
[inst : OrientedCmp cmp]
:
OrientedCmp (flip cmp)
@[deprecated Std.LawfulLTCmp.eq_gt_iff_gt (since := "2025-07-01")]
theorem
Batteries.LTCmp.cmp_iff_gt
{α : Type u_1}
{cmp : α → α → Ordering}
{x y : α}
[LT α]
[LTCmp cmp]
:
@[deprecated Std.LawfulLECmp.ne_lt_iff_ge (since := "2025-07-01")]
theorem
Batteries.LECmp.cmp_iff_ge
{α : Type u_1}
{cmp : α → α → Ordering}
{x y : α}
[LE α]
[LECmp cmp]
:
@[deprecated Std.LawfulBCmp (since := "2025-07-01")]
class
Batteries.LawfulCmp
{α : Type u_1}
[LE α]
[LT α]
[BEq α]
(cmp : α → α → Ordering)
extends Batteries.TransCmp cmp, Batteries.BEqCmp cmp, Batteries.LTCmp cmp, Batteries.LECmp cmp :
LawfulCmp cmp asserts that the LE, LT, BEq instances are all coherent with each other
and with cmp, describing a strict weak order (a linear order except for antisymmetry).
Instances
@[reducible, inline, deprecated Std.OrientedOrd (since := "2025-07-01")]
OrientedOrd α asserts that the Ord instance satisfies OrientedCmp.
Equations
Instances For
@[deprecated Std.TransCmp.compareOfLessAndEq_of_irrefl_of_trans_of_antisymm (since := "2025-07-01")]
theorem
Batteries.TransCmp.compareOfLessAndEq
{α : Type u_1}
[LT α]
[DecidableRel LT.lt]
[DecidableEq α]
(lt_irrefl : ∀ (x : α), ¬x < x)
(lt_trans : ∀ {x y z : α}, x < y → y < z → x < z)
(lt_antisymm : ∀ {x y : α}, ¬x < y → ¬y < x → x = y)
:
TransCmp fun (x1 x2 : α) => compareOfLessAndEq x1 x2
@[deprecated Std.TransCmp.compareOfLessAndEq_of_irrefl_of_trans_of_not_lt_of_antisymm (since := "2025-07-01")]
theorem
Batteries.TransCmp.compareOfLessAndEq_of_le
{α : Type u_1}
[LT α]
[LE α]
[DecidableRel LT.lt]
[DecidableEq α]
(lt_irrefl : ∀ (x : α), ¬x < x)
(lt_trans : ∀ {x y z : α}, x < y → y < z → x < z)
(not_lt : ∀ {x y : α}, ¬x < y → y ≤ x)
(le_antisymm : ∀ {x y : α}, x ≤ y → y ≤ x → x = y)
:
TransCmp fun (x1 x2 : α) => compareOfLessAndEq x1 x2
@[deprecated Std.LawfulBEqCmp.compareOfLessAndEq_of_lt_irrefl (since := "2025-07-01")]
theorem
Batteries.BEqCmp.compareOfLessAndEq
{α : Type u_1}
[LT α]
[DecidableRel LT.lt]
[DecidableEq α]
[BEq α]
[LawfulBEq α]
(lt_irrefl : ∀ (x : α), ¬x < x)
:
BEqCmp fun (x1 x2 : α) => compareOfLessAndEq x1 x2
@[deprecated Std.LawfulLTCmp.compareOfLessAndEq_of_irrefl_of_trans_of_antisymm (since := "2025-07-01")]
theorem
Batteries.LTCmp.compareOfLessAndEq
{α : Type u_1}
[LT α]
[DecidableRel LT.lt]
[DecidableEq α]
(lt_irrefl : ∀ (x : α), ¬x < x)
(lt_trans : ∀ {x y z : α}, x < y → y < z → x < z)
(lt_antisymm : ∀ {x y : α}, ¬x < y → ¬y < x → x = y)
:
LTCmp fun (x1 x2 : α) => compareOfLessAndEq x1 x2
@[deprecated Std.LawfulLTCmp.compareOfLessAndEq_of_irrefl_of_trans_of_not_lt_of_antisymm (since := "2025-07-01")]
theorem
Batteries.LTCmp.compareOfLessAndEq_of_le
{α : Type u_1}
[LT α]
[DecidableRel LT.lt]
[DecidableEq α]
[LE α]
(lt_irrefl : ∀ (x : α), ¬x < x)
(lt_trans : ∀ {x y z : α}, x < y → y < z → x < z)
(not_lt : ∀ {x y : α}, ¬x < y → y ≤ x)
(le_antisymm : ∀ {x y : α}, x ≤ y → y ≤ x → x = y)
:
LTCmp fun (x1 x2 : α) => compareOfLessAndEq x1 x2
@[deprecated Std.LawfulLECmp.compareOfLessAndEq_of_irrefl_of_trans_of_not_lt_of_antisymm (since := "2025-07-01")]
theorem
Batteries.LECmp.compareOfLessAndEq
{α : Type u_1}
[LT α]
[DecidableRel LT.lt]
[DecidableEq α]
[LE α]
(lt_irrefl : ∀ (x : α), ¬x < x)
(lt_trans : ∀ {x y z : α}, x < y → y < z → x < z)
(not_lt : ∀ {x y : α}, ¬x < y ↔ y ≤ x)
(le_antisymm : ∀ {x y : α}, x ≤ y → y ≤ x → x = y)
:
LECmp fun (x1 x2 : α) => compareOfLessAndEq x1 x2
@[deprecated Std.LawfulCmp.compareOfLessAndEq_of_irrefl_of_trans_of_not_lt_of_antisymm (since := "2025-07-01")]
theorem
Batteries.LawfulCmp.compareOfLessAndEq
{α : Type u_1}
[LT α]
[DecidableRel LT.lt]
[DecidableEq α]
[BEq α]
[LawfulBEq α]
[LE α]
(lt_irrefl : ∀ (x : α), ¬x < x)
(lt_trans : ∀ {x y z : α}, x < y → y < z → x < z)
(not_lt : ∀ {x y : α}, ¬x < y ↔ y ≤ x)
(le_antisymm : ∀ {x y : α}, x ≤ y → y ≤ x → x = y)
:
LawfulCmp fun (x1 x2 : α) => compareOfLessAndEq x1 x2
instance
Batteries.instOrientedCmpCompareLex
{α✝ : Sort u_1}
{cmp₁ cmp₂ : α✝ → α✝ → Ordering}
[inst₁ : OrientedCmp cmp₁]
[inst₂ : OrientedCmp cmp₂]
:
OrientedCmp (compareLex cmp₁ cmp₂)
instance
Batteries.instTransCmpCompareLex
{α✝ : Sort u_1}
{cmp₁ cmp₂ : α✝ → α✝ → Ordering}
[inst₁ : TransCmp cmp₁]
[inst₂ : TransCmp cmp₂]
:
TransCmp (compareLex cmp₁ cmp₂)
instance
Batteries.instOrientedCmpCompareOnOfOrientedOrd
{β : Type u_1}
{α : Sort u_2}
[Ord β]
[OrientedOrd β]
(f : α → β)
:
OrientedCmp (compareOn f)
@[deprecated "instance exists" (since := "2025-07-01")]
theorem
Batteries.OrientedOrd.instLexOrd
{α : Type u_1}
{β : Type u_2}
[Ord α]
[Ord β]
[OrientedOrd α]
[OrientedOrd β]
:
OrientedOrd (α × β)
Local instance for OrientedOrd lexOrd.
@[deprecated Std.OrientedOrd.opposite (since := "2025-07-01")]
Local instance for OrientedOrd ord.opposite.
@[deprecated Std.OrientedOrd.instOn (since := "2025-07-01")]
theorem
Batteries.OrientedOrd.instOn
{β : Type u_1}
{α : Type u_2}
[ord : Ord β]
[OrientedOrd β]
(f : α → β)
:
Local instance for OrientedOrd (ord.on f).
@[deprecated "instance exists" (since := "2025-07-01")]
theorem
Batteries.OrientedOrd.instOrdLex
{α : Type u_1}
{β : Type u_2}
[oα : Ord α]
[oβ : Ord β]
[OrientedOrd α]
[OrientedOrd β]
:
OrientedOrd (α × β)
Local instance for OrientedOrd (oα.lex oβ).
@[deprecated Std.OrientedOrd.instOrdLex' (since := "2025-07-01")]
theorem
Batteries.OrientedOrd.instOrdLex'
{α : Type u_1}
(ord₁ ord₂ : Ord α)
[OrientedOrd α]
[OrientedOrd α]
:
Local instance for OrientedOrd (oα.lex' oβ).