# Program verification in a logical theory of constructions

Conference paper

First Online:

## Abstract

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.

## Preview

Unable to display preview. Download preview PDF.

## References

- 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 - P. Aczel, Frege structures and the notions of proposition, truth and set, in
*The Kleene Symposium*(North-Holland, 1980) 31–59.Google Scholar - 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 - R. Constable, Intensional analysis of functions and types, internal report CSR-118-82, Department of Computer Science, University of Edinburgh (1982).Google Scholar
- 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
- Z. Manna and R. Waldinger, A deductive approach to program synthesis,
*ACM TOPLAS*, 2 (1)(1980) 92–121.Google Scholar - 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 - P. Martin-Löf, unpublished notes from a series of lectures given in Siena (1983).Google Scholar
- 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
- 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 - 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 - B. Nordström and K. Petersson, Types and specifications, in
*Information Processing 83*(North-Holland, 1983) 915–920.Google Scholar - B. Nordström, K. Petersson, J. Smith,
*An Introduction to Martin-Löf's Type Theory*, in preparation (1985).Google Scholar - L. Paulson, Constructing recursion operators in intuitionistic type theory, technical report no.57, University of Cambridge Computer Laboratory (1984).Google Scholar
- 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
- 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 - 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