The ramification problem for a temporal database is that of providing a concise description of the indirect effects of an action. In the language of the situation calculus, this means that an action that changes one fluent directly can effect a change in some other fluent because of constraints on the relative values of the fluents. Added complications arise when an action can change beliefs about the past. The authors describe a situation calculus-based approach to this problem.
In essence, they proceed as follows. In addition to the fluents and their direct effects, one must have a set of causal relationships that capture the relation between actions and their indirect effects. The authors provide algorithms for deriving the constraints on the fluents that follow from these causal effects, and then from these constraints they deduce a set of static rules that encapsulate the indirect effects in a way that is useful for application to the situation calculus. It is then shown how these rules, both the static ones that provide the indirect effects and the dynamic ones describing the direct effects of an action, can be combined to compute, in the situation calculus, the effect of a sequence of actions. Of particular interest are the versions of the algorithm that apply to actions that may affect beliefs about the past. Separate algorithms are required for each of the cases where an action may change all the fluents in the past; where an action may change only some fluents in the past; and where an action may change the past, but the results start to hold only as of now.
The paper contains extensive illustrations that both motivate and explain the discussion. While there is no discussion of the complexity of the algorithms, the paper offers useful ideas for resolving a difficult problem.