Proves `Nat.mod_mul : x % (a * b) = x % a + a * (x / a % b)` and `Nat.mod_pow_succ : x % b ^ (k + 1) = x % b ^ k + b ^ k * ((x / b ^ k) % b)`, helpful for bitblasting.
19 lines
520 B
Text
19 lines
520 B
Text
/-
|
|
Copyright (c) 2016 Microsoft Corporation. All rights reserved.
|
|
Released under Apache 2.0 license as described in the file LICENSE.
|
|
Authors: Leonardo de Moura
|
|
-/
|
|
prelude
|
|
import Init.Data.Nat.Basic
|
|
import Init.Data.Nat.Div
|
|
import Init.Data.Nat.Dvd
|
|
import Init.Data.Nat.Gcd
|
|
import Init.Data.Nat.MinMax
|
|
import Init.Data.Nat.Bitwise
|
|
import Init.Data.Nat.Control
|
|
import Init.Data.Nat.Log2
|
|
import Init.Data.Nat.Power2
|
|
import Init.Data.Nat.Linear
|
|
import Init.Data.Nat.SOM
|
|
import Init.Data.Nat.Lemmas
|
|
import Init.Data.Nat.Mod
|