Constructive negation and constraint logic programming with sets