Results 1 - 10
of
10
On Correct Program Schemas
"... We present our work on the representation and correctness of program schemas, in the context of logic program synthesis. Whereas most researchers represent schemas purely syntactically as higher-order expressions, we shall express a schema as an open first-order theory that axiomatises a probl ..."
Abstract
-
Cited by 17 (11 self)
- Add to MetaCart
We present our work on the representation and correctness of program schemas, in the context of logic program synthesis. Whereas most researchers represent schemas purely syntactically as higher-order expressions, we shall express a schema as an open first-order theory that axiomatises a problem domain, called a specification framework, containing an open program that represents the template of the schema. We will show that using our approach we can define a meaningful notion of correctness for schemas, viz. that correct program schemas can be expressed as parametric specification frameworks containing templates that are steadfast, i.e. programs that are always correct provided their open relations are computed correctly.
Schema-Guided Synthesis of Constraint Logic Programs
- In D.F. Redmiles and B. Nuseibeh (eds), Proc. of ASE'98
, 1998
"... By focusing on the family of assignment problems (such as graph colouring, n-Queens, etc), we show how to adapt D.R. Smith's Kids approach for the synthesis of constraint programs, rather than applicative Refine programs with explicit constraint propagation and pruning code. Synthesis is guided by a ..."
Abstract
-
Cited by 10 (8 self)
- Add to MetaCart
By focusing on the family of assignment problems (such as graph colouring, n-Queens, etc), we show how to adapt D.R. Smith's Kids approach for the synthesis of constraint programs, rather than applicative Refine programs with explicit constraint propagation and pruning code. Synthesis is guided by a global search program schema and can be fully automated with little effort, due to some innovative ideas. CLP(Sets) programs are equivalent in expressiveness to our input specifications. After optimisations, the synthesised programs would be competitive with hand-crafted ones.
Synthesis of programs in computational logic
- PROGRAM DEVELOPMENT IN COMPUTATIONAL LOGIC
, 2004
"... Since the early days of programming and automated reasoning, researchers have developed methods for systematically constructing programs from their specifications. Especially the last decade has seen a flurry of activities including the advent of specialized conferences, such as LOPSTR, covering the ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Since the early days of programming and automated reasoning, researchers have developed methods for systematically constructing programs from their specifications. Especially the last decade has seen a flurry of activities including the advent of specialized conferences, such as LOPSTR, covering the synthesis of programs in computational logic. In this paper we analyze and compare three state-of-the-art methods for synthesizing recursive programs in computational logic. The three approaches are constructive/deductive synthesis, schema-guided synthesis, and inductive synthesis. Our comparison is carried out in a systematic way where, for each approach, we describe the key ideas and synthesize a common running example. In doing so, we explore the synergies between the approaches, which we believe are necessary in order to achieve progress over the next decade in this field.
Towards Schema-Guided Compilation of Set Constraint Programs
- Math. Dept., Univ. of Parma, Italy
, 1999
"... This paper is organised as follows. In Section 2, we discuss our set constraint programming language as well as (syntactic forms of programs of) the target language clp(FD). Then, in Section 3, we introduce the semantic notion of program schema, which captures entire families of similar programs. We ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
This paper is organised as follows. In Section 2, we discuss our set constraint programming language as well as (syntactic forms of programs of) the target language clp(FD). Then, in Section 3, we introduce the semantic notion of program schema, which captures entire families of similar programs. We are then set to explain, in Section 4, our notion of schema-guided compilation. Finally, in Section 5, we conclude, compare with related work, and discuss our directions of future work. Disclaimer, Conventions, and Notation
A Unified View of Programming Schemas and Proof Methods
- Proceedings 9th International Workshop on Logic Program Synthesis and Transformation (LOPSTR’99), LNCS, Vol. 1817, Venezia, Italy, ISBN 3–540–67628–7
, 1999
"... this paper. References ..."
A Step Towards a Methodology for Mercury Program Construction: A Declarative Semantics for Mercury
, 1998
"... Declarative methodologies for logic program construction have been proposed for Prolog. They roughly consist of 1) building a purely logical version of the program based on a clear declarative semantics and 2) performing a number of checks about modes, types and multiplicity. We plan to define a sim ..."
Abstract
- Add to MetaCart
Declarative methodologies for logic program construction have been proposed for Prolog. They roughly consist of 1) building a purely logical version of the program based on a clear declarative semantics and 2) performing a number of checks about modes, types and multiplicity. We plan to define a similar methodology for Mercury. This choice is motivated by the fact that type, mode, and multiplicity must be explicitly specified in Mercury, allowing the compiler to perform the second step above. In order to propose a methodology to perform the first step, we need a declarative semantics for Mercury, which has not yet been explicitly defined. The goal of the paper is to propose such a semantics pursuing simplicity and naturalness. We chose to define the semantics with respect to a unique interpretation domain, called the "universe", which is a kind of higher-order version of the Herbrand universe. Based on this simple domain, the denotation of terms and goals is naturally defined as well a...
An Abstract Formulation of Correct Schemas for Program Synthesis
, 1999
"... Program schemas should capture not only structured program design principles, but also domain knowledge, both of which are of crucial importance for hierarchical program synthesis. However, most researchers represent schemas as purely syntactic constructs, which can provide only a program template, ..."
Abstract
- Add to MetaCart
Program schemas should capture not only structured program design principles, but also domain knowledge, both of which are of crucial importance for hierarchical program synthesis. However, most researchers represent schemas as purely syntactic constructs, which can provide only a program template, bu...
Schema-Guided Synthesis of Constraint Logic Programs
, 1998
"... By focusing on the families of assignment and permutation problems (such as graph colouring and n-Queens), we show how to adapt D.R. Smith's KIDS approach for the synthesis of constraint programs (with implicit constraint satisfaction code thus), rather than applicative Refine programs with explicit ..."
Abstract
- Add to MetaCart
By focusing on the families of assignment and permutation problems (such as graph colouring and n-Queens), we show how to adapt D.R. Smith's KIDS approach for the synthesis of constraint programs (with implicit constraint satisfaction code thus), rather than applicative Refine programs with explicit constraint propagation and pruning code. Synthesis is guided by a global search schema and can be fully automated with little effort, due to some innovative ideas. CLP(Sets) programs are equivalent in expressiveness to our input specifications. The synthesised CLP(FD) programs would be, after optimising transformations, competitive with carefully hand-crafted ones. 1. Introduction This work is inspired by D.R. Smith's research on synthesising global search (GS) programs (in the Refine language) from first-order logic specifications (also in Refine) [12, 13, 14]. The basic idea of GS is to represent and manipulate sets of candidate solutions. Starting from an initial set that contains all ...
Schema-Guided Synthesis of Constraint Logic Programs
, 1999
"... Contents 1 Introduction 1 2 Program Synthesis and Transformation 2 2.1 Synthesis by Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Synthesis by Constructive Proof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 Schema-guided Synthesis . . . ..."
Abstract
- Add to MetaCart
Contents 1 Introduction 1 2 Program Synthesis and Transformation 2 2.1 Synthesis by Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Synthesis by Constructive Proof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 Schema-guided Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3 Constraint (Logic) Programming 5 4 Schema-Guided Synthesis of Global Search Programs 6 4.1 Global Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2 Specification Schemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.3 A Global Search Program Schema for CLP . . . . . . . . . . . . . . . . . . . . . . . . 8 4.3.1 The Global Search Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.3.2 The Global Search Axioms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.3.3 Correctness of the Global Sear
Schema-Guided Synthesis of CLP Programs
"... Introduction and Specifications This work is inspired by D.R. Smith's research on synthesising global search (GS) programs (in the Refine language) from first-order logic specifications (also in Refine) [8--10]. We concentrate on synthesising constraint logic programs (CLP) [6] instead. We thus onl ..."
Abstract
- Add to MetaCart
Introduction and Specifications This work is inspired by D.R. Smith's research on synthesising global search (GS) programs (in the Refine language) from first-order logic specifications (also in Refine) [8--10]. We concentrate on synthesising constraint logic programs (CLP) [6] instead. We thus only have to synthesise code that (incrementally) poses the constraints, because the actual constraint propagation and pruning are performed by the CLP system. We here only tackle the family of decision assignment problems; the families of optimisation assignment problems, decision permutation problems, and optimisation permutation problems are covered in [4]. Specifications are the input to program synthesis. In decision assignment problems, a mapping M from a list V into the integer interval 1::W has to be found, satisfying certain constraints. Their formal

