Package montgomery-thm: Properties of Montgomery multiplication
Information
| name | montgomery-thm |
| version | 1.1 |
| description | Properties of Montgomery multiplication |
| author | Joe Leslie-Hurd <joe@gilith.com> |
| license | MIT |
| provenance | HOL Light theory extracted on 2012-11-10 |
| requires | bool montgomery-def natural |
| show | Data.Bool Number.Natural |
Files
- Package tarball montgomery-thm-1.1.tgz
- Theory file montgomery-thm.thy (included in the package tarball)
Theorems
⊦ ∀n r k a.
¬(n = 0) ∧ ¬(r = 0) ∧ a ≤ r * r ⇒ Montgomery.reduce n r k a < r + n
⊦ ∀n r k a.
¬(n = 0) ∧ ¬(r = 0) ∧ a ≤ n * r ⇒ Montgomery.reduce n r k a < 2 * n
⊦ ∀n r s k a.
¬(n = 0) ∧ r * s = k * n + 1 ⇒
Montgomery.reduce n r k a mod n = a * s mod n
Input Type Operators
- →
- bool
- Number
- Natural
- natural
- Natural
Input Constants
- =
- Data
- Bool
- ∀
- ∧
- ⇒
- ∃
- ¬
- ⊥
- ⊤
- Bool
- Number
- Natural
- *
- +
- <
- ≤
- bit0
- bit1
- div
- mod
- suc
- zero
- Montgomery
- Montgomery.reduce
- Natural
Assumptions
⊦ ⊤
⊦ ¬⊥ ⇔ ⊤
⊦ ⊥ ⇔ ∀p. p
⊦ (¬) = λp. p ⇒ ⊥
⊦ (∀) = λp. p = λx. ⊤
⊦ ∀t. t ∧ ⊤ ⇔ t
⊦ ∀t. ⊤ ⇒ t ⇔ t
⊦ ∀n. ¬(suc n = 0)
⊦ ∀n. 0 * n = 0
⊦ ∀n. 0 + n = n
⊦ ∀m. m + 0 = m
⊦ ∀t. t ⇒ ⊥ ⇔ ¬t
⊦ ∀m. m * 1 = m
⊦ (⇒) = λp q. p ∧ q ⇔ p
⊦ ∀m. suc m = m + 1
⊦ ∀x y. x = y ⇒ y = x
⊦ ∀m n. m * n = n * m
⊦ ∀m n. m + n = n + m
⊦ ∀n. 2 * n = n + n
⊦ (∧) = λp q. (λf. f p q) = λf. f ⊤ ⊤
⊦ (∃) = λp. ∀q. (∀x. p x ⇒ q) ⇒ q
⊦ ∀m n. ¬(n = 0) ⇒ m mod n < n
⊦ ∀m n. ¬(m = 0) ⇒ m * n mod m = 0
⊦ ∀x y z. x = y ∧ y = z ⇒ x = z
⊦ ∀m n p. m * (n * p) = m * n * p
⊦ ∀a b n. b < a * n ⇒ b div a < n
⊦ ∀m n p. m + n < m + p ⇔ n < p
⊦ ∀m n p. m + p ≤ n + p ⇔ m ≤ n
⊦ ∀m n p. m < n ∧ n ≤ p ⇒ m < p
⊦ ∀n m. ¬(n = 0) ⇒ m mod n mod n = m mod n
⊦ ∀m n p. m * (n + p) = m * n + m * p
⊦ ∀m n. ¬(n = 0) ⇒ (m div n) * n + m mod n = m
⊦ ∀m n p. m * p < n * p ⇔ m < n ∧ ¬(p = 0)
⊦ ∀n r k a. Montgomery.reduce n r k a = (a + (a * k mod r) * n) div r
⊦ ∀n m p. ¬(n = 0) ⇒ (m mod n) * (p mod n) mod n = m * p mod n
⊦ ∀n a b. ¬(n = 0) ⇒ (a mod n + b mod n) mod n = (a + b) mod n