CLP(x) for Proving Program Properties

Part of the Applied Logic Series book series (APLS, volume 3)


Various proof methods have been proposed to solve the implication problem, i.e. proving that properties of the form: ∀(P → Q) - where P and Q denote conjunctions of atoms - are logical consequences of logic programs. Nonetheless, it is a commonplace to say that it is still quite a difficult problem. Besides, the advent of the constraint logic programming scheme constitutes not only a major step towards the achievement of efficient declarative logic programming systems but also a new field to explore. By recasting and simplifying the implication problem in the constraint logic programming framework, we define a generic proof method for the implication problem, which we prove sound from the algebraic point of view. We present four examples using CLP(ℕ), CLP(RT), CLP(Σ*) and RISC- CLP(RɛAℒ). The logical point of view of the constraint logic programming scheme enables the automation of the proof method. At last, we prove the unsolvability of the implication problem, we point out the origins of the incompleteness of the proposed proof method and we identify two classes of programs for which we give a decision procedure for the implication problem.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. A. Aiba, A. Sakai, Y. Sato, D.J. Hawley, and R. Hasegawa. Constraint logic programming language CAL. Proc. of FGCS’88, pages 263–276, 1988.Google Scholar
  2. K.L. Clark. Predicate logic as a computational formalism. Technical Report Doc 79/59, Logic Programming Group, Imperial College, London, 1979.Google Scholar
  3. A. Colmerauer. Equations and inequations on finite and infinite trees. Proc. of FGCS’84, pages 85–99, 1984.Google Scholar
  4. A. Colmerauer. An introduction to Prolog III. CACM, 33 (7):70–90, July 1990.CrossRefGoogle Scholar
  5. L. Colussi and E. Marchiori. Proving correctness of logic programs using axiomatic semantics. In Logic Programming - Proceedings of 8th International Conference, pages 629–642. MIT press, 1991.Google Scholar
  6. Contejean. Solving linear diophantine constraints incrementally. Proc. of ICLP’93, 1993.Google Scholar
  7. P. Deransart. Proof methods of declarative properties of definite programs. Theoretical Computer Science, pages 99–166, 1993.Google Scholar
  8. M. Dincbas, P. Van Hentenrick, H. Simonis, A. Aggoun, T. Graf, and F. Berthier. The constraint logic programming language CHIP. Proc. of FGCS’88, pages 693–702, 1988.Google Scholar
  9. L. Fribourg and M. Veloso Peixoto. Bottom-up evaluation of datalog programs with arithmetic constraints: The case of 3 recursive rules. Technical report, L.I.E.N.S, France, 1994.Google Scholar
  10. R. Giacobazzi, S.K. Debray, and G. Levi. A generalized semantics for constraint logic programs. Proc. of FGCS’92, pages 581–591, 1992.Google Scholar
  11. S. Grigorieif. Décidabilité et complexité des théories logiques. Logique et Informatique: une introduction, Collection Didactique, INRIA, pages 7–97, 1989.Google Scholar
  12. D. Hofstadter. Godel, Escher, Bach: an Eternal Golden Braid. Basic Books, Inc., 1979.Google Scholar
  13. H. Hong. Non-linear real constraints in constraint logic programming. In LNCS 632, pages 201–212. Springer Verlag, 1992.Google Scholar
  14. J. Jaffar and J.L. Lassez. Constraint logic programming. Technical Report 74, Monach University, Australia, 1986.Google Scholar
  15. J. Jaffar and M.J. Maher. Constraint logic programming: asurvev. J. Logic Programming, pages 503–581, 1994.Google Scholar
  16. J. Jaffar, S. Michaylov, P.J. Stuckey, and R.H.C. Yap. The CLP(R) language and system. Proc. of the 4th ICLP, 1987.Google Scholar
  17. P.T. Johnstone. Notes on logic and set theory. Cambridge mathematical textbooks. Cambridge University Press, 1986.Google Scholar
  18. T. Kanamori and H. Fujita. Formulation of induction formulas in verification of prolog programs. Proc. of the 8th CADE, pages 281–299, 1986.Google Scholar
  19. J.M. Lever. Proving program properties by means of SLS-resolution. Proc. of the 8th ICLP, pages 614–628, 1991.Google Scholar
  20. J.W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987.CrossRefzbMATHGoogle Scholar
  21. Z. Manna. Mathematical theory of computation. McGraw-Hill, 1974.zbMATHGoogle Scholar
  22. F. Mesnard et al. CLP(Q) for proving interargument relations. In LNCS 649, pages 308–320. Springer Verlag, 1992.Google Scholar
  23. M.L. Minsky. Recursive unsolvability of post’s problem of ‘tag’ and other topics in the theory of Turing machines. Ann. of Math., 74:437–455, 1961.CrossRefzbMATHMathSciNetGoogle Scholar
  24. S. Renault. Generalized extended execution for normal programs. In LNCS 883. Springer Verlag, 1994.Google Scholar
  25. J.C. Shepherdson. Unsolvable problems for SLDNF resolution. J. Logic Programming, pages 19–22, 1991.Google Scholar
  26. C. Walinsky. CLP(Σ*): Constraint logic programming with regular sets. Proc. of the 6th ICLP, pages 181–196,1989.Google Scholar

Copyright information

© Springer Science+Business Media New York 1996

Authors and Affiliations

  1. 1.IremiaUniversiié de La RéunionSaint-DenisFrance

Personalised recommendations