Revision Programming = Logic Programming + Integrity Constraints

  • Victor Marek
  • Inna Pivkina
  • Mirosław Truszczyński
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1584)


We study revision programming, a logic-based mechanism for enforcing constraints on databases. The central concept of this approach is that of a justified revision based on a revision program. We show that for any program P and for any pair of initial databases I and I’ we can transform (shift) the program P to a program P’ so that the size of the resulting program does not increase and so that P-justified revisions of I are shifted to P’-justified revisions of I’. 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 modified stable model semantics. Finally, we use the connection between revision programming and general logic programming to introduce a disjunctive version of our formalism.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. ADN97.
    Aravindan, C., Dix, J., Niemelä, I.: DisLoP: Towards a disjunctive logic programming system. In: Fuhrbach, U., Dix, J., Nerode, A. (eds.) LPNMR 1997. LNCS, vol. 1265, pp. 342–353. Springer, Heidelberg (1997)Google Scholar
  2. ALP+98.
    Alferes, J.J., Leite, J.A., Pereira, L.M., Przymusinska, H., Przymusinski, T.C.: Dynamic logic programming. In: Accepted at KR 1998: Sixth International Conference on Principles of Knowledge Representation and Reasoning, Trento, Italy (June 1998)Google Scholar
  3. AP97.
    Alferes, J.J., Pereira, L.M.: Update-programs can update programs. In: Dix, J., Przymusinski, T.C., Moniz Pereira, L. (eds.) NMELP 1996. LNCS, vol. 1216, pp. 110–131. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  4. Bar97.
    Baral, C.: Embedding revision programs in logic programming situation calculus. Journal of Logic Programming 30(1), 83–97 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  5. BM97.
    Bidoit, N., Maabout, S.: Update programs versus revision programs. In: Dix, J., Przymusinski, T.C., Moniz Pereira, L. (eds.) NMELP 1996. LNCS, vol. 1216, pp. 151–170. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  6. CMMT95.
    Cholewiński, P., Marek, W., Mikitiuk, A., Truszczyński, M.: Experimenting with nonmonotonic reasoning. In: Logic programming (Kanagawa 1995). MIT Press Series in Logic Programming, pp. 267–281. MIT Press, Cambridge (1995)Google Scholar
  7. EG95.
    Eiter, T., Gottlob, G.: On the computational cost of disjunctive logic programming: propositional case. Annals of Mathematics and Artificial Intelligence 15(3-4), 289–323 (1995)zbMATHCrossRefMathSciNetGoogle Scholar
  8. ELM+97.
    Eiter, T., Leone, N., Mateis, C., Pfeifer, G., Scarcello, F.: A deductive system for non-monotonic reasoning. In: Fuhrbach, U., Dix, J., Nerode, A. (eds.) LPNMR 1997. LNCS, vol. 1265, pp. 364–375. Springer, Heidelberg (1997)Google Scholar
  9. Lif96.
    Lifschitz, V.: Foundations of logic programming. In: Principles of Knowledge Representation, pp. 69–127. CSLI Publications, Stanford (1996)Google Scholar
  10. LTT97.
    Lifschitz, V., Tang, L.R., Turner, H.: Nested expressions in logic programs (1997) (unpublished draft)Google Scholar
  11. LW92.
    Lifschitz, V., Woo, T.Y.C.: Answer sets in general nonmonotonic reasoning. In: Proceedings of the 3rd international conference on principles of knowledge representation and reasoning, KR 1992, San Mateo, CA, pp. 603–614. Morgan Kaufmann, San Francisco (1992)Google Scholar
  12. MT94.
    Marek, W., Truszczyński, M.: Revision specifications by means of programs. In: MacNish, C., Moniz Pereira, L., Pearce, D.J. (eds.) JELIA 1994. LNCS, vol. 838, pp. 122–136. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  13. MT95.
    Marek, W., Truszczyński, M.: Revision programming, database updates and integrity constraints. In: Y. Vardi, M., Gottlob, G. (eds.) ICDT 1995. LNCS, vol. 893, pp. 368–382. Springer, Heidelberg (1995)Google Scholar
  14. McCT95.
    McCain, N., Turner, H.: A causal theory of ramifications and qualifications. In: Martin, T., L. Ralescu, A. (eds.) IJCAI-WS 1995. LNCS, vol. 1188, pp. 1978–1984. Springer, Heidelberg (1997)Google Scholar
  15. MT98.
    Marek, W., Truszczyński, M.: Revision programming. Theoretical Computer Science 190(2), 241–277 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  16. NS96.
    Niemelä, I., Simons, P.: Efficient implementation of the well-founded and stable model semantics. In: Proceedings of JICSLP-1996. MIT Press, Cambridge (1996)Google Scholar
  17. PT97.
    Przymusinski, T.C., Turner, H.: Update by means of inference rules. Journal of Logic Programming 30(2), 125–143 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  18. SI95.
    Sakama, C., Inoue, K.: Embedding circumscriptive theories in general disjunctive programs. In: Marek, V.W., Truszczyński, M., Nerode, A. (eds.) LPNMR 1995. LNCS, vol. 928, pp. 344–357. Springer, Heidelberg (1995)Google Scholar
  19. Tur97.
    Turner, H.: Representing actions in logic programs and default theories: a situation calculus approach. Journal of Logic Programming 31(1-3), 245–298 (1997)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Victor Marek
    • 1
  • Inna Pivkina
    • 1
  • Mirosław Truszczyński
    • 1
  1. 1.Department of Computer ScienceUniversity of KentuckyLexingtonUSA

Personalised recommendations