Monash University
Browse
- No file added yet -

Extraction of structured programs from specification proofs

Download (116.81 kB)
report
posted on 2022-08-31, 02:06 authored by J N Crossley, I Poernomo, M Wirsing
We present a method using an extended logical system for obtaining "correct" programs from specifications written in a sublanguage of CASL. By "correct" we mean programs that satisfy their specifications. The technique we use is to extract programs from proofs in formal logic by techniques due to Curry and Howard. The logical calculus, however, has the novel feature that as well as the conventional logical rules it includes structural rules corresponding to the standard ways of modifying specifications: translating (renaming), taking unions of specifications and hiding signatures. Although programs extracted by the Curry-Howard process can be very cumbersome, we use a number of simplifications that ensure that the programs extracted are in a language close to a standard high-level programming language. We use this to produce an executable refinement of a given specification and we then provide a method for producing a program module which respects the original structure of the specification as much as possible. Throughout the paper we demonstrate the technique with a simple example.

History

Technical report number

2000/56

Year of publication

2000

Usage metrics

    Monash Information Technology Technical Reports

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC