+ Boolean *in1 [] = {o12, o13, o24, o34};
+ solver->addConstraint(solver->applyLogicalOperation( L_OR, in1, 4) );
+ Boolean *in2[] = {o41, o57};
+ Boolean *b1 = solver->applyLogicalOperation(L_XOR, in2, 2);
+ Boolean *in3[]= {o34};
+ Boolean *o34n = solver->applyLogicalOperation(L_NOT,in3 , 1);
+ Boolean *in4[] = {o24};
+ Boolean *o24n = solver->applyLogicalOperation(L_NOT, in4, 1);
+ Boolean *in5[] ={o34n, o24n};
+ Boolean *b2 = solver->applyLogicalOperation(L_OR, in5, 2);
+ Boolean *in6[] = {b1, b2};
+ solver->addConstraint(solver->applyLogicalOperation(L_IMPLIES, in6, 2) );
+ Boolean *in7[] = {o12, o13};
+ solver->addConstraint(solver->applyLogicalOperation(L_AND, in7, 2) );
+ Boolean *in8[] = {o76, o65};
+ solver->addConstraint(solver->applyLogicalOperation(L_OR, in8, 2) );
+ Boolean *in9[] = {o76, o65};
+ Boolean* b3= solver->applyLogicalOperation(L_AND, in9, 2) ;
+ Boolean *in10[] = {o57};
+ Boolean* o57n= solver->applyLogicalOperation(L_NOT, in10, 1);
+ Boolean *in11[] = {b3, o57n};
+ solver->addConstraint(solver->applyLogicalOperation(L_IMPLIES, in11, 2) );
+ Boolean *in12[] = {o58, o81};
+ solver->addConstraint(solver->applyLogicalOperation(L_AND, in12, 2) );