-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy pathsimple_blocks.txt
23 lines (18 loc) · 1.3 KB
/
simple_blocks.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Initial state: At(Tower1), BlockAt(A, Tower1), BlockAt(D, Tower1), On(D, A), OnBottom(A), OnTop(D), BlockAt(B, Tower2), BlockAt(C, Tower2), On(B, C), OnBottom(C), OnTop(B), Empty(Tower3)
Goal state: On(A, B), On(B, C), OnTop(A), OnBottom(C)
Actions:
Go(From, To)
Preconditions: At(From), !At(To)
Postconditions: At(To), !At(From)
PlaceOn(Block1, Block2, Tower)
Preconditions: At(Tower), Holding(Block1), BlockAt(Block2, Tower), OnTop(Block2)
Postconditions: !Holding(Block1), !OnTop(Block2), BlockAt(Block1, Tower), OnTop(Block1), On(Block1, Block2)
PlaceOnEmpty(Block1, Tower)
Preconditions: At(Tower), Holding(Block1), Empty(Tower)
Postconditions: !Holding(Block1), OnTop(Block1), BlockAt(Block1, Tower), OnBottom(Block1), !Empty(Tower)
PickUp(Block1, Block2, Tower)
Preconditions: At(Tower), OnTop(Block1), BlockAt(Block1, Tower), BlockAt(Block2, Tower), On(Block1, Block2)
Postconditions: Holding(Block1), !OnTop(Block1), !BlockAt(Block1, Tower), !On(Block1, Block2), OnTop(Block2)
PickUpLast(Block1, Tower)
Preconditions: At(Tower), BlockAt(Block1, Tower), OnTop(Block1), OnBottom(Block1)
Postconditions: Holding(Block1), !BlockAt(Block1, Tower), !OnTop(Block1), !OnBottom(Block1), Empty(Tower)