Program verification in a logical theory of constructions

  • Peter Dybjer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 201)


The logical theory of constructions is a simple theory which combines functional programs and intuitionistic predicate calculus. Here we propose that it is a practical alternative to other constructive programming logics, such as Martin-Löf's type theory. Its main advantage is that it admits reasoning directly about general recursion, while maintaining that all typed programs terminate. We illustrate the use of this theory by verifying the general recursive subtractive division program.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. P. Aczel, The strength of Martin-Löf's type theory with one universe, Proceedings of the Symposium on Mathematical Logic, Oulu, 1974, Report No 2, Department of Philosophy, University of Helsinki (1977) 1–32.Google Scholar
  2. P. Aczel, Frege structures and the notions of proposition, truth and set, in The Kleene Symposium (North-Holland, 1980) 31–59.Google Scholar
  3. R. Cartwright and J. McCarthy, First order programming logic, in Conference Record of the 6th Annual ACM Symposium on Principles of Programming Languages, San Antonio (1979).Google Scholar
  4. R. Constable, Intensional analysis of functions and types, internal report CSR-118-82, Department of Computer Science, University of Edinburgh (1982).Google Scholar
  5. T. Coquand and G. Huet, A theory of constructions, preliminary version presented at the International Symposium on Semantics of Data Types, Sophia-Antipolis (1984).Google Scholar
  6. Z. Manna and R. Waldinger, A deductive approach to program synthesis, ACM TOPLAS, 2 (1)(1980) 92–121.Google Scholar
  7. P. Martin-Löf, Constructive mathematics and computer programming, in Logic, Methodology and Philosophy of Science VI, 1979 (North-Holland, 1982) 153–175. Also in Mathematical Logic and Programming Languages, (Prentice-Hall, 1984).Google Scholar
  8. P. Martin-Löf, unpublished notes from a series of lectures given in Siena (1983).Google Scholar
  9. P. Martin-Löf, The domain interpretation of type theory, unpublished notes from a lecture given at the Workshop on Semantics of Programming Languages, Göteborg (1983D).Google Scholar
  10. R. Milner, L. Morris, M. Newey, A logic for computable functions with reflexive and polymorphic types, in Proceedings Conference on Proving and Improving Programs, Arc-et-Senans (1975).Google Scholar
  11. B. Nordström, Programming in constructive set theory: some examples, in Proceedings of the 1981 Conference on Functional Languages and Computer Architecture, Portsmouth, N.H. (1981) 141–154.Google Scholar
  12. B. Nordström and K. Petersson, Types and specifications, in Information Processing 83 (North-Holland, 1983) 915–920.Google Scholar
  13. B. Nordström, K. Petersson, J. Smith, An Introduction to Martin-Löf's Type Theory, in preparation (1985).Google Scholar
  14. L. Paulson, Constructing recursion operators in intuitionistic type theory, technical report no.57, University of Cambridge Computer Laboratory (1984).Google Scholar
  15. J. Smith, On the relation between a type theoretic and a logical formulation of the theory of constructions, Ph.D. thesis, Department of Mathematics, University of Göteborg (1978).Google Scholar
  16. J. Smith, The identification of propositions and types in Martin-Löf's type theory: a programming example, in Foundations of Computation Theory, LNCS 158 (Springer-Verlag, 1983) 445–456.Google Scholar
  17. J. Smith, An interpretation of Martin-Löf's type theory in a type-free theory of propositions, Journal of Symbolic Logic 49 (3) (1984) 730–753.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Peter Dybjer
    • 1
  1. 1.Programming Methodology Group, CTHGöteborgSweden

Personalised recommendations