Proving Correctness of Constraint Logic Programs with Dynamic Scheduling

A general framework based on Hoare logic is introduced for specifying and reasoning about Constraint Logic Programs with dynamic scheduling. The framework consists of a mixed formalism of programs in a ccp-like language, on the one hand, and correctness properties of the Hoare logic, on the other hand. In this formalism delay conditions are viewed as a specific class of correctness properties. In the construction of the proof-system we follow the lines of a previous proof-system we developed for concurrent constraint programming, which was sound, but not complete (for ccp). Due to the different kind of choice used in CLP, on the contrary, the system considered here is both sound and complete.

[1]  Prakash Panangaden,et al.  The semantic foundations of concurrent constraint programming , 1991, POPL '91.

[2]  Krzysztof R. Apt Declarative Programming in Prolog , 1993, ILPS.

[3]  Krzysztof R. Apt,et al.  Verification of Logic Programs with Delay Declarations , 1995, AMAST.

[4]  A. Tarski,et al.  Cylindric Algebras. Part II , 1988 .

[5]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[6]  Kim Marriott,et al.  Analyzing logic programs with dynamic scheduling , 1994, POPL '94.

[7]  John W. Lloyd,et al.  The Gödel programming language , 1994 .

[8]  Radha Jagadeesan,et al.  Angelic Non-Determinism in Concurrent Constraint Programming , 1991 .

[9]  Maurizio Gabbrielli,et al.  Proving concurrent constraint programs correct , 1997, TOPL.

[10]  Stefan Lüttringhaus-Kappel,et al.  Control Generation for Logic Programs , 1993, ICLP.

[11]  Elena Marchiori,et al.  Proving Termination of Logic Programs with Delay Declarations , 1995, ILPS.

[12]  Dana S. Scott,et al.  Some Domain Theory and Denotational Semantics in Coq , 2009, TPHOLs.

[13]  Maurizio Gabbrielli,et al.  Proving concurrent constraint programs correct , 1994, POPL '94.

[14]  Frank S. de Boer,et al.  An Algebraic Perspective of Constraint Logic Programming , 1997, J. Log. Comput..

[15]  Nicolas Beldiceanu,et al.  Constraint Logic Programming , 1997 .

[16]  Frank S. de Boer,et al.  A Fully Abstract Model for Concurrent Constraint Programming , 1991, TAPSOFT, Vol.1.

[17]  Stephen A. Cook,et al.  Soundness and Completeness of an Axiom System for Program Verification , 1978, SIAM J. Comput..

[18]  Mats Carlsson,et al.  SICStus Prolog User''s Manual , 1993 .

[19]  Maurizio Gabbrielli,et al.  Compositional analysis for concurrent constraint programming , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[20]  M. Wallace,et al.  Two problems-two solutions: one system-ECLIPSE , 1993 .

[21]  Lee Naish,et al.  Negation and Control in Prolog , 1986, Lecture Notes in Computer Science.

[22]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[23]  Vijay A. Saraswat,et al.  Concurrent constraint programming , 1989, POPL '90.