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