PDDL2.1 Core Definitions

In this appendix we present the definitions from [Fox LongFox Long2003] that are most relevant to this paper, for ease of reference. For detailed discussions of these definitions and their relationships see the original source.

*The primitive numeric expressions of a planning instance, , are the terms constructed from the function symbols of the domain applied to (an appropriate number of) objects drawn from . The dimension of the planning instance, , is the number of distinct primitive numeric expressions that can be constructed in the instance.
*

*The atoms of the planning instance, , are the (finitely many) expressions formed by applying the relation symbols in to the objects in (respecting arities).
*

* consists of two parts:
is a set of literals formed from the atoms in .
is a set of propositions asserting the initial values of a subset of the primitive numeric expressions of the domain. These assertions each assign to a single primitive numeric expression a constant real value. The goal condition is a proposition that can include both atoms formed from the relation symbols and objects of the planning instance and numeric propositions between primitive numeric expressions and numbers.
*

* is a collection of action schemas (non-durative actions) each expressed in the syntax of PDDL. The primitive numeric expression schemas and atom schemas used in these action schemas are formed from the function symbols and relation symbols (used with appropriate arities) defined in the domain applied to objects in and the schema variables. *

*The initial state for a planning instance is
where is the vector of values in
corresponding to the initial assignments given by
(treating unspecified values as ). *

*The assignment proposition corresponding to a numeric effect is formed by replacing the assignment operator with its equivalent arithmetic operation (that is (increase p q) becomes (= p (+ p q)) and so on) and then annotating the lvalue with a ``prime''.
*

*A numeric effect in which the assignment operator is either increase or decrease is called an additive assignment effect, one in which the operator is either scale-up or scale-down is called a scaling assignment effect and all others are called simple assignment effects.*

*The normalised form of a ground proposition, , in is defined to be the result of substituting for each primitive numeric expression in , the literal
. The normalised form of will be referred to as
. Numeric effects are normalised by first converting them into assignment propositions. Primed primitive numeric expressions are replaced with their corresponding primed literals. is used to represent the vector
.*

- While contains an action schema, , with a conditional effect,
`(when P Q)`, create two new schemas which are copies of , but without this conditional effect, and conjoin the condition`P`to the precondition of one copy and`Q`to the effects of that copy, and conjoin`(not P)`to the precondition of the other copy. Add the modified copies to . - While contains an action schema, , with a formula containing a quantifier, replace with a version in which the quantified formula
`(``(``) P)`in is replaced with the conjunction (if the quantifier, , is`forall`) or disjunction (if is`exists`) of the propositions formed by substituting objects in for each variable in in`P`in all possible ways.

*These steps are repeated until neither step is applicable.*

*Name*is the name from the action schema, , together with the values substituted for the parameters of in forming .*Pre*, the*precondition*of , is the propositional precondition of . The set of ground atoms that appear in*Pre*is referred to as*GPre*.*Add*, the*positive postcondition*of , is the set of ground atoms that are asserted as positive literals in the effect of .*Del*, the*negative postcondition*of ,is the set of ground atoms that are asserted as negative literals in the effect of .*NP*, the*numeric postcondition*of , is the set of all assignment propositions corresponding to the numeric effects of .

*The following sets of primitive numeric expressions are defined for each ground action,
:
*

*The notation
should be read as the result of normalising and then substituting the vector of actual values
for the parameters
and actual values for formal parameters . *

Num iff

*Comparisons involving , including direct equality between two values are all undefined, so that enclosing propositions are also undefined and not satisfied in any state. *

Derek Long 2006-10-09