The Planning Domain Definition Language (PDDL) is a first-order logic-based, standardized language used to formally define the components of an automated planning problem. It separates the planning domain—which specifies the types of objects, predicates describing their properties, and the actions available—from the planning problem—which defines the specific initial state and goal conditions. This separation allows generic planning algorithms to operate across different application areas by parsing the same structured language.
Glossary
PDDL (Planning Domain Definition Language)

What is PDDL (Planning Domain Definition Language)?
PDDL is the formal, standardized language for defining problems and domains in classical automated planning.
PDDL enables the precise specification of preconditions that must hold for an action to be executable and the effects that action has on the world state. Originating from the STRIPS formalism, it provides the necessary syntactic structure for planners to perform state-space search or regression planning. Its standardization facilitates the development and benchmarking of planning algorithms, as seen in the International Planning Competition, making it a cornerstone for research and development in autonomous agent and cognitive architecture systems.
Core Components of a PDDL Specification
A PDDL specification is formally divided into two files: a domain file, which defines the reusable rules of the world, and a problem file, which defines a specific instance to solve. Together, they provide a complete, logic-based model for an automated planner.
Domain File: The Rulebook
The domain file is a reusable template that defines the types of objects, predicates (properties and relationships), and actions available in a planning world. It uses first-order logic to specify the rules of change.
- Types: Define hierarchies of object categories (e.g.,
robot,location - thing,package - thing). - Predicates: Define properties that can be true or false about the world state (e.g.,
(at ?r - robot ?l - location),(loaded ?r - robot ?p - package)). - Actions: Defined using
:parameters,:precondition(logical formula that must be true to execute), and:effect(logical formula describing state changes).
Problem File: The Specific Instance
The problem file defines a concrete planning instance by specifying the initial state and the goal condition using the predicates declared in the domain.
- Objects: Instantiates the domain's types with concrete instances (e.g.,
r1 - robot,locA locB - location,pkg1 - package). - Init: A complete list of all predicates that are true in the starting world state. All unlisted predicates are assumed false (Closed World Assumption).
- Goal: A logical formula describing the set of world states that constitute a solution (e.g.,
(and (at pkg1 locB) (at r1 locA))).
Action Schema: The Engine of Change
An action schema is a parameterized operator that defines how the agent can transform the world. It is the core construct for modeling capabilities.
- Structure:
(:action drive :parameters (?r - robot ?from ?to - location) :precondition (and (at ?r ?from) (connected ?from ?to)) :effect (and (not (at ?r ?from)) (at ?r ?to))) - Precondition: A conjunction/disjunction of predicates that must hold for the action to be applicable.
- Effect: Specifies which predicates become true (add list) and which become false (delete list) after execution, directly addressing the frame problem by defining what changes.
Requirements & Extensions
PDDL is modular. The :requirements stanza in the domain declares which language features are needed, enabling planners to support advanced capabilities.
Core requirements include:
:strips- The basic action representation (preconditions, add/delete effects).:typing- Support for object types.:equality- Support for the=predicate.:negative-preconditions- Allownotin preconditions.:disjunctive-preconditions- Alloworin preconditions.:conditional-effects- Effects that depend on state (when).:durative-actions- For temporal planning (PDDL 2.1).:numeric-fluents- For continuous numeric state variables.
STRIPS: The Foundational Subset
STRIPS (Stanford Research Institute Problem Solver) is the historical and conceptual foundation for PDDL. A STRIPS-style domain in PDDL uses only the core :strips requirement.
Key STRIPS Assumptions:
- States are represented as sets of ground (instantiated) logical atoms.
- Actions have a precondition list (conjunction of positive literals).
- Actions have an add list and a delete list for effects.
- The world is static, fully observable, and deterministic. Most classical planners are designed to solve STRIPS problems efficiently, making it the most widely supported PDDL subset.
Example: A Simple Logistics Domain
Domain Snippet (logistics-domain.pddl):
lisp(define (domain logistics) (:requirements :strips :typing) (:types location vehicle - object package - object) (:predicates (at ?obj - object ?loc - location) (in ?pkg - package ?v - vehicle)) (:action load :parameters (?pkg - package ?v - vehicle ?loc - location) :precondition (and (at ?pkg ?loc) (at ?v ?loc)) :effect (and (not (at ?pkg ?loc)) (in ?pkg ?v))) )
Problem Snippet (deliver-p1.pddl):
lisp(define (problem deliver-p1) (:domain logistics) (:objects pkg1 - package truck1 - vehicle locA locB - location) (:init (at pkg1 locA) (at truck1 locA)) (:goal (at pkg1 locB)) )
A valid plan: (load pkg1 truck1 locA), (drive truck1 locA locB), (unload pkg1 truck1 locB).
How PDDL Works: From Specification to Plan
PDDL provides a formal, logic-based specification language that separates the general rules of a domain from a specific problem instance, enabling automated planners to algorithmically search for a valid sequence of actions.
A PDDL domain file formally defines the planning domain using first-order logic. It declares types of objects, predicates (properties and relations that can be true or false), and actions. Each action is defined by its parameters, preconditions (logical formulas that must hold for it to execute), and effects (how it changes the world state by adding or deleting predicates). This creates a reusable template for a class of problems.
A separate PDDL problem file instantiates the domain for a specific scenario. It lists the concrete objects present, defines the initial state as a set of true predicates, and specifies the goal condition as a logical formula. A planner, such as a heuristic forward search or SAT-based solver, takes these files, explores the state space of possible actions, and outputs a plan—a sequence of ground actions that, if executed from the initial state, is guaranteed to achieve the goal.
Frequently Asked Questions
PDDL is the lingua franca for formalizing automated planning problems. These questions address its core syntax, practical applications, and role in modern agentic systems.
The Planning Domain Definition Language (PDDL) is a standardized, first-order logic-based language used to formally define the components of an automated planning problem. It works by separating the domain (the reusable rules of the world) from the problem (a specific initial state and goal). A domain file defines types, predicates (facts about the world), and actions (with preconditions and effects). A problem file instantiates objects, sets the initial state as a set of true predicates, and defines the goal condition. A planner algorithm reads these files to search for a sequence of actions (a plan) that transforms the initial state into a goal state.
lisp;; Domain Example (excerpt) (:action drive :parameters (?v - vehicle ?l1 ?l2 - location) :precondition (and (at ?v ?l1) (road ?l1 ?l2)) :effect (and (not (at ?v ?l1)) (at ?v ?l2)))
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
PDDL provides the formal specification for automated planning problems. These related concepts represent the core algorithms, frameworks, and formalisms that operate on PDDL descriptions to generate and validate action sequences.
Heuristic Search (A*)
A search* is the quintessential algorithm for solving PDDL-specified planning problems optimally. It navigates the state space by evaluating nodes using the function f(n) = g(n) + h(n), where:
g(n)is the actual cost from the initial state to noden.h(n)is a heuristic function estimating the cost fromnto the goal. For optimality,h(n)must be an admissible heuristic (never overestimates). Modern planners use sophisticated, domain-independent heuristics like FF or LM-cut derived automatically from the PDDL description.
Hierarchical Task Network (HTN) Planning
HTN Planning is a more knowledge-intensive paradigm than classical STRIPS planning. Instead of searching over primitive actions, it decomposes high-level tasks using domain-specific methods. While PDDL has a separate syntax for HTN (PDDL 3.1 with :htn), the core distinction is:
- Classical PDDL: Specifies what actions do.
- HTN PDDL: Also specifies how to combine them via task networks. This makes HTN planners like SHOP2 highly efficient for complex, structured domains like manufacturing or logistics where procedural knowledge is available.
Planning as Satisfiability (SATPlan)
SATPlan is a powerful alternative to state-space search that converts a bounded-length planning problem into a propositional logic formula. The process is:
- Encode the PDDL problem (initial state, actions, goal) for a fixed plan length
kinto a Boolean Satisfiability (SAT) problem. - Use a high-performance SAT solver (e.g., Glucose, MiniSat) to find a satisfying assignment.
- Decode the assignment back into a sequence of actions. This approach excels on highly combinatorial problems where logical reasoning outperforms direct search, leveraging decades of advances in SAT solver technology.
Plan Validation
Plan validation is the critical process of verifying that a candidate plan (a sequence of action names) is a correct solution for a given PDDL problem. A validator (like VAL) performs a deterministic simulation:
- Starts from the defined initial state.
- For each action, checks all preconditions are met in the current state.
- Applies the action's effects to update the state.
- Confirms the final state satisfies all goal conditions. This provides a formal, executable proof of correctness, essential for deploying plans in safety-critical autonomous systems.
Temporal & Numeric Planning
PDDL extends beyond classical Boolean logic to model real-world constraints via requirements like :durative-actions and :numeric-fluents.
- Temporal PDDL: Actions have explicit durations and can execute concurrently. Planners must satisfy complex temporal constraints.
- Numeric PDDL: State includes real-valued fluents (e.g.,
(battery-level rover1) 50.5). Actions can increment/decrement these values via numeric effects. Planners like OPTIC and Temporal Fast Downward solve these complex problems, enabling scheduling and resource management directly from a rich PDDL model.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us