We study revision programming, a logic-based mechanism for enforcing constraints on databases. The central concept of this approach is that of a justi ed revision based on a revision program. We show that for any program P and for any pair of initial databases I and I 0 we can transform (shift) the program P to a program P0 so that the size of the resulting program does not increase and so that P-justi ed revisions of I are shifted to P0 -justi ed revisions of I 0 . Using this result we show that revision programming is closely related to a subsystem of general logic programming of Lifschitz and Woo. This, in turn, allows us to reduce revision programming to logic programming extended by the concept of a constraint with a suitably modi ed stable model semantics. Finally, we use the connection between revision programming and general logic programming to introduce a disjunctive version of our formalism.
V. Wiktor Marek, Inna Pivkina, Miroslaw Truszczyns