Package monoid-comm-mult-add: Commutative monoid multiplication by repeated addition
Information
| name | monoid-comm-mult-add |
| version | 1.3 |
| description | Commutative monoid multiplication by repeated addition |
| author | Joe Leslie-Hurd <joe@gilith.com> |
| license | MIT |
| provenance | HOL Light theory extracted on 2015-02-20 |
| checksum | e7d204ed2733962359fd216bb90755b44e2cd499 |
| requires | monoid-mult-add |
| show | Algebra.Monoid Data.Bool Data.List Number.Natural |
Files
- Package tarball monoid-comm-mult-add-1.3.tgz
- Theory source file monoid-comm-mult-add.thy (included in the package tarball)
Theorems
⊦ ∀z x. multAdd z x [] = z
⊦ ∀x n. multAdd 0 x (Bits.toList n) = x * n
⊦ ∀z x l. multAdd z x l = z + x * Bits.fromList l
⊦ ∀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
- Number
- Natural
- natural
- Natural
External Constants
- =
- Algebra
- Monoid
- *
- +
- 0
- multAdd
- Monoid
- Data
- Bool
- ∀
- cond
- List
- ::
- []
- Bool
- Number
- Natural
- Bits
- Bits.fromList
- Bits.toList
- Bits
- Natural
Assumptions
⊦ ∀z x. multAdd z x [] = z
⊦ ∀x n. multAdd 0 x (Bits.toList n) = x * n
⊦ ∀z x l. multAdd z x l = z + x * Bits.fromList l
⊦ ∀z x h t.
multAdd z x (h :: t) = multAdd (if h then z + x else z) (x + x) t