test(simplify_neg_conj, [all(Simplified = [b(disjunct(b(less_equal(b(integer(1),integer,[]),b(integer(1),integer,[])),pred,_),b(less_equal(b(integer(1),integer,[]),b(integer(1),integer,[])),pred,_)),pred,_)])]) :-
IntOne = b(integer(1),integer,[]),
Greater = b(greater(IntOne,IntOne),pred,[]),
Pred = b(negation(b(conjunct(Greater,Greater),pred,[])),pred,[]),
simplify_pred(Pred, Simplified),
ground(Simplified).
test(simplify_neg_disj, [all(Simplified = [b(conjunct(b(less_equal(b(integer(1),integer,[]),b(integer(1),integer,[])),pred,_),b(less_equal(b(integer(1),integer,[]),b(integer(1),integer,[])),pred,_)),pred,_)])]) :-
IntOne = b(integer(1),integer,[]),
Greater = b(greater(IntOne,IntOne),pred,[]),
Pred = b(negation(b(disjunct(Greater,Greater),pred,[])),pred,[]),
simplify_pred(Pred, Simplified),
ground(Simplified).
test(simplify_neg_impl, [all(Simplified = [b(conjunct(b(greater(b(integer(1),integer,[]),b(integer(1),integer,[])),pred,_),b(less_equal(b(integer(1),integer,[]),b(integer(1),integer,[])),pred,_)),pred,_)])]) :-
IntOne = b(integer(1),integer,[]),
Greater = b(greater(IntOne,IntOne),pred,[]),
Pred = b(negation(b(implication(Greater,Greater),pred,[])),pred,[]),
simplify_pred(Pred, Simplified),
ground(Simplified).
test(simplify_neg_equal, [all(Simplified = [b(not_equal(b(integer(1),integer,[]),b(integer(1),integer,[])),pred,_)])]) :-
IntOne = b(integer(1),integer,[]),
Pred = b(negation(b(equal(IntOne,IntOne),pred,[])),pred,[]),
simplify_pred(Pred, Simplified),
ground(Simplified).
test(simplify_neg_not_equal, [all(Simplified = [b(equal(b(integer(1),integer,[]),b(integer(1),integer,[])),pred,_)])]) :-
IntOne = b(integer(1),integer,[]),
Pred = b(negation(b(not_equal(IntOne,IntOne),pred,[])),pred,[]),
simplify_pred(Pred, Simplified),
ground(Simplified).
test(simplify_impl, [all(Simplified = [b(disjunct(b(less_equal(IntOne,IntOne),pred,_),b(greater(IntOne,IntOne),pred,[])),pred,_)])]) :-
IntOne = b(integer(1),integer,[]),
Greater = b(greater(IntOne,IntOne),pred,[]),
Pred = b(implication(Greater,Greater),pred,[]),
simplify_pred(Pred, Simplified),
ground(Simplified).