PDDL4J is an open source library under LGPL license whose purpose of PDDL4J is to facilitate the development of JAVA tools for Automated Planning based on PDDL language (Planning Domain Description Language).
If we have a grounded action (do_grind p0 verysmooth), PDDL4J grounds it in such a way that (surface_condition p0 verysmooth) is in both positive and negative effect bitvectors. I think it would be safer if it only appeared in positive bitvector, even though it would restrict cases where someone wants to prioritize negative predicates.
Assume we have this action:
If we have a grounded action (do_grind p0 verysmooth), PDDL4J grounds it in such a way that (surface_condition p0 verysmooth) is in both positive and negative effect bitvectors. I think it would be safer if it only appeared in positive bitvector, even though it would restrict cases where someone wants to prioritize negative predicates.