in PDDL I can define "sub" types like this:
(:types
one two - parent other
)
one
and two
are also parent
, other
is distinct.
So like, the predicate (both ?x - parent)
accepts one
s and two
s.
I want to do multi-level inheritance, I tried
(:types
sprite fanta - fizzy water - drink
food
)
I want sprite
and fanta
to be fizzy
, and fizzy
and water
are both of the type drink
.
So my predicate (pour ?x - drink)
should accept sprite
, but at the moment it doesn't.
How do I correctly set up this type tree?
object
├── drink
│ ├── fizzy
│ │ ├── fanta
│ │ └── sprite
│ └── water
└── food