Abstract

There are many attempts to extract programs from formal proofs of theories of constructive mathematics, e. g. [3] [4] [5] [9] [11]. This paper is one of such attempts. The origin of the problem is the so called deductive or theorem-proving approach to the problem of automatic program synthesis. We explain the problem briefly according to [9] and [11]. Let D be a set of data and let A(x, y) be a binary predicate. Then a specification is given by the formula V^e D3yA(x, y). A program P is called a solution of the specification, and the predicate A is called the output predicate. The problem of automatic program synthesis is the problem to find a solution automatically from a given specification. A program-synthesis system using the theorem-proving approach finds an appropriate proof of the given specification and extracts a solution from the proof. However, there are no sufficiently powerful theorem-proving systems at the present time. On the other hand, it is relatively easy to construct a solution mechanically from a given proof. Even if the proof is constructed by a person, there is an advantage. If the proof has been checked mechanically, the resulting program does not require debugging or verification. First we will introduce a formal system called LM, which is a modification of T^~ } of Feferman [2]. The system T^~ is based on combinatory logic, on the other hand, LM is based on a variant of Lisp, which is called Lisp*. Our intended interpretation of the universe of LM is the set of S-expressions of Lisp*, on the other hand, the universe of T^~ does not have a fixed intended interpretation. These are the main difference between LM and To'. We will define a universal function of Lisp in LM, and using it define a modified <?-realizability for LM. By the aid of this realizability interpretation, we can extract Lisp programs with formal verifications in LM from constructive formal

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call