Abstract
The fixed-point theory of computation allows a variety of recursive data structures. Constructor functions may be lazy or strict; types may be mutually recursive and satisfy equational constraints. Structural induction for these types follows from fixed-point induction; induction for lazy types is only sound for a subclass of formulas.
Structural induction is derived and discussed for several types, including lazy lists, finite lists, syntax trees for expressions, and finite sets. Experience with the LCF theorem prover is described.
The paper is a condensation of “Structural Induction in LCF” [12].
Preview
Unable to display preview. Download preview PDF.
References
R. Bird, Programs and Machines: An Introduction to the Theory of Computation, (Wiley, 1976).
W.H. Burge, Recursive Programming Techniques, (Addison-Wesley, 1975).
R.M. Burstall, Proving properties of programs by structural induction, Computer Journal 12 (February 1969), pages 41–48.
R.M. Burstall and J.A. Goguen, Algebras, theories and freeness: an introduction for computer scientists, Report CSR-101-82, University of Edinburgh, 1982.
R. Cartwright and J. Donahue, The semantics of lazy (and industrious) evaluation, ACM Symposium on Lisp and Functional Programming (1982), pages 253–264.
A.J. Cohn and R. Milner, On using Edinburgh LCF to prove the correctness of a parsing algorithm, Report CSR-113-82, University of Edinburgh, 1982.
M.J.C. Gordon, R. Milner, and C. Wadsworth, Edinburgh LCF (Springer, 1979).
S. Igarashi, Admissibility of fixed-point induction in first order logic of typed theories, Report STAN-CS-72-287, Stanford University, 1972.
Z. Manna, Mathematical Theory of Computation (McGraw-Hill, 1974).
B. Nordström, Programming in constructive set theory: some examples, ACM conference on Functional Programming Languages and Computer Architecture (1981), pages 141–153.
L. Paulson, The revised logic PPLAMBDA: a reference manual, Report 36, Computer Laboratory, University of Cambridge (1983).
L. Paulson, Structural induction in LCF, Report 44, Computer Laboratory, University of Cambridge (1984).
L. Paulson, Verifying the unification algorithm in LCF, Report 50, Computer Laboratory, University of Cambridge (1984).
D. Scott, A type-theoretic alternative to CUCH, ISWIM, OWHY, Unpublished (1969).
S. Sokolowski, An LCF proof of the soundness of Hoare's logic, Report CSR-146-83, University of Edinburgh, 1983.
J.E. Stoy, Denotational Semantics: the Scott-Strachey Approach to Programming Language Theory, MIT Press, 1977.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1984 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Paulson, L. (1984). Deriving structural induction in LCF. In: Kahn, G., MacQueen, D.B., Plotkin, G. (eds) Semantics of Data Types. SDT 1984. Lecture Notes in Computer Science, vol 173. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-13346-1_10
Download citation
DOI: https://doi.org/10.1007/3-540-13346-1_10
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-13346-9
Online ISBN: 978-3-540-38891-3
eBook Packages: Springer Book Archive