Proofs as Description of Computation

A proof of ∀x∃yϕ(x,y) can serve as a description of an algorithm which satisfies the specification given by ϕ. A variety of techniques from proof theory may be used to execute such a proof — that is, to take the proof and a value for x, and compute a value for y such that ϕ(x,y) holds. Proofs differ from ordinary programs in that they formalize information about algorithms beyond what is needed for the simple execution of the algorithm. This paper concerns (I) the uses of this additional information in the automatic transformation of algorithms, and in particular, in the adaptation of algorithms to special situations, and (2) efficient methods for executing and transforming proofs. A system for manipulating proofs has been implemented. Results of experiments on the specialization of a bin-packing algorithm are described.

[1]  J. Bates A Logic for Correct Program Development , 1979 .

[2]  William A. Howard,et al.  The formulae-as-types notion of construction , 1969 .

[3]  Robert L. Constable,et al.  Constructive Mathematics and Automatic Program Writers , 1970, IFIP Congress.

[4]  Von Kurt Gödel,et al.  ÜBER EINE BISHER NOCH NICHT BENÜTZTE ERWEITERUNG DES FINITEN STANDPUNKTES , 1958 .

[5]  W. Tait A realizability interpretation of the theory of species , 1975 .

[6]  Erik Sandewall,et al.  A Partial Evaluator, and its Use as a Programming Tool , 1976, Artif. Intell..

[7]  M. E. Szabo,et al.  The collected papers of Gerhard Gentzen , 1969 .

[8]  A. S. Troelstra Intuitionistic formal systems , 1973 .

[9]  Robert A. Kowalski,et al.  Predicate Logic as Programming Language , 1974, IFIP Congress.

[10]  Akiko Kino,et al.  Intuitionism and Proof Theory , 1970 .

[11]  Fa Dick The mathematical language AUTOMATH, its usage and some of its extensions , 1970 .

[12]  C. Goad Computational uses of the manipulation of formal proofs , 1980 .

[13]  C. Cordell Green,et al.  Application of Theorem Proving to Problem Solving , 1969, IJCAI.

[14]  Errett Bishop,et al.  Mathematics as a Numerical Language , 1970 .

[15]  Zohar Manna,et al.  A Deductive Approach to Program Synthesis , 1979, TOPL.

[16]  Jon Doyle,et al.  Truth Maintenance Systems for Problem Solving , 1977, IJCAI.

[17]  Stephen Cole Kleene,et al.  On the interpretation of intuitionistic number theory , 1945, Journal of Symbolic Logic.

[18]  Shigeki Goto,et al.  Program Synthesis from Natural Deduction Proofs , 1979, IJCAI.

[19]  Carl Hewitt,et al.  Procedural Embedding of knowledge in Planner , 1971, IJCAI.