def
Mathlib.Meta.NormNum.inferCharZeroOfAddMonoidWithOne
{u : Lean.Level}
{α : Q(Type u)}
(_i : Q(AddMonoidWithOne «$α») := by with_reducible assumption)
:
Lean.MetaM Q(CharZero «$α»)
Helper function to synthesize a typed CharZero α expression given AddMonoidWithOne α.
Instances For
def
Mathlib.Meta.NormNum.inferCharZeroOfAddMonoidWithOne?
{u : Lean.Level}
{α : Q(Type u)}
(_i : Q(AddMonoidWithOne «$α») := by with_reducible assumption)
:
Lean.MetaM (Option Q(CharZero «$α»))
Helper function to synthesize a typed CharZero α expression given AddMonoidWithOne α, if it
exists.
Instances For
def
Mathlib.Meta.NormNum.inferCharZeroOfDivisionRing
{u : Lean.Level}
{α : Q(Type u)}
(_i : Q(DivisionRing «$α») := by with_reducible assumption)
:
Lean.MetaM Q(CharZero «$α»)
Helper function to synthesize a typed CharZero α expression given DivisionRing α.
Instances For
def
Mathlib.Meta.NormNum.inferCharZeroOfDivisionSemiring?
{u : Lean.Level}
{α : Q(Type u)}
(_i : Q(DivisionSemiring «$α») := by with_reducible assumption)
:
Lean.MetaM (Option Q(CharZero «$α»))
Helper function to synthesize a typed CharZero α expression given Divisionsemiring α, if it
exists.
Instances For
def
Mathlib.Meta.NormNum.inferCharZeroOfDivisionRing?
{u : Lean.Level}
{α : Q(Type u)}
(_i : Q(DivisionRing «$α») := by with_reducible assumption)
:
Lean.MetaM (Option Q(CharZero «$α»))
Helper function to synthesize a typed CharZero α expression given DivisionRing α, if it
exists.
Instances For
theorem
Mathlib.Meta.NormNum.isNNRat_ratCast
{R : Type u_1}
[DivisionRing R]
[CharZero R]
{q : ℚ}
{n d : ℕ}
:
theorem
Mathlib.Meta.NormNum.isRat_ratCast
{R : Type u_1}
[DivisionRing R]
[CharZero R]
{q : ℚ}
{n : ℤ}
{d : ℕ}
:
The norm_num extension which identifies an expression RatCast.ratCast q where norm_num
recognizes q, returning the cast of q.
Instances For
theorem
Mathlib.Meta.NormNum.isNNRat_inv_pos
{α : Type u_1}
[DivisionSemiring α]
[CharZero α]
{a : α}
{n d : ℕ}
:
theorem
Mathlib.Meta.NormNum.isRat_inv_pos
{α : Type u_1}
[DivisionRing α]
[CharZero α]
{a : α}
{n d : ℕ}
:
theorem
Mathlib.Meta.NormNum.isRat_inv_neg
{α : Type u_1}
[DivisionRing α]
[CharZero α]
{a : α}
{n d : ℕ}
:
def
Mathlib.Meta.NormNum.Result.inv
{u : Lean.Level}
{α : Q(Type u)}
{a : Q(«$α»)}
(ra : Result a)
(dsα : Q(DivisionSemiring «$α»))
(czα? : Option Q(CharZero «$α»))
:
The result of inverting a norm_num result.