(define (domain blocksworld) (:requirements :strips) ; wymagany STRIPS (:predicates (on ?x ?y) ; klocek ?x na klocku ?y (ontable ?x) ; klocek ?x na stole (clear ?x) ; na klocku ?x nic nie lezy (handempty) ; ramie robota jest puste (holding ?x) ; ramie robota trzyma ?x ) (:action pick-up ; akcja "podnies ze stolu" :parameters (?block) :precondition (and (clear ?block) (ontable ?block) (handempty)) :effect (and (not (ontable ?block)) (not (clear ?block)) (not (handempty)) (holding ?block))) ; akcja "poloz na stol" ; akcja "poloz klocek A na klocku B" ; akcja "zdejmij klocek A z klocka B" )