summaryrefslogtreecommitdiff
path: root/utils/PDDLtoSANetTranslator/PDDLParser/ferry-example.pddl
blob: f104753e7aa9a67d41ec026a956455515add70de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
(define (domain ferry)
  (:requirements :strips :equality :typing)

  (:types auto place ferry)
  (:predicates (at-ferry ?f - ferry ?l - place)
	       (at ?x - auto
		   ?y - place)
	       (empty-ferry ?f - ferry)
	       (on ?x - auto
		   ?f - ferry)
		   (can-sail ?f - ferry
		   ?x - place
		   ?y - place
		   )
		   (can-debark-at ?x - place)
		   (can-board-at ?x - place)
	)

  (:action board
	     :parameters (?f - ferry ?x - auto ?y - place)
	     :precondition (and (at ?x ?y)(at-ferry ?f ?y)(empty-ferry ?f)(can-board-at ?y))
	     :effect 
	     (and (on ?x ?f)
		   (not (at ?x ?y))
		   (not (empty-ferry ?f))))
  (:action sail
	     :parameters (?f - ferry ?x ?y - place)
	     :precondition (and (at-ferry ?f ?x) (not (= ?x ?y)) (can-sail ?f ?x ?y))
	     :effect (and (at-ferry ?f ?y)
			   (not (at-ferry ?f ?x))))
  (:action debark
	     :parameters (?f - ferry ?x - auto ?y - place)
	     :precondition (and (on ?x ?f)(at-ferry ?f ?y) (can-debark-at ?y))
	     :effect (and (not (on ?x ?f))
			   (at ?x ?y)
			   (empty-ferry ?f))))