forked from danaecanillas/IA-Planification
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDomain-Ext2-A.pddl
44 lines (35 loc) · 1.39 KB
/
Domain-Ext2-A.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
(define (domain planner3)
(:requirements :adl :typing)
(:types content - item)
(:predicates
(predecessor ?before - content ?after - content)
(paralels ?x - content ?y - content)
(to_watch ?x - content)
(to_watch_paralel ?x - content)
(all_pre_watched ?x - content)
(seen ?x - content)
)
(:action watch
:parameters (?x - content)
:precondition (and (forall (?y - content) (and (imply (predecessor ?y ?x) (seen ?y)) (to_watch ?x)))
(forall (?y - content) (and (imply (paralels ?y ?x) (or (all_pre_watched ?y) (seen ?y))) (to_watch ?x)))
; (forall (?y - content) (and (imply (paralels ?y ?x) (seen ?y)) (to_watch ?x)))
)
:effect (seen ?x)
)
(:action mark_to_watch_predecessor
:parameters (?before - content ?x - content)
:precondition (and (predecessor ?before ?x) (to_watch ?x))
:effect (to_watch ?before)
)
(:action mark_to_watch_paralels
:parameters (?y - content ?x - content)
:precondition (and (paralels ?y ?x) (to_watch ?x))
:effect (to_watch ?y)
)
(:action mark_all_pre_seen
:parameters (?x - content)
:precondition (and (forall (?y - content) (and (imply (predecessor ?y ?x) (seen ?y)) (to_watch ?x))))
:effect (all_pre_watched ?x)
)
)