Publisher Summary The situation calculus is a logical language for representing changes. It was first introduced by McCarthy in 1963 and was described in further details by McCarthy and Hayes in 1969. The basic concepts in the situation calculus are situations, actions, and fluents. Actions make the dynamic world change from one situation to another when performed by agents. Fluents are situation-dependent functions that describe the effects of actions; they are of two types: relational fluents and functional fluents. The former have only two values, which are true or false, whereas the latter can have a range of values. For instance, one may have a relational fluent called “handempty,” which is true in a situation if a robot's hand is not holding anything. One may also have a functional fluent called “battery level” whose value in a situation is an integer between 0 and 100 denoting the total battery power remaining on one's laptop computer. According to McCarthy and Hayes, a situation is the complete state of the universe at an instance of time. But for Reiter, a situation is the same as its history, which is the finite sequence of actions that has been performed since the initial situation S0. This chapter discusses Reiter's foundational axioms. Whatever the interpretation, a unique feature of the situation calculus is that situations are first-order objects that can be quantified over. This makes the situation calculus a powerful formalism for representing change and distinguishes it from other formalisms such as a dynamic logic.