In this paper we describe our system for automatically extracting \correct" programs from proofs using a development of the Curry-Howard process. Although program extraction has been developed by many authors (see 5, ?,?]), our system has a number of novel features designed to make it very easy to use and as close as possible to ordinary mathematical terminology and practice. These features include 1. the use of Henkin's technique 6] to reduce higher-order logic to many-sorted (rst-order) logic 2. the free use of new rules for induction subject to certain conditions 3. the extensive use of previously programmed (primitive) recursive functions. 4. the use of templates to make the reasoning much closer to normal mathematical proofs. 5. an extension of the technique of the use of Harrop formulae to classically true formulae (cf. the footnote on p. 101 in Kreisel 9]); As an example of our system we give a constructive proof of the well-known theorem that every graph of even parity, which is non-trivial in the sense that it does not consist of isolated vertices, has a cycle. Given such a graph as input, the extracted program produces a cycle as promised. 1 The word \correct" in this paper means \meeting its speci cation". 2 It is convenient to call the entities \sorts" rather than \types" as there are many other \types" in this paper. In fact for our present purposes we could easily reduce everything to rst order. To do this we should just use a predicate, In(x; y), say, to represent \x is in the list y" and similarly for lists of lists. The technique is described in Henkin 6]. However we write our expressions in the conventional way and they therefore sometimes appear as involving higher order expressions. 3 The axioms one would normally employ in (constructive) mathematics are Harrop formulae (de ned below). The restriction is a natural one and also has a signi cant e ect on reducing the size of our extracted programs. Harrop axioms are axioms that are Harrop formulae and Harrop formulae are de ned as follows: 1. An atomic formula or ? is a Harrop formula. 2. If and are Harrop, then so is ^. 3. If is a Harrop formula and is any formula, then ! is a Harrop formula. 4. If is a Harrop formula, then 8x is a Harrop formula.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.