norm_num extension for integer div/mod and divides #

This file adds support for the %, /, and ∣ (divisibility) operators on ℤ to the norm_num tactic.

theorem Mathlib.Meta.NormNum.isInt_ediv {a : } {b : } {q : } {m : } {a' : } {b' : } {r : } (ha : ) (hb : ) (hm : q * b' = m) (h : r + m = a') (h₂ : r.blt b' = true) :
theorem Mathlib.Meta.NormNum.isInt_ediv_neg {q' : } {a : } {b : } {q : } (h : Mathlib.Meta.NormNum.IsInt (a / -b) q) (hq : -q = q') :

The norm_num extension which identifies expressions of the form Int.ediv 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.evalIntDiv.core (a : Q()) (na : Q()) (za : ) (pa : Q(Mathlib.Meta.NormNum.IsInt «$a» «$na»)) (b : Q()) (nb : Q()) (pb : Q(Mathlib.Meta.NormNum.IsNat «$b» «$nb»)) :
× (q : Q()) × Q(Mathlib.Meta.NormNum.IsInt («$a» / «$b») «$q») Given a result for evaluating a b in ℤ where b > 0, evaluate a / b. Equations • One or more equations did not get rendered due to their size. Instances For theorem Mathlib.Meta.NormNum.isInt_emod {a : } {b : } {q : } {m : } {a' : } {b' : } {r : } (ha : ) (hb : ) (hm : q * b' = m) (h : r + m = a') (h₂ : r.blt b' = true) : The norm_num extension which identifies expressions of the form Int.emod 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.evalIntMod.go (a : Q()) (na : Q()) (za : ) (pa : Q(Mathlib.Meta.NormNum.IsInt «$a» «$na»)) (b : Q()) : Option (Mathlib.Meta.NormNum.Result q(«$a» % «$b»)) Given a result for evaluating a b in ℤ, evaluate a % b. Equations • One or more equations did not get rendered due to their size. Instances For def Mathlib.Meta.NormNum.evalIntMod.core (a : Q()) (na : Q()) (za : ) (pa : Q(Mathlib.Meta.NormNum.IsInt «$a» «$na»)) (b : Q()) (nb : Q()) (pb : Q(Mathlib.Meta.NormNum.IsNat «$b» «$nb»)) : (r : Q()) × Q(Mathlib.Meta.NormNum.IsNat («$a» % «$b») «$r»)

Given a result for evaluating a b in ℤ where b > 0, evaluate a % b.

Equations
• One or more equations did not get rendered due to their size.
Instances For
theorem Mathlib.Meta.NormNum.isInt_dvd_true {a : } {b : } {a' : } {b' : } {c : } :
a'.mul c = b'a b
theorem Mathlib.Meta.NormNum.isInt_dvd_false {a : } {b : } {a' : } {b' : } :
(b'.mod a' != 0) = 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