Situation calculus is a version of first-order-logic (FOL) that is augmented so that it can reason about actions in time.
• Add situation variables to specify time. A situation is a snapshot of the world at
an interval of time when nothing changes
• Add a special predicate holds(f,s) that means "f is true in situation s"
• Add a function result(a,s) that maps the current situations into a new situation as
a result of performing action a.