This appendix contains a complete BNF specification of the PDDL2.1 language. This is not a strict superset of PDDL1.x. For example, the use of local variables within action schemas has been left out of this specification. It is not a widely used part of the language and has not been used in any of the competition domains. The interpretation of local variables as proposed by McDermott is subtle, since it demands confirmation that a unique instantiation exists for each such variable. It is non-trivial to confirm that this is the case during plan validation for domains with significant expressive power and the fact that it has been largely ignored suggests that it is poorly understood. Other changes are discussed in the following sections.