- \begin{lstlisting}[language=prolog]
-connected(loc1-1, loc2-1, north),
-connected(loc1-1, loc1-2, east),
-connected(loc1-2, loc2-2, north),
-connected(loc1-2, loc1-3, east),
-connected(loc1-3, loc2-3, north),
-connected(loc1-3, loc1-4, east),
-connected(loc1-4, loc2-4, north),
-
-connected(loc2-1, loc3-1, north),
-connected(loc2-1, loc2-2, east),
-connected(loc2-2, loc3-2, north),
-connected(loc2-2, loc2-3, east),
-connected(loc2-3, loc3-3, north),
-connected(loc2-3, loc2-4, east),
-
-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)),
-
-crate(crate-c, loc2-1, s),
-crate(crate-b, loc2-2, s),
-crate(crate-a, loc2-3, s),
-
-target(crate-a, loc1-1),
-target(crate-b, loc1-3),
-target(crate-c, loc1-2),
-agent(loc3-2, s).$
- \end{lstlisting}