-
Notifications
You must be signed in to change notification settings - Fork 0
/
domain.pddl
32 lines (32 loc) · 1.16 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
(define (domain BTcat)
(:constants
a b c d e f g h i j k l - object)
(:predicates
(cat ?x - object)
(bomb ?x - object)
(contains ?x ?y - object)
(package ?x - object)
(disarmed ?x - object)
(object ?x - object)
(DATALOG_INCONSISTENT )
(DATALOG_PACKAGE ?x0 - object)
(DATALOG_QUERY0 ?x0 ?x1 - object))
(:derived (DATALOG_INCONSISTENT )
(exists (?y0 ?y1 ?y2 - object) (and (contains ?y0 ?y1) (contains ?y0 ?y2) (not (= ?y1 ?y2)))))
(:derived (DATALOG_INCONSISTENT )
(exists (?y0 - object) (and (bomb ?y0) (cat ?y0))))
(:derived (DATALOG_PACKAGE ?x0 - object)
(package ?x0))
(:derived (DATALOG_PACKAGE ?x0 - object)
(exists (?y0 - object) (contains ?x0 ?y0)))
(:derived (DATALOG_QUERY0 ?x0 ?x1 - object)
(and (bomb ?x1) (contains ?x0 ?x1)))
(:action dunk
:parameters (?x ?y - object)
:precondition (and (DATALOG_PACKAGE ?x) (not (DATALOG_INCONSISTENT)))
:effect (when (DATALOG_QUERY0 ?x ?y) (and (disarmed ?x))))
(:action let_the_cats_out
:parameters (?x ?y - object)
:precondition (and (DATALOG_PACKAGE ?x) (not (DATALOG_INCONSISTENT)))
:effect (when (contains ?x ?y) (and (not (contains ?x ?y)) (cat ?y))))
)