Helper theorems to assert constraints
theorem Lean.Grind.Order.le_of_eq_1_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a b : α} :
theorem Lean.Grind.Order.le_of_eq_2_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a b : α} :
theorem Lean.Grind.Order.le_of_offset_eq_1_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a b : α} {k : Int} :
theorem Lean.Grind.Order.le_of_offset_eq_2_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a b : α} {k : Int} :
theorem Lean.Grind.Order.lt_of_not_le {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsLinearPreorder α] {a b : α} :
theorem Lean.Grind.Order.le_of_not_lt {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsLinearPreorder α] {a b : α} :
theorem Lean.Grind.Order.le_of_not_lt_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsLinearPreorder α] [Ring α] [OrderedRing α] {a b : α} {k k' : Int} :
theorem Lean.Grind.Order.lt_of_not_le_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsLinearPreorder α] [Ring α] [OrderedRing α] {a b : α} {k k' : Int} :
Helper theorem for equality propagation
Transitivity
theorem Lean.Grind.Order.le_trans {α : Type u_1} [LE α] [Std.IsPreorder α] {a b c : α} (h₁ : a ≤ b) (h₂ : b ≤ c) :
theorem Lean.Grind.Order.lt_trans {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] {a b c : α} (h₁ : a < b) (h₂ : b < c) :
theorem Lean.Grind.Order.le_lt_trans {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] {a b c : α} (h₁ : a ≤ b) (h₂ : b < c) :
theorem Lean.Grind.Order.lt_le_trans {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] {a b c : α} (h₁ : a < b) (h₂ : b ≤ c) :
theorem Lean.Grind.Order.lt_unsat {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] (a : α) :
Transitivity with offsets
Unsat detection
theorem Lean.Grind.Order.le_unsat_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a : α} {k : Int} :
theorem Lean.Grind.Order.lt_unsat_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a : α} {k : Int} :
Helper theorems
Theorems for propagating constraints to True
theorem Lean.Grind.Order.le_eq_true_of_lt {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] {a b : α} :
theorem Lean.Grind.Order.le_eq_true_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a : α} {k : Int} :
theorem Lean.Grind.Order.lt_eq_true_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a : α} {k : Int} :
theorem Lean.Grind.Order.le_eq_true_of_le_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a b : α} {k₁ k₂ : Int} :
theorem Lean.Grind.Order.le_eq_true_of_lt_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a b : α} {k₁ k₂ : Int} :
theorem Lean.Grind.Order.lt_eq_true_of_lt_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a b : α} {k₁ k₂ : Int} :
theorem Lean.Grind.Order.lt_eq_true_of_le_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a b : α} {k₁ k₂ : Int} :
Theorems for propagating constraints to False
theorem Lean.Grind.Order.le_eq_false_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a : α} {k : Int} :
theorem Lean.Grind.Order.lt_eq_false_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a : α} {k : Int} :
theorem Lean.Grind.Order.le_eq_false_of_lt {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] {a b : α} :
theorem Lean.Grind.Order.lt_eq_false_of_lt {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] {a b : α} :
theorem Lean.Grind.Order.lt_eq_false_of_le {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] {a b : α} :
theorem Lean.Grind.Order.le_eq_false_of_le_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] {a b : α} {k₁ k₂ : Int} :
theorem Lean.Grind.Order.lt_eq_false_of_le_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] (a b : α) (k₁ k₂ : Int) :
theorem Lean.Grind.Order.lt_eq_false_of_lt_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] (a b : α) (k₁ k₂ : Int) :
theorem Lean.Grind.Order.le_eq_false_of_lt_k {α : Type u_1} [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] (a b : α) (k₁ k₂ : Int) :