в PDDL я могу определить «под» типы как это:
(:types
one two - parent other
)
one
и two
также parent
, other
отличается.
Итак, предикат (both ?x - parent)
принимает one
с и two
с.
Я хочу сделать многоуровневое наследование, я пытался
(:types
sprite fanta - fizzy water - drink
food
)
Я хочу, чтобы sprite
и fanta
были fizzy
, а fizzy
и water
оба типа drink
.
Так что мой предикат (pour ?x - drink)
должен принять sprite
, но на данный момент это не так.
Как правильно настроить это дерево типов?
object
├── drink
│ ├── fizzy
│ │ ├── fanta
│ │ └── sprite
│ └── water
└── food