Documentation

Mathlib.Tactic.NormNum.Ineq

norm_num extensions for inequalities. #

Helper function to synthesize a typed OrderedSemiring α expression.

Equations
Instances For

    Helper function to synthesize a typed OrderedRing α expression.

    Equations
    Instances For

      Helper function to synthesize a typed LinearOrderedField α expression.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        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.
        Instances For
          def Mathlib.Meta.NormNum.evalLE.core {u : Lean.Level} {α : Q(Type u)} (lα : Q(LE «$α»)) {a 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.

          Instances For
            def Mathlib.Meta.NormNum.evalLE.core.intArm {u : Lean.Level} {α : Q(Type u)} (lα : Q(LE «$α»)) {a 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.
            Instances For
              def Mathlib.Meta.NormNum.evalLE.core.ratArm {u : Lean.Level} {α : Q(Type u)} (lα : Q(LE «$α»)) {a 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.
              Instances For

                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.
                Instances For
                  def Mathlib.Meta.NormNum.evalLT.core {u : Lean.Level} {α : Q(Type u)} (lα : Q(LT «$α»)) {a 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.

                  Instances For
                    def Mathlib.Meta.NormNum.evalLT.core.intArm {u : Lean.Level} {α : Q(Type u)} (lα : Q(LT «$α»)) {a 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.
                    Instances For
                      def Mathlib.Meta.NormNum.evalLT.core.ratArm {u : Lean.Level} {α : Q(Type u)} (lα : Q(LT «$α»)) {a 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.
                      Instances For