Rules as actions: A situation calculus semantics for logic programs

Fangzhen Lin, Ray Reiter
1997 The Journal of Logic Programming  
I> We propose a novel semantics for logic programs with negation by viewing the application of a clause in a derivation as an action in the situation calculus. Program clauses are then identified with situation calculus effect axioms as they are understood in axiomatic theories of actions. We then solve the frame problem for these effect axioms using a recent approach of Reiter [21] , and identify the resulting collection of axioms with the semantics of the original logic problem. An
more » ... consequence of this approach is that the logic programming negation-as-failure operator inherits its nonmonotonicity from the nonmonotonicity associated with the frame problem. One advantage of our proposal is that like Clark's completion semantics, ours is also formulated explicitly in classical logic. To illustrate the usefulness of our semantics, we prove sufficient conditions for two logic programs to be equivalent, and use this to verify the correctness of the well-known unfolding program transformation operator. We also discuss applications of this framework to formalizing search control operators in logic programming.
doi:10.1016/s0743-1066(96)00122-7 fatcat:m3gqxzv5ojedhjv4svzumuwkmm