So, I just went through with the idea I described in my previous post
and these are the clauses I found. I used coin cbc/clp in order to
solver the set cover problems. Unless I made a mistake, these clause
sets are all minimal (either w.r.t. #clauses, w.r.t. #literals, or
simultaneously).
Sorry for the big post.
Peter
3bit add: (24/90) mult: (20/57)
4bit add: (43/191) mult: (36/124), (37/123)
5bit add: (67/314), (69/313)
3bit add: (24/90):
(-x3 + -x6)
* (-x3 + x9)
* (-x6 + x9)
* (-x2 + -x3 + x8)
* (-x2 + -x6 + x8)
* (-x2 + x8 + x9)
* (x1 + -x4 + x7)
* (x1 + x4 + -x7)
* (-x1 + -x4 + -x7)
* (x1 + x2 + -x5 + x8)
* (x2 + x4 + -x5 + x8)
* (x1 + x2 + x5 + -x8)
* (x1 + -x2 + -x5 + -x8)
* (x2 + x4 + x5 + -x8)
* (-x2 + x4 + -x5 + -x8)
* (-x1 + -x3 + -x5 + x7)
* (-x1 + -x5 + -x6 + x7)
* (-x1 + -x5 + x7 + x9)
* (x1 + x3 + x5 + x6 + -x9)
* (x3 + x4 + x5 + x6 + -x9)
* (x2 + x3 + x6 + -x8 + -x9)
* (-x1 + x2 + x5 + x7 + x8)
* (-x1 + -x2 + -x5 + x7 + x8)
* (-x1 + -x2 + x5 + x7 + -x8)
3bit mult: (20/57)
(-x3 + -x6)
* (-x2 + -x6)
* (-x3 + -x5)
* (x1 + -x7)
* (x4 + -x7)
* (-x1 + -x6 + x9)
* (-x2 + -x5 + x9)
* (-x3 + -x4 + x9)
* (x1 + -x6 + -x9)
* (-x3 + x4 + -x9)
* (-x1 + -x5 + x8)
* (-x2 + -x4 + x8)
* (x1 + x2 + -x8)
* (x2 + x5 + -x8)
* (x1 + x4 + -x8)
* (x4 + x5 + -x8)
* (-x1 + -x4 + x7)
* (-x2 + -x5 + -x7)
* (x3 + x5 + x6 + -x9)
* (x2 + -x5 + x6 + -x9)
4bit add: (43/191)
(-x4 + -x8)
* (-x4 + x12)
* (-x8 + x12)
* (-x3 + -x4 + x11)
* (-x3 + -x8 + x11)
* (-x3 + x11 + x12)
* (-x1 + x5 + x9)
* (x1 + x5 + -x9)
* (-x1 + -x5 + -x9)
* (-x2 + -x4 + -x7 + x10)
* (-x2 + -x7 + -x8 + x10)
* (x1 + x2 + -x6 + x10)
* (-x2 + -x7 + x10 + x12)
* (x1 + x2 + x6 + -x10)
* (x1 + -x2 + -x6 + -x10)
* (-x2 + x5 + -x6 + -x10)
* (x2 + -x6 + -x9 + x10)
* (x2 + x6 + -x9 + -x10)
* (x1 + x3 + x6 + -x7 + x11)
* (x3 + x5 + x6 + -x7 + x11)
* (x1 + x3 + x6 + x7 + -x11)
* (x1 + -x3 + x6 + -x7 + -x11)
* (x3 + x5 + x6 + x7 + -x11)
* (x3 + x4 + x8 + -x11 + -x12)
* (-x2 + x3 + x7 + x10 + x11)
* (-x2 + -x3 + -x7 + x10 + x11)
* (-x2 + -x3 + x7 + x10 + -x11)
* (x2 + x3 + -x7 + -x10 + x11)
* (x2 + x3 + x7 + -x10 + -x11)
* (x2 + -x3 + -x7 + -x10 + -x11)
* (-x4 + -x5 + -x6 + -x7 + x9)
* (-x5 + -x6 + -x7 + -x8 + x9)
* (-x5 + -x6 + -x7 + x9 + x12)
* (x2 + -x5 + x6 + x9 + x10)
* (-x2 + -x5 + -x6 + x9 + x10)
* (-x2 + -x5 + x6 + x9 + -x10)
* (-x3 + x6 + -x7 + -x9 + -x11)
* (x1 + x4 + x6 + x7 + x8 + -x12)
* (x2 + x4 + x7 + x8 + -x10 + -x12)
* (x3 + -x5 + -x6 + x7 + x9 + x11)
* (-x3 + -x5 + -x6 + -x7 + x9 + x11)
* (-x3 + -x5 + -x6 + x7 + x9 + -x11)
* (x4 + x6 + x7 + x8 + -x9 + -x12)
4bit mult: (36/124)
(-x4 + -x8)
* (-x3 + -x8)
* (-x2 + -x8)
* (-x4 + -x7)
* (-x3 + -x7)
* (-x4 + -x6)
* (x1 + -x9)
* (x5 + -x9)
* (-x1 + -x8 + x12)
* (-x2 + -x7 + x12)
* (-x3 + -x6 + x12)
* (-x4 + -x5 + x12)
* (-x1 + -x7 + x11)
* (-x3 + -x5 + x11)
* (x1 + x2 + -x10)
* (x2 + x6 + -x10)
* (x1 + x5 + -x10)
* (x5 + x6 + -x10)
* (-x1 + -x5 + x9)
* (x1 + x2 + -x7 + -x12)
* (-x2 + -x6 + x11 + x12)
* (x1 + x2 + x3 + -x11)
* (x1 + x3 + x6 + -x11)
* (x2 + x5 + x7 + -x11)
* (x5 + x6 + x7 + -x11)
* (-x2 + -x5 + x6 + x10)
* (-x2 + -x5 + x10 + -x11)
* (-x2 + -x6 + x9 + x11)
* (-x1 + -x6 + x9 + x10)
* (x3 + x7 + -x9 + -x11)
* (x2 + -x6 + -x9 + x10)
* (x1 + x3 + x4 + x7 + -x12)
* (x2 + x4 + x6 + x8 + -x12)
* (x5 + x6 + x7 + x8 + -x12)
* (-x1 + x3 + -x6 + x8 + -x10 + -x12)
* (-x2 + x4 + -x5 + x7 + -x10 + -x12)
4bit mult: (37/123)
(-x4 + -x8)
* (-x3 + -x8)
* (-x2 + -x8)
* (-x4 + -x7)
* (-x3 + -x7)
* (-x4 + -x6)
* (x1 + -x9)
* (x5 + -x9)
* (-x1 + -x8 + x12)
* (-x2 + -x7 + x12)
* (-x3 + -x6 + x12)
* (-x4 + -x5 + x12)
* (x1 + -x8 + -x12)
* (-x4 + x5 + -x12)
* (-x1 + -x7 + x11)
* (-x3 + -x5 + x11)
* (x1 + x2 + -x10)
* (x2 + x6 + -x10)
* (x1 + x5 + -x10)
* (x5 + x6 + -x10)
* (-x1 + -x5 + x9)
* (-x1 + -x2 + -x6 + -x7)
* (-x3 + x4 + x6 + -x12)
* (x1 + x2 + x3 + -x11)
* (x1 + x3 + x6 + -x11)
* (x2 + x5 + x7 + -x11)
* (x5 + x6 + x7 + -x11)
* (-x2 + -x5 + x6 + x10)
* (-x2 + -x5 + x10 + -x11)
* (-x2 + -x6 + x9 + x11)
* (-x1 + -x6 + x9 + x10)
* (-x2 + -x6 + -x9 + x12)
* (x3 + x7 + -x9 + -x11)
* (x2 + -x6 + -x9 + x10)
* (x2 + x3 + x4 + x8 + -x12)
* (x3 + x5 + x7 + x8 + -x12)
* (-x2 + x4 + -x5 + x7 + -x10 + -x12)
5bit add: (67/314)
(-x5 + -x10)
* (-x5 + x15)
* (-x10 + x15)
* (-x4 + -x5 + -x9)
* (-x4 + -x9 + -x10)
* (-x4 + -x9 + x15)
* (-x4 + -x5 + x14)
* (-x4 + -x10 + x14)
* (-x5 + -x9 + x14)
* (-x9 + -x10 + x14)
* (-x4 + x14 + x15)
* (-x9 + x14 + x15)
* (x1 + -x6 + x11)
* (x1 + x6 + -x11)
* (-x1 + -x6 + -x11)
* (x1 + -x2 + x7 + x12)
* (-x2 + x6 + x7 + x12)
* (x1 + x2 + x7 + -x12)
* (x2 + x6 + x7 + -x12)
* (-x2 + x6 + -x7 + -x12)
* (-x2 + -x7 + -x11 + -x12)
* (x4 + x5 + x9 + x10 + -x15)
* (x3 + -x4 + x8 + x9 + x14)
* (x3 + x4 + x8 + -x9 + x14)
* (x3 + x4 + x8 + x9 + -x14)
* (x1 + x2 + -x3 + x8 + x13)
* (x1 + x2 + x3 + -x8 + x13)
* (x2 + -x3 + x6 + x8 + x13)
* (x2 + x3 + x6 + -x8 + x13)
* (x4 + -x8 + x9 + x13 + x14)
* (-x4 + -x8 + -x9 + x13 + x14)
* (-x4 + -x8 + x9 + x13 + -x14)
* (x4 + -x8 + -x9 + x13 + -x14)
* (x1 + x2 + -x3 + -x8 + -x13)
* (x2 + x3 + x6 + x8 + -x13)
* (x2 + -x3 + x6 + -x8 + -x13)
* (x3 + -x4 + x9 + -x13 + x14)
* (x3 + x4 + -x9 + -x13 + x14)
* (-x4 + x8 + x9 + -x13 + x14)
* (x4 + x8 + -x9 + -x13 + x14)
* (x3 + x4 + x9 + -x13 + -x14)
* (x4 + x8 + x9 + -x13 + -x14)
* (x3 + -x7 + x8 + x12 + x13)
* (-x3 + -x7 + -x8 + x12 + x13)
* (x3 + -x7 + -x8 + x12 + -x13)
* (-x3 + x7 + x8 + -x12 + x13)
* (x3 + x7 + -x8 + -x12 + x13)
* (x3 + x7 + x8 + -x12 + -x13)
* (-x3 + x7 + -x8 + -x12 + -x13)
* (-x1 + x2 + x7 + x11 + x12)
* (-x1 + -x2 + -x7 + x11 + x12)
* (-x1 + x2 + -x7 + x11 + -x12)
* (x2 + x3 + x8 + -x11 + -x13)
* (x3 + x5 + x8 + x10 + -x14 + -x15)
* (x3 + x5 + x10 + -x13 + -x14 + -x15)
* (x5 + x8 + x10 + -x13 + -x14 + -x15)
* (-x3 + x4 + -x7 + x9 + x12 + x14)
* (-x3 + -x4 + -x7 + -x9 + x12 + x14)
* (-x3 + -x4 + -x7 + x9 + x12 + -x14)
* (-x3 + x4 + -x7 + -x9 + x12 + -x14)
* (-x1 + -x2 + x3 + x8 + x11 + x13)
* (-x1 + -x2 + -x3 + -x8 + x11 + x13)
* (-x1 + -x2 + x3 + -x8 + x11 + -x13)
* (-x1 + -x2 + -x3 + x4 + x9 + x11 + x14)
* (-x1 + -x2 + -x3 + -x4 + -x9 + x11 + x14)
* (-x1 + -x2 + -x3 + -x4 + x9 + x11 + -x14)
* (-x1 + -x2 + -x3 + x4 + -x9 + x11 + -x14)
5bit add: (69/313)
(-x5 + -x10)
* (-x5 + x15)
* (-x10 + x15)
* (-x4 + -x5 + -x9)
* (-x4 + -x9 + -x10)
* (-x4 + -x9 + x15)
* (-x4 + -x5 + x14)
* (-x4 + -x10 + x14)
* (-x5 + -x9 + x14)
* (-x9 + -x10 + x14)
* (-x4 + x14 + x15)
* (-x9 + x14 + x15)
* (-x1 + x6 + x11)
* (x1 + x6 + -x11)
* (-x1 + -x6 + -x11)
* (x1 + x2 + -x7 + x12)
* (x1 + x2 + x7 + -x12)
* (x1 + -x2 + -x7 + -x12)
* (x2 + x6 + x7 + -x12)
* (x2 + -x7 + -x11 + x12)
* (-x2 + -x7 + -x11 + -x12)
* (x4 + x5 + x9 + x10 + -x15)
* (x3 + -x4 + x8 + x9 + x14)
* (x3 + x4 + x8 + -x9 + x14)
* (-x3 + x4 + -x8 + x9 + x14)
* (-x3 + -x4 + -x8 + -x9 + x14)
* (x3 + x4 + x8 + x9 + -x14)
* (-x3 + -x4 + -x8 + x9 + -x14)
* (-x3 + x4 + -x8 + -x9 + -x14)
* (x1 + -x3 + x7 + x8 + x13)
* (x1 + x3 + x7 + -x8 + x13)
* (-x3 + x6 + x7 + x8 + x13)
* (-x3 + x4 + x9 + x13 + x14)
* (-x3 + -x4 + -x9 + x13 + x14)
* (x4 + -x8 + x9 + x13 + x14)
* (-x4 + -x8 + -x9 + x13 + x14)
* (-x3 + -x4 + x9 + x13 + -x14)
* (-x3 + x4 + -x9 + x13 + -x14)
* (-x4 + -x8 + x9 + x13 + -x14)
* (x4 + -x8 + -x9 + x13 + -x14)
* (x1 + x3 + x7 + x8 + -x13)
* (x1 + -x3 + x7 + -x8 + -x13)
* (x3 + x6 + x7 + x8 + -x13)
* (-x3 + x6 + x7 + -x8 + -x13)
* (x3 + -x4 + x9 + -x13 + x14)
* (x3 + x4 + -x9 + -x13 + x14)
* (-x4 + x8 + x9 + -x13 + x14)
* (x4 + x8 + -x9 + -x13 + x14)
* (x3 + x4 + x9 + -x13 + -x14)
* (x4 + x8 + x9 + -x13 + -x14)
* (-x2 + x3 + x8 + x12 + x13)
* (-x2 + -x3 + -x8 + x12 + x13)
* (-x2 + -x3 + x8 + x12 + -x13)
* (-x2 + x3 + -x8 + x12 + -x13)
* (x2 + -x3 + x8 + -x12 + x13)
* (x2 + x3 + -x8 + -x12 + x13)
* (x2 + x3 + x8 + -x12 + -x13)
* (x2 + -x3 + -x8 + -x12 + -x13)
* (x2 + -x6 + x7 + x11 + x12)
* (-x2 + -x6 + -x7 + x11 + x12)
* (-x2 + -x6 + x7 + x11 + -x12)
* (x3 + x7 + -x8 + -x11 + x13)
* (x3 + x5 + x8 + x10 + -x14 + -x15)
* (x3 + x5 + x10 + -x13 + -x14 + -x15)
* (x5 + x8 + x10 + -x13 + -x14 + -x15)
* (x3 + -x6 + -x7 + x8 + x11 + x13)
* (-x3 + -x6 + -x7 + -x8 + x11 + x13)
* (-x3 + -x6 + -x7 + x8 + x11 + -x13)
* (x3 + -x6 + -x7 + -x8 + x11 + -x13)