Writing move(x,l,s) for the new situation resulting from the move gives the most compact notation. It is more common to write result(move(x,l),s). Using move(a,s) or more generally move(e,s) for the action or event has the advantage that we can write sentences , i.e. we can quantify over actions or events. (The AI trade mostly talks about actions, but actions are just a kind of event, and much of the theory applies to events in general).
We can also reify the fluent at(x,l) so instead of writing at(x,l,s), we write holds(at(x,l),s). We also write holds(clear(x),s).
Sometimes it is convenient to use functions instead of predicates and write color(x,s) = white instead of color(x,white,s). We might further reify color and write value(color(x),s) instead of color(x,s). Likewise we can write location(x,s) and reify that to value(location(x),s).
With these reifications the axioms become