Journal of Automated Reasoning

, Volume 15, Issue 2, pp 167–215

# Set theory for verification. II: Induction and recursion

• Lawrence C. Paulson
Article

## Abstract

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

03E15 68T15

## References

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