Package monoid-mult-thm: Properties of monoid multiplication
Information
| name | monoid-mult-thm |
| version | 1.6 |
| description | Properties of monoid multiplication |
| author | Joe Leslie-Hurd <joe@gilith.com> |
| license | MIT |
| provenance | HOL Light theory extracted on 2014-11-01 |
| checksum | 50ff0c6f4cf547e9dd702ded7b8386085642a425 |
| requires | bool monoid-mult-def monoid-thm monoid-witness natural |
| show | Algebra.Monoid Data.Bool Number.Natural |
Files
- Package tarball monoid-mult-thm-1.6.tgz
- Theory source file monoid-mult-thm.thy (included in the package tarball)
Theorems
⊦ ∀n. 0 * n = 0
⊦ ∀x. x * 1 = x
⊦ ∀x. x * 2 = x + x
⊦ ∀x n. x * suc n = x * n + x
⊦ ∀x m n. x * (m * n) = x * m * n
⊦ ∀x m n. x * (m + n) = x * m + x * n
⊦ ∀x n y. x + y = y + x ⇒ x * n + y = y + x * n
⊦ ∀x n y. y + x = x + y ⇒ y + x * n = x * n + y
External Type Operators
- →
- bool
- Algebra
- Monoid
- monoid
- Monoid
- Number
- Natural
- natural
- Natural
External Constants
- =
- Algebra
- Monoid
- *
- +
- 0
- Monoid
- Data
- Bool
- ∀
- ∧
- ⇒
- ⊤
- Bool
- Number
- Natural
- *
- +
- bit0
- bit1
- suc
- zero
- Natural
Assumptions
⊦ ⊤
⊦ bit0 0 = 0
⊦ ∀t. (∀x. t) ⇔ t
⊦ (∀) = λp. p = λx. ⊤
⊦ ∀t. ⊤ ∧ t ⇔ t
⊦ ∀x. x * 0 = 0
⊦ ∀x. 0 + x = x
⊦ ∀x. x + 0 = x
⊦ ∀m. m * 0 = 0
⊦ ∀n. 0 + n = n
⊦ ∀n. bit1 n = suc (bit0 n)
⊦ (⇒) = λp q. p ∧ q ⇔ p
⊦ ∀x. 0 + x = x + 0
⊦ ∀m. suc m = m + 1
⊦ ∀n. bit0 (suc n) = suc (suc (bit0 n))
⊦ ∀x y. x = y ⇔ y = x
⊦ (∧) = λp q. (λf. f p q) = λf. f ⊤ ⊤
⊦ ∀m n. suc m + n = suc (m + n)
⊦ ∀x n. x * suc n = x + x * n
⊦ ∀m n. m * suc n = m + m * n
⊦ ∀x y z. x + y + z = x + (y + z)
⊦ ∀p. p 0 ∧ (∀n. p n ⇒ p (suc n)) ⇒ ∀n. p n
⊦ ∀x y z. x + z = z + x ∧ y + z = z + y ⇒ x + y + z = z + (x + y)