The syntax for domain definitions is the same as for PDDL2.1, except that durative actions are not allowed. Declarations of constants, predicates, and functions are allowed in any order with respect to one another, but they must all come after any type declarations and precede any action declarations.
![]() ![]() |
::= | ( define ( domain ![]() ![]() |
||
[![]() ![]() |
||||
[![]() ![]() |
||||
[![]() ![]() |
||||
[![]() ![]() |
||||
[![]() ![]() |
||||
![]() ![]() |
||||
![]() ![]() |
::= | ( :requirements ![]() ![]() |
||
![]() ![]() |
::= | See Section A.4 | ||
![]() ![]() |
::= | ( :types ![]() ![]() |
||
![]() ![]() |
::= | ( :constants ![]() ![]() |
||
![]() ![]() |
::= | ( :predicates ![]() ![]() |
||
![]() ![]() |
::= | ( ![]() ![]() ![]() ![]() |
||
![]() ![]() |
::= | ![]() ![]() |
||
![]() ![]() |
::= | ( :functions ![]() ![]() |
||
![]() ![]() |
::= | ( ![]() ![]() ![]() ![]() |
||
![]() ![]() |
::= | ![]() ![]() |
||
![]() ![]() |
::= | ![]() ![]() |
||
![]() ![]() |
::= | See Section A.2 | ||
![]() ![]() |
::= | ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
||
![]() ![]() |
::= | ( either ![]() ![]() ![]() ![]() |
||
![]() ![]() |
::= | ![]() ![]() |
||
![]() ![]() |
::= | ![]() ![]() |
||
| |
:typing
![]() ![]() ![]() ![]() ![]() ![]() |
|||
![]() ![]() |
::= | number |
A
name
is a string of characters starting with an
alphabetic character followed by a possibly empty sequence of
alphanumeric characters, hyphens (“-”), and underscore
characters (“_”). A
variable
is a
name
immediately preceded by a question mark (“?”). For example,
in-office and ball_2 are names, and ?gripper is a
variable.
Håkan L. S. Younes