This repository has been archived on 2023-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
2016-05-30 15:47:57 +02:00
|
|
|
(define (domain BLOCKS)
|
|
|
|
(:requirements :strips :typing)
|
|
|
|
(:types block)
|
|
|
|
(:predicates (on ?x - block ?y - block)
|
2016-06-02 16:28:26 +02:00
|
|
|
(ontable ?x - block)
|
|
|
|
(clear ?x - block)
|
|
|
|
(handempty)
|
|
|
|
(holding ?x - block)
|
|
|
|
)
|
2016-05-30 15:47:57 +02:00
|
|
|
|
|
|
|
(:action pick-up
|
2016-06-02 16:28:26 +02:00
|
|
|
:parameters (?x - block)
|
|
|
|
:precondition (and (clear ?x) (ontable ?x) (handempty))
|
|
|
|
:effect
|
|
|
|
(and (not (ontable ?x))
|
|
|
|
(not (clear ?x))
|
|
|
|
(not (handempty))
|
|
|
|
(holding ?x)))
|
2016-05-30 15:47:57 +02:00
|
|
|
|
|
|
|
(:action put-down
|
2016-06-02 16:28:26 +02:00
|
|
|
:parameters (?x - block)
|
|
|
|
:precondition (holding ?x)
|
|
|
|
:effect
|
|
|
|
(and (not (holding ?x))
|
|
|
|
(clear ?x)
|
|
|
|
(handempty)
|
|
|
|
(ontable ?x)))
|
2016-05-30 15:47:57 +02:00
|
|
|
(:action stack
|
2016-06-02 16:28:26 +02:00
|
|
|
:parameters (?x - block ?y - block)
|
|
|
|
:precondition (and (holding ?x) (clear ?y))
|
|
|
|
:effect
|
|
|
|
(and (not (holding ?x))
|
|
|
|
(not (clear ?y))
|
|
|
|
(clear ?x)
|
|
|
|
(handempty)
|
|
|
|
(on ?x ?y)))
|
2016-05-30 15:47:57 +02:00
|
|
|
(:action unstack
|
2016-06-02 16:28:26 +02:00
|
|
|
:parameters (?x - block ?y - block)
|
|
|
|
:precondition (and (on ?x ?y) (clear ?x) (handempty))
|
|
|
|
:effect
|
|
|
|
(and (holding ?x)
|
|
|
|
(clear ?y)
|
|
|
|
(not (clear ?x))
|
|
|
|
(not (handempty))
|
|
|
|
(not (on ?x ?y)))))
|