| K.-K. Lau, M. Ornaghi, and S.- A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. ICLP'94 , pages 665--683. MIT Press, 1994. |
....a semantic approach and show that a schema S consists of a syntactic part, viz. a template T , and a semantic part. Template T is formalised as an open ( rst order) logic program in the context of the problem domain, characterised as a rst order axiomatisation, called a speci cation framework F (Lau and Ornaghi, 1994; Lau and Ornaghi, 1997a) which is the semantic part. F endows the schema S with a formal semantics, and enables us to de ne and reason about its correctness. In particular, we de ne a special kind of correctness for open programs such as templates, that we call steadfastness. A steadfast (open) ....
K.-K. Lau, M. Ornaghi, and S.- A. Tarnlund (1994). The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. ICLP'94, pages 665-683. MIT Press.
....(e.g. Smith [30] gives three strategies for a divide and conquer schema) depending This is of course a very subjective assessment. 13 on which parameter(s) are instantiated first (e.g. decompose first, or compose first, or both at the same time) Note that the halting criterion of synthesis [23] can also be pre computed here and hardwired into any strategy, for two reasons. First, we consider partial correctness and totality simultaneously. Second, at phase (ii) of a strategy, the specifications of all relations introduced by a schema are set up, and it can be guaranteed, by a theorem ....
....Future Work We have shown how correct and a priori correctly reusable (divide and conquer) programs can be synthesised, in a schema guided way, from formal specifications expressed in the first order language of a framework. Related work at the framework and steadfastness level is described in [20, 23, 24]. It focuses mainly on a model theoretic characterisation of the semantics of frameworks (and specifications) and steadfastness. This provides a sound theoretical basis for modular program development by composing or reusing frameworks as well as steadfast programs. In terms of synthesis, it uses ....
K.-K. Lau, M. Ornaghi, and S.- A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. ICLP'94 , pages 665--683. MIT Press, 1994.
....programs developed in M to be correct and (correctly) reusable, that is to remain correct in larger modules built up by composition with M. To achieve this, we must construct F and prog i 7 This definition is adequate, see Section 4.2 later. 8 The synthesis of steadfast programs is discussed in [8]. in special ways: prog i must be correct in M, and the framework F must be adequate, i.e. it must behave in a sound way with respect to composition. Note that we have two levels of rules. The first level contains the rules for program synthesis, that build up programs that are formally correct ....
K.K. Lau, M. Ornaghi and S.-. A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming, pages 665--683, MIT Press, 1994.
....our work in deductive synthesis of logic programs. We will explain a relation between specifications and programs based on model theoretic correctness, and illustrate it with the subset example. In our approach to deductive synthesis of (both standard and constraint) logic programs (see e.g. [7, 9]) a framework F is a full first order logical theory, a specification S of a (set of) relation(s) r is usually a set of first order formulas defined in F , and a logic program P is a Horn theory whose language contains the relations defined by S. Frameworks and programs have intended models. The ....
K.K. Lau, M. Ornaghi and S.- A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming , pages 665--683, MIT Press, 1994.
....with a program P in terms of either proof theory or model theory. In this section, we shall consider the model theoretic correctness relation between S and P , within a formal framework F , following our approach to deductive synthesis of (both standard and constraint) logic programs (see e.g. [10, 12]) In general, model theoretic correctness is based on the comparison between specifications and the intended models of programs (see e.g. 4] for a brief survey) The distinguishing feature of our approach is that specifications, programs and correctness are defined within a framework F (the use ....
K.-K. Lau, M. Ornaghi and S.- A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming , pages 665--683, MIT Press, 1994.
....S, and its correctness relation with a program P in terms of either proof theory or model theory. In this section, we shall consider the model theoretic correctness relation between S and P , following our approach to deductive synthesis of (both standard and constraint) logic programs (see e.g. [9, 11]) and illustrate it for the subset example. We shall define F to be a full first order logical theory, S a first order formula in F that defines a relation r, 6 and P a Horn theory whose language contains the relation r. Both F and P have intended models: the intended model of F is its ....
K.K. Lau, M. Ornaghi and S.- A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming , pages 665--683, MIT Press, 1994.
....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 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 author was partially supported by the European Union HCM project on Logic Program Synthesis and ....
....of the small theory can be run as a logic program. More interestingly, from the point of view of object oriented synthesis, specification frameworks may be open, i.e. not completely defined and hence parametric. In such frameworks, we can synthesise steadfast , or modular and reusable, programs [12]. A steadfast program can be correctly (re)used in a class of computation domains. Therefore steadfastness provides a basis for modular programming. Furthermore, specification frameworks (both open and closed) can be constructed, and thus maintained, in an incremental manner by using the result of ....
[Article contains additional citation context not shown here]
K.K. Lau, M. Ornaghi and S.-. A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming , pages 665--683, MIT Press, 1994.
....them. For lack of space, we shall assume some familiarity with basic logic programming terminology, as in e.g. 10] 2 Overview of Our Approach to Logic Program Synthesis Our approach to program synthesis in computational logic has the following key components (more details can be found in [6, 8]) ffl A (full) first order theory that axiomatises the problem domain, called a framework F . F has a model theoretic semantics, i.e. it has an intended model I. We will discuss frameworks in Section 3. ffl Two kinds of specifications: explicit specifications of new relations and ....
K.K. Lau, M. Ornaghi and S.- A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming , pages 665--683, MIT Press, 1994.
....use of background knowledge not captured by the if and only if definition of the specified relation. Such knowledge includes relevant theories, e.g. of data types, with induction schema, etc. ffl It does not provide an adequate means to specify properties other than correctness. For example, in [10], we show that if we want to synthesise steadfast programs, i.e. programs that are modular in the sense that they define program units that remain correct (and hence unchanged) when integrated into larger The first author was partially supported by the EC HCM project on Logic Program Synthesis ....
....was partially supported by the EC HCM project on Logic Program Synthesis and Transformation, contract no. 93 414. The second author was partially supported by MURST. programs, then we need to use axiomatisations which allow us to reason about program modularity and composition. In our work [9, 10], therefore, we have used specification frameworks to provide the background for deductive synthesis of logic programs. In this paper, we take a closer look at such frameworks. We shall explain what they are, and how they can be used to specify properties such as correctness and modularity (and ....
[Article contains additional citation context not shown here]
K.K. Lau, M. Ornaghi, and S.- A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. Van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming , pages 665--683. MIT Press, 1994.
....with a program P in terms of either proof theory or model theory. In this section, we shall consider the model theoretic 5 correctness relation between S and P , within a formal framework F , following our approach to deductive synthesis of (both standard and constraint) logic programs (see e.g. [10, 12]) In general, model theoretic correctness is based on the comparison between specifications and the intended models of programs (see e.g. 4] for a brief survey) The distinguishing feature of our approach is that specifications, programs and correctness are defined within a framework F (the use ....
K.K. Lau, M. Ornaghi and S.- A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming , pages 665--683, MIT Press, 1994.
.... based on termination properties [4, 5, 8] A similar approach has also been extended to general logic programs under various semantics (see [18] for a detailed discussion) In contrast, in this paper we propose a more flexible approach, which has been inspired by some of the ideas presented in [13] in the related field of logic program synthesis. In our approach, during the process of deriving new programs from old programs by transformation, one is allowed to apply transformation rules which guarantee that the following invariant is maintained: the least Herbrand model of the initial ....
K.-K. Lau, M. Ornaghi, and S.- A.Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming, pages 665--783. MIT Press, 1994.
....more unclear because a logic program itself is a Horn clause theory ( 10] and as such can double as a definition or specification. Indeed logic programs are often used as executable specifications, for instance in rapid prototyping. In our work in deductive synthesis of logic programs (see e.g. [16, 17]) we maintain a strict distinction between specifications and programs. We take the view that program synthesis should take place in a three tier formalism (with model theoretic semantics) At the bottom level, we have programs, for computing (specified) relations. In the middle, we have ....
....sublist(X; Y ) subset(fXg; fY g) 4) in (3) A and B are sets, whereas in (4) X and Y are lists. In the isoinitial model of SET , subset and sublist have a unique interpretation each. If and only if specifications are the most widely used forms of specifications in logic program synthesis, e.g. [8, 4, 11, 16, 17]. In these papers, 4 various techniques are described for systematically deriving standard logic programs ( 8, 4, 11, 16] or constraint logic programs ( 17] However, it should be noted that in e.g. 8, 4, 11] there is no (explicit) use of frameworks, or model theoretic semantics of ....
[Article contains additional citation context not shown here]
K.K. Lau, M. Ornaghi and S.- A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming , pages 665--683, MIT Press, 1994.
....more unclear because a logic program itself is a Horn clause theory ( 11] and as such can double as a definition or specification. Indeed logic programs are often used as executable specifications, for instance in rapid prototyping. In our work in deductive synthesis of logic programs (see e.g. [17, 18]) we maintain a strict distinction between specifications and programs. We take the view that program synthesis should take place in a three tier formalism (with model theoretic semantics) At the bottom level, we have programs , for computing (specified) relations. In the middle, we have ....
....sublist by: sublist(X; Y ) fXg fY g (4) in (3) A and B are sets, whereas in (4) X and Y are lists. In the isoinitial model of SET , subset and sublist have a unique interpretation each. Iff specifications are the most widely used form of specifications in logic program synthesis, e.g. [9, 5, 12, 17, 18]. In these papers, 8 various techniques are described for systematically deriving standard logic programs ( 9, 5, 12, 8 More details of these, and related papers, can be found in [6] 17] or constraint logic programs ( 18] However, it should be noted that in e.g. 9, 5, 12] there is no ....
K.K. Lau, M. Ornaghi and S.- A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming , pages 665--683, MIT Press, 1994.
No context found.
K.-K. Lau, M. Ornaghi, and S.- A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. ICLP'94 , pages 665--683. MIT Press, 1994.
....of split and merge , we can prove that the program (4) is steadfast wrt the specification (3) that is, it is correct for every interpretation of the internal parameters that 7 This definition is adequate, see Section 4.2 later. 8 The synthesis of steadfast programs is discussed in [8]. satisfies their partial definitions, as well as in every closed instance of LIST . Thus it can be composed with different programs for merge and split to yield different sorting algorithms based on merging, e.g. insertion sort, and with every program for deciding the framework parameter ....
K.K. Lau, M. Ornaghi and S.-. A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming , pages 665--683, MIT Press, 1994.
....an operational semantics based on the (open) completion of an open program. Finally, we apply our general results to program correctness with respect to parametric specifications. 1. INTRODUCTION In (both standard and constraint) logic programming, we have developed a formal approach (see e.g. [17, 19]) to constructing programs in which we can define and reason about the correctness and reusability of not only parametric programs but also generic classes (see [20, 15, 16] The cornerstone of our formalisation of reusability and correctness is the notion of steadfastness. In model theoretic ....
....of steadfastness to correctness with respect to parametric specifications in Section 6, and in the previous section we have briefly discussed related pieces of work and their differences with our approach. The idea of steadfastness is primarily motivated by our work in deductive synthesis [24, 17, 18] of logic programs. However, we believe that it is an important concept for formal software development in general. Indeed, steadfastness is a combination of modularity, reusability, and (formal) correctness. As such it provides a basis for hierarchical formal program development that can be used ....
K.-K. Lau, M. Ornaghi and S.-. A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11th Int. Conf. on Logic Programming , pages 665-683, MIT Press, 1994.
....develop them. For lack of space, we shall assume some familiarity with basic logic programming terminology, as in e.g. 10] 2 Overview of Our Approach to Logic Program Synthesis Our approach to program synthesis in computational logic has the following key components(more details can be found in [6, 8]) Part of this work was done during the first author s visit to Computing Science Department, Uppsala University, Sweden, supported by the European Union HCM project on Logic Program Synthesis and Transformation, contract no. 93 414. He wishes to thank Jonas Barklund for his invitation and ....
K.K. Lau, M. Ornaghi and S.- A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming, pages 665--683, MIT Press, 1994.
....P 0 Delta Delta Delta Pn , such that Pn , when the synthesis process halts, is totally correct wrt S. A detailed description of our approach, including criteria for correctness and for determining when to halt the synthesis process (with a totally correct program) can be found in [9]. Here we give a brief overview of its key elements that are relevant to this paper. 2.1 Specification Frameworks A framework is a first order theory that embodies all the relevant knowledge of the problem domain of interest. Such a theory could be regarded as an axiomatisation of a collection of ....
K.K. Lau, M. Ornaghi and S.- A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming , pages 665--683, MIT Press, 1994.
....incrementally. We can also show that the framework LIST (E lem; Delta) in Example 3.1 (defined in Example 2.1) is an adequate open framework. 4.2 Constructing and Reusing Steadfast Programs The synthesis of steadfast programs is beyond the scope of this paper. An account can be found in [14]. Here, we will show a hierarchy of steadfast programs that can be synthesised in an open framework in a module M, to illustrate how steadfast programs can be used as correct program units in M and all its instances. Example 4.6 In the framework LIST (E lem; Delta) from the specification ....
K.-K. Lau, M. Ornaghi and S.-. A. Tarnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. 11 th Int. Conf. on Logic Programming , pages 665--683, MIT Press, 1994.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC