Each clause is of the form a or b for m clauses , we have a [ m ] , b [ m ] representing a [ i ] or b [ i ] Note : 1 <= x <= N for an uncomplemented variable x - N <= x <= - 1 for a complemented variable x - x is the complement of a variable x The CNF being handled is : ' + ' implies ' OR ' and ' * ' implies ' AND ' ( x1 + x2 ) * ( x2a ? ? + x3 ) * ( x1a ? ? + x2a ? ? ) * ( x3 + x4 ) * ( x3a ? ? + x5 ) * ( x4a ? ? + x5a ? ? ) * ( x3a ? ? + x4 )
int a [ ] = { 1 , - 2 , - 1 , 3 , - 3 , - 4 , - 3 } ; int b [ ] = { 2 , 3 , - 2 , 4 , 5 , - 5 , 4 } ;