Hi everybody, I just notice a small error in the documentation about the Prolog interface (http://www.cs.unipr.it/ppl/Documentation/user/group__PrologInterface.html) It says " ppl_Polyhedron_contains_Polyhedron(+Handle_1, +Handle_2) Succeeds if and only if the polyhedron referenced by Handle_1 is included in or equal to the polyhedron referenced by Handle_2" when it works in the opposite way: ?- ?- ppl_initialize, ppl_new_Polyhedron_from_constraints(c,['$VAR'(0)>=2,'$VAR'(0)=<4],Poly1), ppl_new_Polyhedron_from_constraints(c,['$VAR'(0)>=0,'$VAR'(0)=<8],Poly2), ppl_Polyhedron_contains_Polyhedron(Poly1,Poly2), ppl_finalize. no ?- ?- ppl_initialize, ppl_new_Polyhedron_from_constraints(c,['$VAR'(0)>=2,'$VAR'(0)=<4],Poly1), ppl_new_Polyhedron_from_constraints(c,['$VAR'(0)>=0,'$VAR'(0)=<8],Poly2), ppl_Polyhedron_contains_Polyhedron(Poly2,Poly1), ppl_finalize. Poly1 = '$address'(268012696), Poly2 = '$address'(268013120) ? Maybe the situation is the same in the main API or in the C interface, though I didn't check them. Mario