Journal of Automated Reasoning

, Volume 15, Issue 2, pp 167–215 | Cite as

Set theory for verification. II: Induction and recursion

  • Lawrence C. Paulson


A theory of recursive definitions has been mechanized in Isabelle's Zermelo-Fraenkel (ZF) set theory. The objective is to support the formalization of particular recursive definitions for use in verification, semantics proofs, and other computational reasoning.

Inductively defined sets are expressed as least fixedpoints, applying the Knaster-Tarski theorem over a suitable set.Recursive functions are defined by well-founded recursion and its derivatives, such as transfinite recursion.Recursive data structures are expressed by applying the Knaster-Tarski theorem to a set, such asVω, that is closed under Cartesian product and disjoint sum.

Worked examples include the transitive closure of a relation, lists, variable-branching trees, and mutually recursive trees and forests. The Schröder-Bernstein theorem and the soundness of propositional logic are proved in Isabelle sessions.

Key words

Isabelle set theory recursive definitions the Schröder-Bernstein theorem 

AMS Subject Classification

03E15 68T15 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abramsky, S.: The lazy lambda calculus, in D. A. Turner, (ed.)Research Topics in Functional Programming, Addison-Wesley, Reading, MA, 1977, pp. 65–116.Google Scholar
  2. 2.
    Aczel, P.:Non-Well-Founded Sets, CSLI, 1988.Google Scholar
  3. 3.
    Bledsoe, W. W.: Non-resolution theorem proving,Art. Intel. 9 (1977), 1–35.Google Scholar
  4. 4.
    Boyer, R. S. and Moore, J. S.:A Computational Logic, Academic Press, New York, 1979.Google Scholar
  5. 5.
    Camilleri, J. and Melham, T. F.: Reasoning with inductively defined relations in the HOL theorem prover, Tech. Rep. 265, Comp. Lab., Univ. Cambridge, 1992.Google Scholar
  6. 6.
    Coquand, T. and Paulin, C.: Inductively defined types, inCOLOG-88: International Conference on Computer Logic, LNCS 417, Springer, 1990, pp. 50–66.Google Scholar
  7. 7.
    Davey, B. A. and Priestley, H. A.:Introduction to Lattices and Order, Cambridge Univ. Press, 1990.Google Scholar
  8. 8.
    Devlin, K. J.:Fundamentals of Contemporary Set Theory, Springer, 1979.Google Scholar
  9. 9.
    Girard, J.-Y.:Proofs and Types, Translated by Yves LaFont and Paul Taylor, Cambridge Univ. Press, 1989.Google Scholar
  10. 10.
    Givan, R., McAllester, D., Witty, C. and Zalondek, K.: Ontic: Language specification and user's manual, Tech. Rep., MIT, 1992, Draft 4.Google Scholar
  11. 11.
    Halmos, P. R.:Naive Set Theory, Van Nostrand, New York, 1960.Google Scholar
  12. 12.
    Manna, Z. and Waldinger, R.: Deductive synthesis of the unification algorithm,Sci. Comput. Programming 1(1) (1981), 5–48.Google Scholar
  13. 13.
    Martin-Löf, P.:Intuitionistic Type Theory, Bibliopolis, 1984.Google Scholar
  14. 14.
    McDonald, J. and Suppes, P.: Student use of an interactive theorem prover, In W. W. Bledsoe and D. W. Loveland (eds),Automated Theorem Proving: After 25 Years, American Mathematical Society, 1984, pp. 315–360.Google Scholar
  15. 15.
    Melham, T. F.: Automating recursive type definitions in higher order logic, in G. Birtwistle and P. A. Subrahmanyam (eds),Current Trends in Hardware Verification and Automated Theorem Proving, Springer, 1989, pp. 341–386.Google Scholar
  16. 16.
    Milner, R.:Communication and Concurrency, Prentice-Hall, Englewood Cliffs, NJ, 1989.Google Scholar
  17. 17.
    Milner, R., Tofte, M. and Harper, R.:The Definition of Standard ML, MIT Press, Cambridge, MA, 1990.Google Scholar
  18. 18.
    Noël, P.: Experimenting with Isabelle in ZF set theory,J. Auto. Reas. 10(1) (1993), 15–58.Google Scholar
  19. 19.
    Nordström, B.: Terminating general recursion,BIT 28 (1988), 605–619.Google Scholar
  20. 20.
    Nordström, B., Petersson, K. and Smith, J.:Programming in Martin-Löf's Type Theory, An Introduction, Oxford University Press, 1990.Google Scholar
  21. 21.
    Paulson, L. C.: Constructing recursion operators in intuitionistic type theory,J. Symb. Comput. 2 (1986) 325–355.Google Scholar
  22. 22.
    Paulson, L. C.: Set theory for verification: I. From foundations to functions,J. Auto. Reas. 11(3) (1993), 353–389.Google Scholar
  23. 23.
    Paulson, L. C.: A concrete final coalgebra theorem for ZF set theory, Tech. Rep., Comp. Lab., Univ. Cambridge, 1994.Google Scholar
  24. 24.
    Paulson, L. C.: A fixedpoint approach to implementing (co)inductive definitions, in A. Bundy (ed.),12th Conf. Auto. Deduct., LNAI 814, Springer, 1994, pp. 148–161.Google Scholar
  25. 25.
    Schroeder-Heister, P.: Generalized rules for quantifiers and the completeness of the intuitionistic operators &, ∨, ⊥, ⊥, ∀, ∃, inComputation and Proof Theory: Logic Colloquium '83, Lecture Notes in Math. 1104, Springer, 1984, pp. 399–426.Google Scholar
  26. 26.
    Smith, J.: The identification of propositions and types in Martin-Löf's type theory: A programming example, in M. Karpinski (ed.),Foundations of Computation Theory, LNCS 158, Springer, 1983, pp. 445–456.Google Scholar
  27. 27.
    Suppes, P.:Axiomatic Set Theory, Dover, New York, 1972.Google Scholar

Copyright information

© Kluwer Academic Publishers 1995

Authors and Affiliations

  • Lawrence C. Paulson
    • 1
  1. 1.Computer LaboratoryUniversity of CambridgeCambridgeU.K.

Personalised recommendations