Automating Proofs of Integrity Constraints in Situation Calculus

Automated support for proving integrity constraints (ICs) on deductive database update specifications is developed using an induction theorem prover, Rewrite Rule Laboratory (RRL) [6]. The approach proposed by Reiter [9, 11, 10] for solving the frame problem for such applications in a language of the situation calculus is used as a basic framework. Integrity constraints are propositions that are expected to be true in every accessible state of a database, and they should be provable from the specification of the evolution of the database. Accessible states are defined by induction [12] as those reachable from the initial state by update actions whose execution is possible. Induction theorem provers can only reason about quantifier-free formulas (i.e., universally quantified formulas) whereas in order to express integrity constraints, quantifiers may be used. It is shown that by making use of the fact that in relational data base applications, domain of objects under consideration is finite, such ICs expressed using quantifiers can be mechanically translated into quantifier-free formulas by introducing new predicates and by explicitly building domains of objects involved in updates. Bridge lemmas connecting the semantics of the new predicates to the fluents used to express integrity constraints can be mechanically generated and automatically proved in RRL. An interesting feature of the proposed approach is that mechanically generated proofs of integrity constraints have a structure similar to manually-generated proofs.

[1]  Robert S. Boyer,et al.  The addition of bounded quantification and partial functions to a computational logic and its theorem prover , 1988 .

[2]  Raymond Reiter,et al.  Formalizing Database Evolution in the Situation Calculus , 1992, FGCS.

[3]  Raymond Reiter,et al.  Towards a Logical Reconstruction of Relational Database Theory , 1982, On Conceptual Modelling.

[4]  Robert S. Boyer,et al.  A computational logic handbook , 1979, Perspectives in computing.

[5]  Raymond Reiter,et al.  On Specifying Database Updates , 1995, J. Log. Program..

[6]  Deepak Kapur,et al.  An Overview of Rewrite Rule Laboratory (RRL) , 1989, RTA.

[7]  Raymond Reiter,et al.  Proving Properties of States in the Situation Calculus , 1993, Artif. Intell..

[8]  John McCarthy,et al.  SOME PHILOSOPHICAL PROBLEMS FROM THE STANDPOINT OF ARTI CIAL INTELLIGENCE , 1987 .

[9]  David W. Stemple,et al.  Automatic verification of database transaction safety , 1989, ACM Trans. Database Syst..

[10]  Deepak Kapur,et al.  A Mechanizable Induction Principle for Equational Specifications , 1988, CADE.

[11]  Leopoldo E. Bertossi,et al.  SCDBR: A Reasoner for Specifications in the Situation Calculus of Database Updates , 1994, ICTL.

[12]  Raymond Reiter,et al.  The Frame Problem in the Situation Calculus: A Simple Solution (Sometimes) and a Completeness Result for Goal Regression , 1991, Artificial and Mathematical Theory of Computation.

[13]  Deepak Kapur,et al.  Constructors can be Partial too , 1997 .

[14]  Deepak Kapur,et al.  First-Order Theorem Proving Using Conditional Rewrite Rules , 1988, CADE.