Using the same id for objects and predicates is not allowed. Afaik, all newer
PDDL versions (>= 2.x) are extensions of the PDDL version used in the IPC 2000
and there it was explicitly forbidden:
"Names: the category <name> consists of strings of characters that beginning
with a letter and contain only letters, digits, hyphens (“-”),and underscores
(“_”). Case is not significant. <name>’s are required to be unique. That is, one
cannot use the same name in two different definitions."
Subset of PDDL for the AIPS2000 Planning Competition -- Draft 1.
Fahiem Bacchus.
Unpublished manuscript linked from the IPC-2 website, 2000.
However, it looks like this is actually not the problem in the attached task.
There is a predicate and a type of the same name (suit), but with different
arity and usage. This is not legal PDDL (for the same reason as above).
Allowing this, would also not be very nice because in the semantics it would
lead to a predicate symbol that it used with two different arities: "An atomic
type name is just a timeless unary predicate, and may be used wherever such a
predicate makes sense." (same reference as above).
Sergio, would renaming the type or the predicate solve the problem for you?
|