A First-Order Language for Expressing Aliasing and Type Properties of Logic Programs
In this paper we study a first-order language that allows to express and prove properties reagarding the sharing of variables between non-ground terms and their types. The class of true formulas is proven to be decidable through a procedure of elimination of quantifiers and the language, with its proof procedure, is shown to have interesting applications in validation and debugging of logic programs. An interesting parallel is pointed out between the language of aliasing properties and the first order theories of Boolean algebras.
KeywordsVerification of logic programs languages of specification first-order logic
Unable to display preview. Download preview PDF.
- 1.A. Bossi and N. Cocco. Verifying Correctness of Logic Programs. In J. Diaz and F. Orejas, editors, Proc. TAPSOFT’89, pages 96–110, 1989.Google Scholar
- 2.J. Boye. Directional Types in Logic Programming. PhD thesis, University of Linköping, Computer Science Department, 1997.Google Scholar
- 5.C. C. Chang and H. J. Kreisler. Model Theory. Elsevier Science Publ., 1990. Third edition.Google Scholar
- 6.K. L. Clark. Predicate logic as a computational formalism. Res. Report DOC 79/59, Imperial College, Dept. of Computing, London, 1979.Google Scholar
- 7.L. Colussi and E. Marchiori. Proving Correctness of Logic Programs Using Axiomatic Semantics. In Proc. of the Eight International Conference on Logic Programming, pages 629–644. The MIT Press, Cambridge, Mass., 1991.Google Scholar
- 8.L. Colussi and E. Marchiori. Unification as Predicate Transformer. In Proc. of the Joint International Conference and Symposium on Logic Programming, pages 67–85. The MIT Press, Cambridge, Mass., 1992.Google Scholar
- 9.A. Cortesi, G. Filé, and W. Winsborough. Prop revisited: Propositional Formula as Abstract Domain for Groundness Analysis. In Proc. Sixth IEEE Symp. on Logic In Computer Science, pages 322–327. IEEE Computer Society Press, 1991.Google Scholar
- 11.P. Dart and J. Zobel. A regular type language for logic programs. In F. Pfenning, editor, Types in logic programming, pages 157–187. The MIT Press, Cambridge, Mass., 1992.Google Scholar
- 14.D. Jacobs and A. Langen. Accurate and Effcient Approximation of Variable Aliasing in Logic Programs. In E. Lusk and R. Overbeek, editors, Proc. North American Conf. on Logic Programming’89, pages 154–165. The MIT Press, Cambridge, Mass., 1989.Google Scholar
- 16.G. Levi and P. Volpe. Derivation of Proof Methods by Abstract Interpretation. (Submitted). Available at http://www.di.unipi.it/~volpep/papers.html, 1998.
- 18.E. Marchiori. A Logic for Variable Aliasing in Logic Programs. In G. Levi and M. Rodriguez-Artalejo, editors, Proceedings of the 4th International Conference on Algebraic and Logic Programming (ALP’94), number 850 in LNCS, pages 287–304. Springer Verlag, 1994.Google Scholar
- 19.E. Marchiori. Design of Abstract Domains using First-order Logic. In M. Hanus and M. Rodriguez-Artalejo, editors, Proceedings of the 5th International Conference on Algebraic and Logic Programming (ALP’96), number 1139 in LNCS, pages 209–223. Springer Verlag, 1996.Google Scholar