diff --git a/src/Init/Data/Nat/Lemmas.lean b/src/Init/Data/Nat/Lemmas.lean index 268e89a1117a..2d4908e48e0e 100644 --- a/src/Init/Data/Nat/Lemmas.lean +++ b/src/Init/Data/Nat/Lemmas.lean @@ -577,6 +577,15 @@ theorem mul_mod (a b n : Nat) : a * b % n = (a % n) * (b % n) % n := by theorem add_mod (a b n : Nat) : (a + b) % n = ((a % n) + (b % n)) % n := by rw [add_mod_mod, mod_add_mod] +@[simp] theorem self_sub_mod (n k : Nat) [NeZero k] : (n - k) % n = n - k := by + cases n with + | zero => simp + | succ n => + rw [mod_eq_of_lt] + cases k with + | zero => simp_all + | succ k => omega + /-! ### pow -/ theorem pow_succ' {m n : Nat} : m ^ n.succ = m * m ^ n := by