Closed bonetblai closed 2 years ago
Hi Blai, the second point (not allowing repetition of objects when grounding unless :equality is specified) isn't part of the regular PDDL semantics. I remember many planners worked like this in the past, but I think the current behaviour of having no such restrictions became the only official semantics when PDDL got formalized a bit more for IPC 2000 or IPC 2002.
I agree on the first part: supporting :equality with the meaning that it makes "=" available would be useful.
BTW, is there a clear statement anywhere who the official maintainer(s) of pyperplan is/are? I'm primarily asking to make clear that I'm not one of them. ;-)
Yes, there's a note in the README under Contact: https://github.com/aibasel/pyperplan
Thanks, Jendrik! I even checked that section, but apparently ran out of brain power before the end of it. ;-)
I just issued a PR for this request. Semantics of grounding isn't change. The PR describes the patch. I'm closing this issue...
Pyperplan does not support the :equality keyword. When enabled, the predicate = becomes available for testing equality among objects. In the (far) past, there was also a difference when grounding operators. By default (no :equality), objects could appear at most once for different arguments of grounded actions (i.e., no object could repeat in the arguments for a grounded action). When enabled, such repetitions are allowed but then the predicate = becomes available.