# Situation calculus: how to find pre-conditions in 15-puzzle game?

I have been working on finding the preconditions for a situation calculus example for some time now. This example is called the game "15-puzzle" where you can find a discription here https://en.wikipedia.org/wiki/15_puzzle.

The following fluents are given for this game:

at(x,y,z,s) // which means: there is a tile z at position x,y.
free(x,y,s) // which means: position x,y is free.


And now I have to find the preconditions for the following actions (movements):

move_up()
move_down()
move_left()
move_right()


I have tried really cumbersome solutions which I am sure are not correct. I would be very grateful if someone has the right approach for me!

• Have you looked at the AIMA textbook? It covers situation calculus. – ShyPerson Jun 22 '20 at 21:33