Package monoid-comm-mult-add: Commutative monoid multiplication by repeated addition

Information

namemonoid-comm-mult-add
version1.3
descriptionCommutative monoid multiplication by repeated addition
authorJoe Leslie-Hurd <joe@gilith.com>
licenseMIT
provenanceHOL Light theory extracted on 2015-02-20
checksume7d204ed2733962359fd216bb90755b44e2cd499
requiresmonoid-mult-add
showAlgebra.Monoid
Data.Bool
Data.List
Number.Natural

Files

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

External Constants

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