## A Formal Approach to Deductive Synthesis of Constraint Logic Programs (1995)

Venue: | Proc. 1995 Int. Logic Programming Symp |

Citations: | 8 - 6 self |

### BibTeX

@INPROCEEDINGS{Lau95aformal,

author = {Kung-kiu Lau and Mario Ornaghi},

title = {A Formal Approach to Deductive Synthesis of Constraint Logic Programs},

booktitle = {Proc. 1995 Int. Logic Programming Symp},

year = {1995},

pages = {543--557},

publisher = {MIT Press}

}

### OpenURL

### Abstract

Formal program synthesis is concerned with deriving programs that are (formally) correct wrt their specifications, and is therefore of crucial importance to formal development of verifiably correct software. Declarative paradigms such as logic programming are particularly suitable for program synthesis, and we have formulated a formal approach to synthesising standard logic programs. Our approach is object-oriented in the sense that it allows the synthesis of modular, reusable, and hence maintainable programs. In this paper, we propose a formal approach to synthesising constraint logic programs based on our current work. We will show that this approach can be used to synthesise modular and reusable CLP programs. An integral part of this paper is the introduction of an abstract semantics to reason about the synthesis of CLP programs. 1 Introduction Program synthesis is concerned with deriving programs that are correct wrt their specifications. A formal approach to synthesis guarantees ...

### Citations

960 |
Negation as failure
- Clark
- 1978
(Show Context)
Citation Context ...ect , i.e. if and when the synthesis process can successfully halt. We call such a criterion a halting criterion. Now we state these criteria. They are based on the completion Comp(P ) of a program P =-=[4, 9]-=-, and are similar to our criteria for synthesis in standard LP [12]. Consider synthesis in the constraint specification framework F T containing the constraint theory T . Then: ffl for partial correct... |

785 | Constraint Logic Programming
- Jaffar, Lassez
- 1987
(Show Context)
Citation Context ...usable (and hence maintainable) programs. Moreover, the formal framework that underlies our approach is very general, and it should be equally applicable to the synthesis of constraint logic programs =-=[8, 9]-=-. In this paper, we propose a formal approach to deductive synthesis of CLP programs, based on our work in standard LP. Our approach to synthesis in standard LP is deductive [10, 12, 11], i.e. it iter... |

768 | Constraint Logic Programming: A Survey
- Jaffar, Maher
- 1994
(Show Context)
Citation Context ...usable (and hence maintainable) programs. Moreover, the formal framework that underlies our approach is very general, and it should be equally applicable to the synthesis of constraint logic programs =-=[8, 9]-=-. In this paper, we propose a formal approach to deductive synthesis of CLP programs, based on our work in standard LP. Our approach to synthesis in standard LP is deductive [10, 12, 11], i.e. it iter... |

451 |
Model Theory
- Chang, Keisler
- 1990
(Show Context)
Citation Context ...semantics, the intended model of a theory F is the isoinitial model 4 (when it exists), namely a model I of F such that for every other model M of F , there is a unique isomorphic embedding (see e.g. =-=[3]-=-) of I in M . This semantics is thus similar to the more well-known initial semantics popularly used in the algebraic approach to ADT's. 5 An initial model J of a theory F is such that for every other... |

224 |
Algebraic Specification
- Wirsing
- 1990
(Show Context)
Citation Context ...cification framework F , we can specify many different problems, i.e. relations to be computed. 4 More precisely, all isoinitial models are isomorphic, and the intended model is one such model. 5 See =-=[15]-=- for a survey, and [1] for an extensive comparison of the two kinds of semantics. A specification consists of a definition axiom D r of the form 8x(r(x) $ R(x)), and a set G = fr( 1 ); : : : ; r( j );... |

84 | Modularity in logic programming
- Bugliesi, Lamma, et al.
- 1994
(Show Context)
Citation Context ...t point that we can prove steadfastness in CLP. Moreover, steadfastness is the natural characterisation of correctness of CLP modules. In this respect, it is related to the compositional semantics of =-=[2, 7]-=-. Thus we have shown that our approach can be used to synthesise reusable CLP modules. More interestingly, parameters of an open constraint specification framework can themselves be instantiated by co... |

73 |
Negation in Logic Programming
- Shepherdson
- 1988
(Show Context)
Citation Context ... (first-order) theory with the following key properties: ffl Freeness . A subset of the constant and function symbols of F , which we shall call the construction symbols , satisfy the freeness axioms =-=[14]-=-. ffl Reachability . There is at least one model of F reachable by the construction symbols. This means that every element of the domain of the model is represented by a ground term using the construc... |

38 | Logic program synthesis. The
- DeVille, Lau
- 1994
(Show Context)
Citation Context ...ntended models. However, in this paper, for lack of space, we will concentrate on closed frameworks, and only briefly consider open frameworks in Section 5. 2 A survey of such methods can be found in =-=[5]-=-. 3 Our semantics is a contribution to the semantics of CLP programs. In this paper, however, we will consider only constraint domains without limit elements. 2.1 Closed Frameworks A first-order theor... |

28 | Observable semantics for Constraint Logic Programs
- Gabbrielli, Dore, et al.
- 1995
(Show Context)
Citation Context ...t point that we can prove steadfastness in CLP. Moreover, steadfastness is the natural characterisation of correctness of CLP modules. In this respect, it is related to the compositional semantics of =-=[2, 7]-=-. Thus we have shown that our approach can be used to synthesise reusable CLP modules. More interestingly, parameters of an open constraint specification framework can themselves be instantiated by co... |

23 |
On the power of model theory in specifying abstract data types and in capturing their recursiveness. Fundamenta Informaticae VI(2):127--170
- Bertoni, Mauri, et al.
- 1983
(Show Context)
Citation Context ...axioms, for reasoning purposes. Furthermore, F should have a good semantics to allow us to reason precisely and soundly about specifications, synthesis and programs. We have used isoinitial semantics =-=[1]-=- since we believe it is the right choice for this purpose. In this section, we give a brief description of the main features of specification frameworks with isoinitial semantics. More details can be ... |

23 | On specification frameworks and deductive synthesis of logic programs
- Lau, Ornaghi
(Show Context)
Citation Context ...aint logic programs [8, 9]. In this paper, we propose a formal approach to deductive synthesis of CLP programs, based on our work in standard LP. Our approach to synthesis in standard LP is deductive =-=[10, 12, 11]-=-, i.e. it iteratively derives clauses for a program from its specification. The synthesis process starts from a specification that is defined in the context of a (first-order) theory 1 The first autho... |

15 | Practical Advantages of Declarative Programming - Lloyd - 1994 |

12 | The halting problem for deductive synthesis of logic programs
- Lau, Ornaghi, et al.
- 1994
(Show Context)
Citation Context ...aint logic programs [8, 9]. In this paper, we propose a formal approach to deductive synthesis of CLP programs, based on our work in standard LP. Our approach to synthesis in standard LP is deductive =-=[10, 12, 11]-=-, i.e. it iteratively derives clauses for a program from its specification. The synthesis process starts from a specification that is defined in the context of a (first-order) theory 1 The first autho... |

7 | An incompleteness result for deductive synthesis of logic programs - Lau, Ornaghi - 1993 |

4 |
Construction of CLP programs
- Deville, Hentenryck
- 1992
(Show Context)
Citation Context ... Our approach therefore provides a basis for object-oriented CLP software engineering. 6 Conclusion To date, the only work (as far as we are aware) on constructing CLP programs from specifications is =-=[6]-=-. However, their approach is different from ours in that it is informal, whereas ours is completely formal, the advantage of a formal approach being that it can formally verify correctness. In our app... |