Monash University
Browse

Protocols between programs and proofs

Download (115.29 kB)
report
posted on 2022-08-31, 02:22 authored by I Poernomo, J N Crossley
In this paper we describe a new protocol that we call the Curry-Howard protocol between a theory and the programs extracted from it. This protocol leads to the expansion of the theory and the production of more powerful programs. The methodology we use for automatically extracting "correct" programs from proofs is a development of the wellknown Curry-Howard process. Program extraction has been developed by many authors (see, for example, [8], [4] and [11]), but our presentation is ultimately aimed at a practical, usable system and has a number of novel features. These include 1. first of all, a very simple and natural mimicking of ordinary mathematical practice and likewise the use of established computer programs when we obtain programs from formal proofs, and 2. a conceptual distinction between programs and proofs of theorems that give programs. An implementation of our methodology is the Fred system. As an example of our protocol we describe a constructive proof of the well-known theorem that every graph of even parity can be decomposed into a list of disjoint cycles. Given such a graph as input, the extracted program produces a list of such cycles as promised.

History

Technical report number

2000/71

Year of publication

2000

Usage metrics

    Monash Information Technology Technical Reports

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC