# 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.

Core Definition 1   Simple Planning Instance A simple planning instance is defined to be a pair

where is a 4-tuple consisting of (finite sets of) function symbols, relation symbols, actions (non-durative), and a function mapping all of these symbols to their respective arities. is a triple consisting of the objects in the domain, the initial state specification and the goal state specification.

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.

Core Definition 2   Logical States and States Given the finite collection of atoms for a planning instance , , a logical state is a subset of . For a planning instance with dimension , a state is a tuple in where and denotes the undefined value. The first value is the time of the state, the second is the logical state and the third value is the vector of the values of the primitive numeric expressions in the planning instance.

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 ).

Core Definition 3   Assignment Proposition The syntactic form of a numeric effect consists of an assignment operator (assign, increase, decrease, scale-up or scale-down), one primitive numeric expression, referred to as the lvalue, and a numeric expression (which is an arithmetic expression whose terms are numbers and primitive numeric expressions), referred to as the rvalue.

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.

Core Definition 4   Normalisation Let be a planning instance of dimension and let

be an (instance-dependent) correspondence between the primitive numeric expressions and integer indices into the elements of a vector of real values, .

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 .

Core Definition 5   Flattening Actions Given a planning instance, , containing an action schema , the set of action schemas , is defined to be the set , initially containing and constructed as follows:

• 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.

Core Definition 6   Ground Action Given a planning instance, , containing an action schema , the set of ground actions for , , is defined to be the set of all the structures, , formed by substituting objects for each of the schema variables in each schema, , in where the components of are:
• 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, :

•
•
•

Core Definition 7   Valid Ground Action Let be a ground action. is valid if no primitive numeric expression appears as an lvalue in more than one simple assignment effect, or in more than one different type of assignment effect.

Core Definition 8   Updating Function Let be a valid ground action. The updating function for is the composition of the set of functions:

NPF

such that NPF where for each primitive numeric expression that does not appear as an lvalue in , and is satisfied.

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 .

Core Definition 9   Satisfaction of Propositions Given a logical state, , a ground propositional formula of PDDL2.1, , defines a predicate on , Num, as follows:

Num   iff

where means that is true under the interpretation in which each atom, , that is not a numeric comparison, is assigned true iff , each numeric comparison is interpreted using standard equality and ordering for reals and logical connectives are given their usual interpretations. is satisfied in a state if Num .

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

Core Definition 10   Applicability of an Action Let be a ground action. is applicable in a state if the is satisfied in .

Derek Long 2006-10-09