Closed guicho271828 closed 3 years ago
This is one of those things where people don't agree what is or is not correct in :types specifications. We had many discussions about these, including things like
non-unique supertypes:
(:types b c - object a - c a - b)
cyclic specs:
(:types a - b b - a)
self-referential specs:
(:types a - a)
Pyperplan follows the semantics that all types other than the universal supertype object (which is mentioned as such in the PDDL 1.2 paper) need to be explicitly introduced. When I researched this a long time ago, I think this was the semantics that Drew McDermott's type library actually used, but I could never get 100% confirmation of this.
Long story short, there is no agreement on what the semantics of types should be, and so whatever semantics pyperplan picks, someone would be unhappy with it. :-(
I am somewhat reluctant to change the semantics, but we could for example add an FAQ item or something similar. What do people think?
Adding a short FAQ item (to the README?) sounds like a good idea.
Are you willing to take this on, Jendrik?
I copied your main sentence to the README: https://github.com/aibasel/pyperplan/commit/ec559e8070ce1f598d57e17b8b3237eb035ed73c
While parsing the domain file, it fails to recognize an implied type "pieces"
https://github.com/AI-Planning/classical-domains/blob/master/classical/tetris-opt14-strips/domain.pddl#L4-L10