Skip to main content

Program verification in a logical theory of constructions

  • Conference paper
  • First Online:
Functional Programming Languages and Computer Architecture (FPCA 1985)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 201))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jean-Pierre Jouannaud

Rights and permissions

Reprints and permissions

Copyright information

© 1985 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dybjer, P. (1985). Program verification in a logical theory of constructions. In: Jouannaud, JP. (eds) Functional Programming Languages and Computer Architecture. FPCA 1985. Lecture Notes in Computer Science, vol 201. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-15975-4_46

Download citation

  • DOI: https://doi.org/10.1007/3-540-15975-4_46

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-15975-9

  • Online ISBN: 978-3-540-39677-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics