Abstract
This paper presents two proof systems for the equivalence of programs. The language concerned is CLP to which the universal quantifier is added (CLP∀). Both systems are based on first order classical logic.
The first uses an induction rule and allows one to prove that the set of finite successes of a program is included in another program’s corresponding set. The second uses a coinduction rule for proving the inclusion of the sets of infinite successes which contain the finite successes.
Finally we show that the proof systems are equivalent under some natural conditions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aczel, P.: An Introduction to Inductive Definitions. Barwise K., Ed.. Handbook of Mathematical Logic. North Holland, 1977.
Barras, B. et al.: The Coq Proof Assistant. Reference Manual. http://coq.inria.fr/doc/main.html.
Church, A.: A Formulation of the Simple Theory of Types. Journal of Symbolic Logic, 5:56–68, 1940.
Craciunescu, S.: Preuves de Programmes Logiques par Induction et Coinduction (Proofs of Logic Programs by Induction and Coinduction). In Actes de 10e Journees Francophones de Programmation en Logique et de Programmation par Contraintes, (JFPLC’2001), Paris, France.
de Boer, F. S., Gabbrielli, M., Marchiori, E., Palamidessi, C: Proving Concurrent Constraint Programs Correct. ACM-TOPLAS 19(5):685–725, 1997.
de Boer, F. S., Palamidessi, C.: A process algebra for concurrent constraint programming. In Proc. Joint Int’l Conf. and Symp. on Logic Programming, pages 463–477, The MIT Press, 1992.
Fages, F., Ruet, P., Soliman, S.: Linear concurrent constraint programming: operational and phase semantics. Information and Computation no. 164, 2001.
Gordon, J. C., Melham, T. F. (eds.): Introduction to HOL. Cambridge University Press 1993 ISBN 0-521-441897.
Jaffar, J., Lassez, J.-L. Constraint Logic Programming. Proceedings of Principles of Programming Languages, 1987, Munich, 111–119.
Kaufmann, M., Manolios, P., Moore, J. S.: Computer-Aided Reasoning: An Approach Kluwer Academic Publishers, June, 2000. (ISBN 0-7923-7744-3).
Maher, M. J.: Adding Constraints to Logic-based Formalisms, in: The Logic Programming Paradigm: a 25 Years Perspective, K. R. Apt, V. Marek, M. Truszczynski and D. S. Warren (Eds.), Springer-Verlag, Artificial Intelligence Series, 313–331, 1999.
McDowell, R., Miller, D.: Cut-Elimination for a Logic with Definitions and Induction. Theoretical Computer Science, 232: 91–119, 2000.
Paulson, L. C.: The Isabelle reference manual. Technical Report 283, University of Cambridge, Computer Laboratory, 1993. ftp://ftp.cl.cam.ac.uk/ml/ref.dvi.gz.
Saraswat, V., Rinard, M.: Concurrent constraint programming. ACM Symposium on Principles of Programming Languages 1990, San Francisco.
Stark, R. F.: The theoretical foundations of LPTP (a logic program theorem prover). Journal of Logic Programming, 36(3):241–269, 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Craciunescu, S. (2002). Proving the Equivalence of CLP Programs. In: Stuckey, P.J. (eds) Logic Programming. ICLP 2002. Lecture Notes in Computer Science, vol 2401. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45619-8_20
Download citation
DOI: https://doi.org/10.1007/3-540-45619-8_20
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43930-1
Online ISBN: 978-3-540-45619-3
eBook Packages: Springer Book Archive