Abstract
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 well-known Curry-Howard process. Program extraction has been developed by many authors (see, for example, [9], [5] and [12]), but our presentation is ultimately aimed at a practical, usable system and has a number of novel features. These include
1.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 on the one hand, and proofs of theorems that yield programs on the other.
An implementation of our methodology is the Fred system.1 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 the (non-trivial) disjoint cycles as promised.
1.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 on the one hand, and proofs of theorems that yield programs on the other.
An implementation of our methodology is the Fred system.1 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 the (non-trivial) disjoint cycles as promised.
Original language | English |
---|---|
Title of host publication | Logic Based Program Synthesis and Transformation |
Subtitle of host publication | 10th International Workshop, LOPSTR 2000 London, UK, July 24-28, 2000 Selected Papers |
Editors | Kung-Kiu Lau |
Place of Publication | Berlin Germany |
Publisher | Springer |
Pages | 18-37 |
Number of pages | 20 |
ISBN (Print) | 3540421270 |
DOIs | |
Publication status | Published - 2001 |
Event | International Symposium on Logic-based Program Synthesis and Transformation 2000 - London, United Kingdom Duration: 24 Jul 2000 → 28 Jul 2000 Conference number: 10th |
Publication series
Name | Lecture Notes in Computer Science |
---|---|
Publisher | Springer |
Volume | 2042 |
ISSN (Print) | 0302-9743 |
Conference
Conference | International Symposium on Logic-based Program Synthesis and Transformation 2000 |
---|---|
Abbreviated title | LOPSTR 2000 |
Country/Territory | United Kingdom |
City | London |
Period | 24/07/00 → 28/07/00 |