Package monoid-mult-add-def: Definition of monoid multiplication by repeated addition
Information
| name | monoid-mult-add-def |
| version | 1.8 |
| description | Definition of monoid multiplication by repeated addition |
| author | Joe Leslie-Hurd <joe@gilith.com> |
| license | MIT |
| provenance | HOL Light theory extracted on 2014-11-04 |
| checksum | 28ae32b6949c8c5e109501f0cfd9b98ce171b31a |
| requires | bool list monoid-witness |
| show | Algebra.Monoid Data.Bool Data.List |
Files
- Package tarball monoid-mult-add-def-1.8.tgz
- Theory source file monoid-mult-add-def.thy (included in the package tarball)
Defined Constant
- Algebra
- Monoid
- multAdd
- Monoid
Theorems
⊦ ∀z x. multAdd z x [] = z
⊦ ∀z x h t.
multAdd z x (h :: t) = multAdd (if h then z + x else z) (x + x) t
External Type Operators
- →
- bool
- Algebra
- Monoid
- monoid
- Monoid
- Data
- List
- list
- List
External Constants
- =
- select
- Algebra
- Monoid
- +
- Monoid
- Data
- Bool
- ∀
- ∧
- ⇒
- ∃
- cond
- ⊤
- List
- ::
- []
- Bool
Assumptions
⊦ ⊤
⊦ (∃) = λp. p ((select) p)
⊦ (∀) = λp. p = λx. ⊤
⊦ (⇒) = λp q. p ∧ q ⇔ p
⊦ (∧) = λp q. (λf. f p q) = λf. f ⊤ ⊤
⊦ (∃) = λp. ∀q. (∀x. p x ⇒ q) ⇒ q
⊦ ∀b f. ∃fn. fn [] = b ∧ ∀h t. fn (h :: t) = f h t (fn t)