Revision programming, database updates and integrity constraints

  • V. Wiktor Marek
  • Mirosław Truszczyński
Contributed Papers Nonmonotonic Semantics II
Part of the Lecture Notes in Computer Science book series (LNCS, volume 893)


We investigate revision programming, a logic-based mechanism for describing changes in databases and enforcing certain type of integrity constraints. We show that revisions justified by an initial database and a revision program can be computed by a sequential execution of the rules of the program (with subsequent check of the applicability of the rules). In general, a program may determine none, exactly one or many justified revisions of a given initial database. We exhibit two classes of programs, safe and stratified, with the property that for every initial database a unique justified revision exists. We study the complexity of basic problems associated with justified revisions. Although the existence problems are NP-complete, for safe and stratified programs justified revisions can be computed in polynomial time.


Logic Program Logic Programming Stable Model Integrity Constraint Safe Program 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ABW88]
    K. Apt, H.A. Blair, and A. Walker. Towards a theory of declarative knowledge. In J. Minker, editor, Foundations of deductive databases and logic programming, pages 89–142, Los Altos, CA, 1988. Morgan Kaufmann.Google Scholar
  2. [AN78]
    H. Andreka and I. Nemeti. The generalized completeness of Horn predicate logic as a programming language. Acta Cybernetica, 4:3–10, 1978.Google Scholar
  3. [Apt90]
    K. Apt. Logic programming. In J. van Leeuven, editor, Handbook of theoretical computer science, pages 493–574. MIT Press, Cambridge, MA, 1990.Google Scholar
  4. [AV90]
    S. Abiteboul and V. Vianu. Procedural languages for database queries and updates. Journal of Computer and System Sciences, 41:181–229, 1990.Google Scholar
  5. [AV91]
    S. Abiteboul and V. Vianu. DATALOG extensions for database queries and updates. Journal of Computer and System Sciences, 43:62–124, 1991.CrossRefGoogle Scholar
  6. [Cla78]
    K.L. Clark. Negation as failure. In H. Gallaire and J. Minker, editors, Logic and data bases, pages 293–322. Plenum Press, 1978.Google Scholar
  7. [DG84]
    W.F. Dowling and J.H. Gallier. Linear-time algorithms for testing the satisfiability of propositional horn formulae. Journal of Logic Programming, 3:267–284, 1984.Google Scholar
  8. [EG92]
    T. Eiter and G. Gottlob. On the complexity of propositional knowledge base revision, updates and counterfactuals. In ACM Symposium on Principles of Database Systems, pages 261–273, 1992.Google Scholar
  9. [EHK81]
    R.L. Epstein, R. Haas, and R.L. Kramer. Hierarchies of sets and degrees below 0′. In M. Lerman, J.H. Schmerl, and R.I. Soare, editors, Logic Year 1979–80, pages 32–48. Springer Verlag, 1981. S.L.N. in Mathematics 859.Google Scholar
  10. [Fit85]
    M. C. Fitting. Kripke-Kleene semantics for logic programs. Journal of Logic Programming, 2:295–312, 1985.CrossRefGoogle Scholar
  11. [GL88]
    M. Gelfond and V. Lifschitz. The stable semantics for logic programs. In R. Kowalski and K. Bowen, editors, Proceedings of the 5th international symposium on logic programming, pages 1070–1080, Cambridge, MA., 1988. MIT Press.Google Scholar
  12. [GL90]
    M. Gelfond and V. Lifschitz. Logic programs with classical negation. In D. Warren and P. Szeredi, editors, Proceedings of the 7th international conference on logic programming, pages 579–597, Cambridge, MA., 1990. MIT Press.Google Scholar
  13. [MT91]
    W. Marek and M. Truszczyński. Autoepistemic logic. Journal of the ACM, 38:588–619, 1991.Google Scholar
  14. [MT93]
    W. Marek and M. Truszczyński. Nonmonotonic logics; context-dependent reasoning. Berlin: Springer-Verlag, 1993.Google Scholar
  15. [MT94]
    W. Marek and M. Truszczyński. Revision specifications by means of revision programs. In Logics in AI. Proceedings of JELIA '94. Lecture Notes in Artificial Intelligence. Springer-Verlag, 1994.Google Scholar
  16. [MW88]
    S. Manchanda and D.S. Warren. A logic-based language for database updates. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 363–394, Los Altos, CA, 1988. Morgan Kaufmann.Google Scholar
  17. [Rei80]
    R. Reiter. A logic for default reasoning. Artificial Intelligence, 13:81–132, 1980.Google Scholar
  18. [Smu68]
    R.M. Smullyan. First-order logic. Berlin: Springer-Verlag, 1968.Google Scholar
  19. [Ull88]
    J.D. Ullman. Principles of Database and Knowledge-Base Systems. Computer Science Press, Rockville, MD, 1988.Google Scholar
  20. [vEK76]
    M.H. van Emden and R.A. Kowalski. The semantics of predicate logic as a programming language. Journal of the ACM, 23(4):733–742, 1976.CrossRefGoogle Scholar
  21. [VRS91]
    A. Van Gelder, K. A. Ross, and J.S. Schlipf. Unfounded sets and well-founded semantics for general logic programs. Journal of the ACM, 38:620–650, 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • V. Wiktor Marek
    • 1
  • Mirosław Truszczyński
    • 1
  1. 1.Department of Computer ScienceUniversity of KentuckyLexington

Personalised recommendations