connected(From, CrateLocation, Direction),
crate(_, CrateLocation, S),
connected(CrateLocation, CrateTarget, Direction),
- not(crate(_, CrateTarget, Direction)).
+ not(crate(_, CrateTarget, S)).
% --- Successor state axioms ------------------------------------------
agent(AgentPlek, result(A, S)) :-
:- [domaintask1].
% --- Definition of the initial state ---------------------------------
+% north and east
connected(loc1-1, loc2-1, north).
connected(loc1-1, loc1-2, east).
connected(loc1-2, loc2-2, north).
connected(loc3-1, loc3-2, north).
connected(loc3-2, loc3-3, north).
-connected(X, Y, east) :- connected(Y, X, west).
-connected(X, Y, north) :- connected(Y, X, south).
+% The other way around, west and south
+connected(loc2-1, loc1-1, south).
+connected(loc1-2, loc1-1, west).
+connected(loc2-2, loc1-2, south).
+connected(loc1-3, loc1-2, west).
+connected(loc2-3, loc1-3, south).
+connected(loc1-4, loc1-3, west).
+connected(loc2-4, loc1-4, south).
+
+connected(loc3-1, loc2-1, south).
+connected(loc2-2, loc2-1, west).
+connected(loc3-2, loc2-2, south).
+connected(loc2-3, loc2-2, west).
+connected(loc3-3, loc2-3, south).
+connected(loc2-4, loc2-3, west).
+
+connected(loc3-2, loc3-1, south).
+connected(loc3-3, loc3-2, south).
+
+%connected(X, Y, east) :- connected(Y, X, west).
+%connected(X, Y, north) :- connected(Y, X, south).
crate(crate-c, loc2-1, s0).
crate(crate-b, loc2-2, s0).