Skip to main content

Deriving structural induction in LCF

  • Conference paper
  • First Online:
Semantics of Data Types (SDT 1984)

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

Included in the following conference series:

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].

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

  1. R. Bird, Programs and Machines: An Introduction to the Theory of Computation, (Wiley, 1976).

    Google Scholar 

  2. W.H. Burge, Recursive Programming Techniques, (Addison-Wesley, 1975).

    Google Scholar 

  3. R.M. Burstall, Proving properties of programs by structural induction, Computer Journal 12 (February 1969), pages 41–48.

    Google Scholar 

  4. R.M. Burstall and J.A. Goguen, Algebras, theories and freeness: an introduction for computer scientists, Report CSR-101-82, University of Edinburgh, 1982.

    Google Scholar 

  5. R. Cartwright and J. Donahue, The semantics of lazy (and industrious) evaluation, ACM Symposium on Lisp and Functional Programming (1982), pages 253–264.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. M.J.C. Gordon, R. Milner, and C. Wadsworth, Edinburgh LCF (Springer, 1979).

    Google Scholar 

  8. S. Igarashi, Admissibility of fixed-point induction in first order logic of typed theories, Report STAN-CS-72-287, Stanford University, 1972.

    Google Scholar 

  9. Z. Manna, Mathematical Theory of Computation (McGraw-Hill, 1974).

    Google Scholar 

  10. B. Nordström, Programming in constructive set theory: some examples, ACM conference on Functional Programming Languages and Computer Architecture (1981), pages 141–153.

    Google Scholar 

  11. L. Paulson, The revised logic PPLAMBDA: a reference manual, Report 36, Computer Laboratory, University of Cambridge (1983).

    Google Scholar 

  12. L. Paulson, Structural induction in LCF, Report 44, Computer Laboratory, University of Cambridge (1984).

    Google Scholar 

  13. L. Paulson, Verifying the unification algorithm in LCF, Report 50, Computer Laboratory, University of Cambridge (1984).

    Google Scholar 

  14. D. Scott, A type-theoretic alternative to CUCH, ISWIM, OWHY, Unpublished (1969).

    Google Scholar 

  15. S. Sokolowski, An LCF proof of the soundness of Hoare's logic, Report CSR-146-83, University of Edinburgh, 1983.

    Google Scholar 

  16. J.E. Stoy, Denotational Semantics: the Scott-Strachey Approach to Programming Language Theory, MIT Press, 1977.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Gilles Kahn David B. MacQueen Gordon Plotkin

Rights and permissions

Reprints 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

Publish with us

Policies and ethics