A First-Order Language for Expressing Aliasing and Type Properties of Logic Programs

  • Paolo Volpe
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1503)

Abstract

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.

Keywords

Verification of logic programs languages of specification first-order logic 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 2.
    J. Boye. Directional Types in Logic Programming. PhD thesis, University of Linköping, Computer Science Department, 1997.Google Scholar
  3. 3.
    J. Boye and J. Maluszynski. Directional Types and the Annotation Method. Journal of Logic Programming, 33(3):179–220, 1997.MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    D. Cantone, E. G. Omodeo, and A. Policriti. The Automation of Syllogistic II. Optimization and Complexity Issues. Journal of Automated Reasoning, 6(2):173–187, 1990.MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    C. C. Chang and H. J. Kreisler. Model Theory. Elsevier Science Publ., 1990. Third edition.Google Scholar
  6. 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. 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. 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. 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
  10. 10.
    P. Dart and J. Zobel. Effcient run-time type checking of typed logic program. Journal of Logic Programming, 14(1–2):31–70, 1992.MATHCrossRefMathSciNetGoogle Scholar
  11. 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
  12. 12.
    P. Deransart. Proof Methods of Declarative Properties of Definite Programs. Theoretical Computer Science, 118(2):99–166, 1993.MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    W. Drabent and J. Maluszynski. Inductive Assertion Method for Logic Programs. Theoretical Computer Science, 59(1):133–155, 1988.CrossRefMathSciNetMATHGoogle Scholar
  14. 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
  15. 15.
    G. Kreisel and J. L. Krivine. Elements of Mathematical Logic (Model Theory). North-Holland, Amsterdam, 1967.MATHGoogle Scholar
  16. 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.
  17. 17.
    J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, 1987. Second edition.MATHGoogle Scholar
  18. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Paolo Volpe
    • 1
  1. 1.Dipartimento di InformaticaUniversità di PisaPisaItaly

Personalised recommendations