Documentation

Mathlib.Tactic.NormNum.Ineq

norm_num extensions for inequalities. #

Helper function to synthesize a typed OrderedSemiring α expression.

Equations

Helper function to synthesize a typed OrderedRing α expression.

Equations

Helper function to synthesize a typed LinearOrderedField α expression.

Equations
  • One or more equations did not get rendered due to their size.
theorem Mathlib.Meta.NormNum.isNat_le_true {α : Type u_1} [OrderedSemiring α] {a : α} {b : α} {a' : } {b' : } :
Mathlib.Meta.NormNum.IsNat a a'Mathlib.Meta.NormNum.IsNat b b'a'.ble b' = truea b
theorem Mathlib.Meta.NormNum.isNat_lt_false {α : Type u_1} [OrderedSemiring α] {a : α} {b : α} {a' : } {b' : } (ha : Mathlib.Meta.NormNum.IsNat a a') (hb : Mathlib.Meta.NormNum.IsNat b b') (h : b'.ble a' = true) :
¬a < b
theorem Mathlib.Meta.NormNum.isRat_le_true {α : Type u_1} [LinearOrderedRing α] {a : α} {b : α} {na : } {nb : } {da : } {db : } :
Mathlib.Meta.NormNum.IsRat a na daMathlib.Meta.NormNum.IsRat b nb dbdecide (na.mul (Int.ofNat db) nb.mul (Int.ofNat da)) = truea b
theorem Mathlib.Meta.NormNum.isRat_lt_true {α : Type u_1} [LinearOrderedRing α] [Nontrivial α] {a : α} {b : α} {na : } {nb : } {da : } {db : } :
Mathlib.Meta.NormNum.IsRat a na daMathlib.Meta.NormNum.IsRat b nb dbdecide (na * db < nb * da) = truea < b
theorem Mathlib.Meta.NormNum.isRat_le_false {α : Type u_1} [LinearOrderedRing α] [Nontrivial α] {a : α} {b : α} {na : } {nb : } {da : } {db : } (ha : Mathlib.Meta.NormNum.IsRat a na da) (hb : Mathlib.Meta.NormNum.IsRat b nb db) (h : decide (nb * da < na * db) = true) :
¬a b
theorem Mathlib.Meta.NormNum.isRat_lt_false {α : Type u_1} [LinearOrderedRing α] {a : α} {b : α} {na : } {nb : } {da : } {db : } (ha : Mathlib.Meta.NormNum.IsRat a na da) (hb : Mathlib.Meta.NormNum.IsRat b nb db) (h : decide (nb * da na * db) = true) :
¬a < b

(In)equalities #

theorem Mathlib.Meta.NormNum.isNat_lt_true {α : Type u_1} [OrderedSemiring α] [CharZero α] {a : α} {b : α} {a' : } {b' : } :
Mathlib.Meta.NormNum.IsNat a a'Mathlib.Meta.NormNum.IsNat b b'b'.ble a' = falsea < b
theorem Mathlib.Meta.NormNum.isNat_le_false {α : Type u_1} [OrderedSemiring α] [CharZero α] {a : α} {b : α} {a' : } {b' : } (ha : Mathlib.Meta.NormNum.IsNat a a') (hb : Mathlib.Meta.NormNum.IsNat b b') (h : a'.ble b' = false) :
¬a b
theorem Mathlib.Meta.NormNum.isInt_le_true {α : Type u_1} [OrderedRing α] {a : α} {b : α} {a' : } {b' : } :
theorem Mathlib.Meta.NormNum.isInt_lt_true {α : Type u_1} [OrderedRing α] [Nontrivial α] {a : α} {b : α} {a' : } {b' : } :
theorem Mathlib.Meta.NormNum.isInt_le_false {α : Type u_1} [OrderedRing α] [Nontrivial α] {a : α} {b : α} {a' : } {b' : } (ha : Mathlib.Meta.NormNum.IsInt a a') (hb : Mathlib.Meta.NormNum.IsInt b b') (h : decide (b' < a') = true) :
¬a b
theorem Mathlib.Meta.NormNum.isInt_lt_false {α : Type u_1} [OrderedRing α] {a : α} {b : α} {a' : } {b' : } (ha : Mathlib.Meta.NormNum.IsInt a a') (hb : Mathlib.Meta.NormNum.IsInt b b') (h : decide (b' a') = true) :
¬a < b

The norm_num extension which identifies expressions of the form a ≤ b, such that norm_num successfully recognises both a and b.

Equations
  • One or more equations did not get rendered due to their size.
def Mathlib.Meta.NormNum.evalLE.core {u : Lean.Level} {α : Q(Type u)} (lα : Q(LE «$α»)) {a : Q(«$α»)} {b : Q(«$α»)} (ra : Mathlib.Meta.NormNum.Result a) (rb : Mathlib.Meta.NormNum.Result b) :

Identify (as true or false) expressions of the form a ≤ b, where a and b are numeric expressions whose evaluations to NormNum.Result have already been computed.

def Mathlib.Meta.NormNum.evalLE.core.intArm {u : Lean.Level} {α : Q(Type u)} (lα : Q(LE «$α»)) {a : Q(«$α»)} {b : Q(«$α»)} (ra : Mathlib.Meta.NormNum.Result a) (rb : Mathlib.Meta.NormNum.Result b) (e : Q(Prop)) :
Equations
  • One or more equations did not get rendered due to their size.
def Mathlib.Meta.NormNum.evalLE.core.ratArm {u : Lean.Level} {α : Q(Type u)} (lα : Q(LE «$α»)) {a : Q(«$α»)} {b : Q(«$α»)} (ra : Mathlib.Meta.NormNum.Result a) (rb : Mathlib.Meta.NormNum.Result b) (e : Q(Prop)) :
Equations
  • One or more equations did not get rendered due to their size.

The norm_num extension which identifies expressions of the form a < b, such that norm_num successfully recognises both a and b.

Equations
  • One or more equations did not get rendered due to their size.
def Mathlib.Meta.NormNum.evalLT.core {u : Lean.Level} {α : Q(Type u)} (lα : Q(LT «$α»)) {a : Q(«$α»)} {b : Q(«$α»)} (ra : Mathlib.Meta.NormNum.Result a) (rb : Mathlib.Meta.NormNum.Result b) :

Identify (as true or false) expressions of the form a < b, where a and b are numeric expressions whose evaluations to NormNum.Result have already been computed.

def Mathlib.Meta.NormNum.evalLT.core.intArm {u : Lean.Level} {α : Q(Type u)} (lα : Q(LT «$α»)) {a : Q(«$α»)} {b : Q(«$α»)} (ra : Mathlib.Meta.NormNum.Result a) (rb : Mathlib.Meta.NormNum.Result b) (e : Q(Prop)) :
Equations
  • One or more equations did not get rendered due to their size.
def Mathlib.Meta.NormNum.evalLT.core.ratArm {u : Lean.Level} {α : Q(Type u)} (lα : Q(LT «$α»)) {a : Q(«$α»)} {b : Q(«$α»)} (ra : Mathlib.Meta.NormNum.Result a) (rb : Mathlib.Meta.NormNum.Result b) (e : Q(Prop)) :
Equations
  • One or more equations did not get rendered due to their size.