Proofs as descriptions of computation

  • C. A. Goad
Tuesday Afternoon
Part of the Lecture Notes in Computer Science book series (LNCS, volume 87)


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.


Reduction Rule Natural Deduction Proof Theory Symbolic Execution Proof Tree 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Bates, J.L. A logic for correct program development, PhD Thesis, Dept. of Computer Science, Cornell University, August 1979Google Scholar
  2. Beckeman, L., Haraldsson, A., Oskarsson, O., and Sandewall, E. [1976], A partial evaluator and its use as a programming tool, Artificial Intelligence Journal 7 pp. 319–357Google Scholar
  3. Bishop, E.[1970], Mathematics as a numerical language, Intuitionism and proof theory, Proceedings of the summer conference at Buffalo N.Y., 1968, A. Kino, J. Myhill, R.E. Vesley eds., North Holland, Amsterdam pp 53–71Google Scholar
  4. Constable, R.L.[1971], Constructive mathematics and automatic program writers, IFIP Congress 1971Google Scholar
  5. de Brujin, N.G.[1970], The mathematical language AUTOMATH, its usage, and some of its extensions, Lecture Notes in Mathematics, vol. 125, Springer Verlag, pp. 29–61Google Scholar
  6. Doyle, J.[1978], Truth maintenance systems for problem solving, M.I.T. AI lab technical report AI-TR-419, January 1978Google Scholar
  7. Ershov A.P.[1977], On the essense of compilation, IFIP Working Conference on Formal Description of Programming Concepts, Saint Andrews, New Brunswick, vol. 1., pp. 1.1–1.28Google Scholar
  8. Gentzen, G.[1969], The collected papers of Gerhard Gentzen, (M.E. Szabo ed.), North-Holland, AmsterdamGoogle Scholar
  9. Goad C.A.[1980], Computational uses of the manipulation of formal proofs, PhD Thesis, Stanford University, in preparationGoogle Scholar
  10. Godel, K.[1958], Ueber eine bisher noch nicht benutzte Erweiterung des finiten Standpunktes, Dialectica 12, pp. 280–287Google Scholar
  11. Goto S.,[1979], Program Synthesis from Natural Deduction Proofs, International Joint Conference on Artificial Intelligence, TokyoGoogle Scholar
  12. Green, C.C.,[1969], Application of theorem proving to problem solving, Proceedings of the International Joint Conference on Artificial Intelligence, Washington DC, pp 219–239Google Scholar
  13. Hewitt, C.[1971], Procedural embedding of knowledge in planner, Proceedings of the International Joint Conference on Artificial Intelligence, LondonGoogle Scholar
  14. Howard, W.A.[1980], The formulae-as-types notion of construction, in Festschrift on the occasion of H.B. Curry's 80th birthday, Academic Press, New York, San Francisco, London, to appearGoogle Scholar
  15. Kleene S.C.[1945], On the interpretation of intuitionistic number theory, Journal of Symbolic Logic 10,pp. 109–124Google Scholar
  16. Kowalski, R.[1974], Predicate logic as a programming language, Proc. of the IFIP Congress 1974, pp 569–574Google Scholar
  17. Kreisel, G.[1959], Interpretation of analysis by means of constructive functionals of finite type, in Constructivity in Mathematics, North-Holland, Amsterdam, pp. 101–128Google Scholar
  18. Kreisel, G.[1975], Some uses of proof theory for finding computer programs, Colloque International de Logique, Clermont-Ferrand (July 1975), Colloques Internationaux du Centre National de la Researche Scientifique, No. 249, pp. 123–134Google Scholar
  19. Kreisel, G.[1977], From foundations to science: justifying and unwinding proofs, Recueil Des Travaux de L'Institut Mathematique, Belgrade, Nouvelle Serie 1977, Vol. 2, pp. 63–72Google Scholar
  20. London, P.E.[1978], Dependency networks as a representation for modeling in general problem solvers. PhD thesis. U Maryland Department of Computer Science Technical Report 698Google Scholar
  21. Manna, Z. and Waldinger, R.[1979], A deductive approach to program synthesis, Fourth Workshop on Automatic Deduction, Austin Texas, pp 129–139Google Scholar
  22. Miglioli, P., and Ornaghi, M., A logically justified computing model, Fundamenta Informaticae, to appearGoogle Scholar
  23. Prawitz, D.[1965], Natural deduction, Almquist and Wksell, StockholmGoogle Scholar
  24. Scott, D.[1970], Constructive Validity, Lecture Notes in Mathematics, vol. 125, Springer Verlag, pp. 237–275Google Scholar
  25. Sussman G.J., and Steele, G.L.,[1975], SCHEME, an interpreter for extended lambda calculus, MIT AI Memo 349Google Scholar
  26. Tait, W.W.[1975], A realizability interpretation of the theory of species, Logic Colloquium Proceedings, 1972–1973, A. Dold, B. Eckmann eds., Lecture Notes in Mathematics vol. 453, Springer Verlag, pp. 240–251Google Scholar
  27. Takasu S.[1978], Proofs and programs, Proceedings of the Third IBM Symposium on the Mathematical Foundations of Computer Science — Mathematical Logic and Computer Science, KansaiGoogle Scholar
  28. Troelstra A.S.[1973], Intuitionistic formal systems, in Metamathematical Investigation of Intuitionistic Arithmetic and Analysis, A.S. Troelstra, ed., Lecture Notes in Mathematics vol. 344, Springer Verlag, pp. 1–96Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • C. A. Goad
    • 1
  1. 1.Department of Computer ScienceStanford UniversityStanfordUSA

Personalised recommendations