z-logo
open-access-imgOpen Access
A Tool for Logic Program Refinement
Author(s) -
Robert J. Colvin,
Ian J. Hayes,
Ray Nickson,
Paul Strooper
Publication year - 1997
Publication title -
electronic workshops in computing
Language(s) - English
Resource type - Conference proceedings
ISSN - 1477-9358
DOI - 10.14236/ewic/fa1997.3
Subject(s) - refinement calculus , computer science , programming language , executable , correctness , refinement , automated theorem proving , calculus (dental) , algorithm , theoretical computer science , formal methods , dentistry , medicine
The refinement calculus provides a method for transforming specifications to executable code, maintaining the correctness of the code with respect to its specification. In the original refinement calculus, the target language is an imperative programming language, but more recently a refinement calculus for deriving logic programs has been proposed. Due to the amount of detail involved, the manual refinement of programs is a tedious and time-consuming task, and is therefore an obvious candidate for tool support. Several tools exist for the imperative refinement calculus, and in this paper we describe a prototype tool to support the recently developed refinement calculus for logic programs. The tool was developed using Ergo, an interactive theorem prover. To provide tool support for the calculus, its underlying semantic model was defined within Ergo, and the laws of the calculus were proven in that framework. We illustrate the tool using a simple example refinement.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom