forked from potassco/pddl-instances
-
Notifications
You must be signed in to change notification settings - Fork 1
/
domain.pddl
48 lines (46 loc) · 1.69 KB
/
domain.pddl
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
37
38
39
40
41
42
43
44
45
46
47
48
(in-package "PDDL")
(define (domain mystery-typed)
(:requirements :adl)
(:types province planet food emotion - object
pleasure pain - emotion)
(:predicates
(eats ?n1 ?n2 - food)
(craves ?v - emotion ?n - food)
(fears ?c - pain ?v - pleasure)
(locale ?n - food ?a - province)
(harmony ?v - emotion ?s - planet)
(attacks ?i ?j - province)
(orbits ?i ?j - planet))
(:action overcome
:parameters (?c - pain ?v - pleasure)
:vars (?n - food ?s1 ?s2 - planet)
:precondition (and (craves ?c ?n)
(craves ?v ?n)
(harmony ?v ?s2)
(orbits ?s1 ?s2))
:effect (and (not (craves ?c ?n))
(fears ?c ?v)
(not (harmony ?v ?s2))
(harmony ?v ?s1)))
(:action feast
:parameters (?v - pleasure ?n1 ?n2 - food)
:vars (?l1 ?l2 - province)
:precondition (and (craves ?v ?n1)
(eats ?n1 ?n2)
(locale ?n1 ?l2)
(attacks ?l1 ?l2))
:effect (and (not (craves ?v ?n1))
(craves ?v ?n2)
(not (locale ?n1 ?l2))
(locale ?n1 ?l1)))
(:action succumb
:parameters (?c - pain ?v - pleasure)
:vars (?n - food ?s1 ?s2 - planet)
:precondition (and (fears ?c ?v)
(craves ?v ?n)
(harmony ?v ?s1)
(orbits ?s1 ?s2))
:effect (and (not (fears ?c ?v))
(craves ?c ?n)
(not (harmony ?v ?s1))
(harmony ?v ?s2))))