def
Mathlib.Meta.NormNum.inferOrderedSemiring
{u : Lean.Level}
(α : Q(Type u))
:
Lean.MetaM Q(OrderedSemiring «$α»)
Helper function to synthesize a typed OrderedSemiring α
expression.
Equations
- Mathlib.Meta.NormNum.inferOrderedSemiring α = do let __do_lift ← Qq.synthInstanceQ q(OrderedSemiring «$α») <|> Lean.throwError (Lean.toMessageData "not an ordered semiring") pure __do_lift
Instances For
def
Mathlib.Meta.NormNum.inferOrderedRing
{u : Lean.Level}
(α : Q(Type u))
:
Lean.MetaM Q(OrderedRing «$α»)
Helper function to synthesize a typed OrderedRing α
expression.
Equations
- Mathlib.Meta.NormNum.inferOrderedRing α = do let __do_lift ← Qq.synthInstanceQ q(OrderedRing «$α») <|> Lean.throwError (Lean.toMessageData "not an ordered ring") pure __do_lift
Instances For
def
Mathlib.Meta.NormNum.inferLinearOrderedField
{u : Lean.Level}
(α : Q(Type u))
:
Lean.MetaM Q(LinearOrderedField «$α»)
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' : ℕ}
:
(In)equalities #
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 : IsInt a a')
(hb : IsInt b b')
(h : decide (b' < a') = true)
:
def
Mathlib.Meta.NormNum.evalLE.core
{u : Lean.Level}
{α : Q(Type u)}
(lα : Q(LE «$α»))
{a b : Q(«$α»)}
(ra : Result a)
(rb : Result b)
:
Lean.MetaM (Result q(«$a» ≤ «$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 : Result a)
(rb : Result b)
(e : Q(Prop))
:
Lean.MetaM (Result e)
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 : Result a)
(rb : Result b)
(e : Q(Prop))
:
Lean.MetaM (Result e)
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 : Result a)
(rb : Result b)
:
Lean.MetaM (Result q(«$a» < «$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 : Result a)
(rb : Result b)
(e : Q(Prop))
:
Lean.MetaM (Result e)
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 : Result a)
(rb : Result b)
(e : Q(Prop))
:
Lean.MetaM (Result e)
Equations
- One or more equations did not get rendered due to their size.