Package map-reduce-bit3x3-thm: Properties for the map reduce 3x3 bit matrix example

Information

namemap-reduce-bit3x3-thm
version1.1
descriptionProperties for the map reduce 3x3 bit matrix example
authorJoe Leslie-Hurd <joe@gilith.com>
licenseMIT
provenanceHOL Light theory extracted on 2015-10-19
checksum8701abcd9c4dab58359bb549e695c918a651e86a
requiresbase
map-reduce-bit3x3-def
map-reduce-bit3x3-sat
showData.Bool
Data.List
Data.Pair

Files

Theorems

l1 l2.
    Bit3x3.product (l1 @ l2) =
    Bit3x3.* (Bit3x3.product l1) (Bit3x3.product l2)

a.
    a11 a12 a13 a21 a22 a23 a31 a32 a33.
      a = ((a11, a12, a13), (a21, a22, a23), a31, a32, a33)

External Type Operators

External Constants

Assumptions

¬

¬

Bit3x3.product = foldl Bit3x3.* Bit3x3.identity

a. x. x = a

() = λp. p = λx.

t. ¬¬t t

t. t

t. t t

t. ( t) ¬t

t. (t ) ¬t

() = λp q. p q p

x. a b. x = (a, b)

x y. x = y y = x

a b. Bit.* a b a b

t1 t2. t1 t2 t2 t1

a b. Bit.+ a b ¬(a b)

() = λp q. (λf. f p q) = λf. f

() = λp. q. (x. p x q) q

p a. (x. a = x p x) p a

p q. (x. p x) q x. p x q

t1 t2 t3. (t1 t2) t3 t1 t2 t3

Bit3x3.identity = ((, , ), (, , ), , , )

a b a' b'. (a, b) = (a', b') a = a' b = b'

a1 a2 a3 b1 b2 b3.
    Bit3.dot (a1, a2, a3) (b1, b2, b3)
    Bit.+ (Bit.* a1 b1) (Bit.+ (Bit.* a2 b2) (Bit.* a3 b3))

g f b l1 l2.
    (s. g s b = s) (s1 s2 x. g s1 (f s2 x) = f (g s1 s2) x)
    foldl f b (l1 @ l2) = g (foldl f b l1) (foldl f b l2)

a11 a12 a13 a21 a22 a23 a31 a32 a33 b11 b12 b13 b21 b22 b23 b31 b32 b33.
    Bit3x3.* ((a11, a12, a13), (a21, a22, a23), a31, a32, a33)
      ((b11, b12, b13), (b21, b22, b23), b31, b32, b33) =
    ((Bit3.dot (a11, a12, a13) (b11, b21, b31),
      Bit3.dot (a11, a12, a13) (b12, b22, b32),
      Bit3.dot (a11, a12, a13) (b13, b23, b33)),
     (Bit3.dot (a21, a22, a23) (b11, b21, b31),
      Bit3.dot (a21, a22, a23) (b12, b22, b32),
      Bit3.dot (a21, a22, a23) (b13, b23, b33)),
     Bit3.dot (a31, a32, a33) (b11, b21, b31),
     Bit3.dot (a31, a32, a33) (b12, b22, b32),
     Bit3.dot (a31, a32, a33) (b13, b23, b33))

((¬(a11 ¬(a11' a11'' ¬(a12' a21'' a13' a31''))
       ¬(a12 ¬(a21' a11'' ¬(a22' a21'' a23' a31''))
          a13 ¬(a31' a11'' ¬(a32' a21'' a33' a31''))))
    ¬(¬(a11 a11' ¬(a12 a21' a13 a31')) a11''
       ¬(¬(a11 a12' ¬(a12 a22' a13 a32')) a21''
          ¬(a11 a13' ¬(a12 a23' a13 a33')) a31'')))
   (¬(a11 ¬(a11' a12'' ¬(a12' a22'' a13' a32''))
       ¬(a12 ¬(a21' a12'' ¬(a22' a22'' a23' a32''))
          a13 ¬(a31' a12'' ¬(a32' a22'' a33' a32''))))
    ¬(¬(a11 a11' ¬(a12 a21' a13 a31')) a12''
       ¬(¬(a11 a12' ¬(a12 a22' a13 a32')) a22''
          ¬(a11 a13' ¬(a12 a23' a13 a33')) a32'')))
   (¬(a11 ¬(a11' a13'' ¬(a12' a23'' a13' a33''))
       ¬(a12 ¬(a21' a13'' ¬(a22' a23'' a23' a33''))
          a13 ¬(a31' a13'' ¬(a32' a23'' a33' a33''))))
    ¬(¬(a11 a11' ¬(a12 a21' a13 a31')) a13''
       ¬(¬(a11 a12' ¬(a12 a22' a13 a32')) a23''
          ¬(a11 a13' ¬(a12 a23' a13 a33')) a33''))))
  ((¬(a21 ¬(a11' a11'' ¬(a12' a21'' a13' a31''))
       ¬(a22 ¬(a21' a11'' ¬(a22' a21'' a23' a31''))
          a23 ¬(a31' a11'' ¬(a32' a21'' a33' a31''))))
    ¬(¬(a21 a11' ¬(a22 a21' a23 a31')) a11''
       ¬(¬(a21 a12' ¬(a22 a22' a23 a32')) a21''
          ¬(a21 a13' ¬(a22 a23' a23 a33')) a31'')))
   (¬(a21 ¬(a11' a12'' ¬(a12' a22'' a13' a32''))
       ¬(a22 ¬(a21' a12'' ¬(a22' a22'' a23' a32''))
          a23 ¬(a31' a12'' ¬(a32' a22'' a33' a32''))))
    ¬(¬(a21 a11' ¬(a22 a21' a23 a31')) a12''
       ¬(¬(a21 a12' ¬(a22 a22' a23 a32')) a22''
          ¬(a21 a13' ¬(a22 a23' a23 a33')) a32'')))
   (¬(a21 ¬(a11' a13'' ¬(a12' a23'' a13' a33''))
       ¬(a22 ¬(a21' a13'' ¬(a22' a23'' a23' a33''))
          a23 ¬(a31' a13'' ¬(a32' a23'' a33' a33''))))
    ¬(¬(a21 a11' ¬(a22 a21' a23 a31')) a13''
       ¬(¬(a21 a12' ¬(a22 a22' a23 a32')) a23''
          ¬(a21 a13' ¬(a22 a23' a23 a33')) a33''))))
  (¬(a31 ¬(a11' a11'' ¬(a12' a21'' a13' a31''))
      ¬(a32 ¬(a21' a11'' ¬(a22' a21'' a23' a31''))
         a33 ¬(a31' a11'' ¬(a32' a21'' a33' a31''))))
   ¬(¬(a31 a11' ¬(a32 a21' a33 a31')) a11''
      ¬(¬(a31 a12' ¬(a32 a22' a33 a32')) a21''
         ¬(a31 a13' ¬(a32 a23' a33 a33')) a31'')))
  (¬(a31 ¬(a11' a12'' ¬(a12' a22'' a13' a32''))
      ¬(a32 ¬(a21' a12'' ¬(a22' a22'' a23' a32''))
         a33 ¬(a31' a12'' ¬(a32' a22'' a33' a32''))))
   ¬(¬(a31 a11' ¬(a32 a21' a33 a31')) a12''
      ¬(¬(a31 a12' ¬(a32 a22' a33 a32')) a22''
         ¬(a31 a13' ¬(a32 a23' a33 a33')) a32'')))
  (¬(a31 ¬(a11' a13'' ¬(a12' a23'' a13' a33''))
      ¬(a32 ¬(a21' a13'' ¬(a22' a23'' a23' a33''))
         a33 ¬(a31' a13'' ¬(a32' a23'' a33' a33''))))
   ¬(¬(a31 a11' ¬(a32 a21' a33 a31')) a13''
      ¬(¬(a31 a12' ¬(a32 a22' a33 a32')) a23''
         ¬(a31 a13' ¬(a32 a23' a33 a33')) a33'')))