Dear Enea, Thanks, this is going to help a lot! Where can I find a list of all PPL-Prolog predicates? I didn’t find this particular one in http://bugseng.com/products/ppl/documentation//user/ppl-user-prolog-interfac... (well, apparently I can replace “Polyhedron” in ppl_Polyhedron_difference_assign by anything I need?) Kind regards, Jaco van de Pol On 14 Aug 2017, at 18:53, Enea Zaffanella <zaffanella@cs.unipr.it<mailto:zaffanella@cs.unipr.it>> wrote: Hello. The Pointset_Powerset domain has a difference_assign operator. If I remember correctly, when instantiated to used NNC_Polyhedron, the operator should be precise. For instance: pset1 = { A >= 0 } pset2 = { B = 0, A = 0 } pset1.difference_assign(pset2) = { A >= 0, B > 0 }, { A >= 0, -B > 0 }, { B = 0, A > 0 } Examples of its use (in the C++ interface) can be seen in tests/Powerset/difference1.cc<http://difference1.cc> where, however, it is instantiated with the C_Polyhedron class. As for the Prolog interface, this should be the foreign predicate to call: extern "C" Prolog_foreign_return_type ppl_Pointset_Powerset_NNC_Polyhedron_difference_assign (Prolog_term_ref t_lhs, Prolog_term_ref t_rhs); Let us know if it works as expected. Cheers, Enea. On 08/08/2017 02:39 PM, j.c.vandepol@utwente.nl<mailto:j.c.vandepol@utwente.nl> wrote: Dear developers of PPL, Is it possible to directly compute the set-difference of two pointset powersets? In particular, I’m interested in the precise complement; convex difference approximations are not sufficient for my case. Kind regards, Jaco van de Pol -- Prof. Jaco van de Pol University of Twente (NL) Formal Methods and Tools http://www.cs.utwente.nl/~vdpol<http://www.cs.utwente.nl/%7Evdpol> _______________________________________________ PPL-devel mailing list PPL-devel@cs.unipr.it<mailto:PPL-devel@cs.unipr.it> http://www.cs.unipr.it/mailman/listinfo/ppl-devel -- Prof. Jaco van de Pol University of Twente (NL) Formal Methods and Tools http://www.cs.utwente.nl/~vdpol