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

Information

namemonoid-comm-mult-add
version1.2
descriptionCommutative monoid multiplication by repeated addition
authorJoe Leslie-Hurd <joe@gilith.com>
licenseMIT
provenanceHOL Light theory extracted on 2013-03-13
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.fromNatural n) = x * n

z x l. multAdd z x l = z + x * Bits.toNatural 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.fromNatural n) = x * n

z x l. multAdd z x l = z + x * Bits.toNatural l

z x h t.
    multAdd z x (h :: t) = multAdd (if h then z + x else z) (x + x) t