The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refinement that can be used to develop programs from specifications. In a refinement, the refined program must return the same set of answers as the original program, because the meaning of a logic program is defined in terms of all the answers computed by the program. “Don't know” non-determinism is supported in the language by allowing more than one answer. In the traditional refinement calculus for imperative programs, there is another form of non-determinism, called “don't care” (or demonic) non-determinism, which allows non-determinism to be eliminated during refinement. Thus, non-deterministic specifications can be refined to deterministic ...
The refinement calculus provides a framework for the stepwise development of imperative programs fro...
This paper addresses the starting point of the refinement process: the naive program. Although a nai...
Program specialization is a collection of program transformation techniques for improving program ef...
The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refi...
AbstractThe refinement calculus for logic programs consists of a wide-spectrum language and a notion...
Existing refinement calculi provide frameworks for the stepwise development of imperative programs f...
Data refinement is the transformation in a program of one data type to another. With the obvious for...
Abstract. We show that non-determinism simplifies coding certain problems into programs. We define a...
The refinement calculus provides a framework for the stepwise development of imperative programs fro...
Mercury is a new purely declarative logic programming language. The Mercury determinism system allow...
AbstractThis paper introduces nondeterminism into logic programs with negation by associating functi...
In this paper we demonstrate a refinement calculus for logic programs, which is a framework for deve...
We make explicit a connection between the “unwind property” and first-order logics of programs. Usin...
Can the semantics of a program be represented as a single formula? We show that one formula is insuf...
The question how knowledge can be represented by means of logic programs with negation has been a dr...
The refinement calculus provides a framework for the stepwise development of imperative programs fro...
This paper addresses the starting point of the refinement process: the naive program. Although a nai...
Program specialization is a collection of program transformation techniques for improving program ef...
The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refi...
AbstractThe refinement calculus for logic programs consists of a wide-spectrum language and a notion...
Existing refinement calculi provide frameworks for the stepwise development of imperative programs f...
Data refinement is the transformation in a program of one data type to another. With the obvious for...
Abstract. We show that non-determinism simplifies coding certain problems into programs. We define a...
The refinement calculus provides a framework for the stepwise development of imperative programs fro...
Mercury is a new purely declarative logic programming language. The Mercury determinism system allow...
AbstractThis paper introduces nondeterminism into logic programs with negation by associating functi...
In this paper we demonstrate a refinement calculus for logic programs, which is a framework for deve...
We make explicit a connection between the “unwind property” and first-order logics of programs. Usin...
Can the semantics of a program be represented as a single formula? We show that one formula is insuf...
The question how knowledge can be represented by means of logic programs with negation has been a dr...
The refinement calculus provides a framework for the stepwise development of imperative programs fro...
This paper addresses the starting point of the refinement process: the naive program. Although a nai...
Program specialization is a collection of program transformation techniques for improving program ef...