Set theory for verification. II: Induction and recursion

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

[1]  Lawrence C. Paulson,et al.  A Fixedpoint Approach to Implementing (Co)Inductive Definitions , 1994, CADE.

[2]  Zohar Manna,et al.  Deductive Synthesis of the Unification Algorithm , 1981, Sci. Comput. Program..

[3]  P. A. J. Noel,et al.  Experimenting with Isabelle in ZF set theory , 1993, Journal of Automated Reasoning.

[4]  Tom Melham,et al.  Reasoning with Inductively Defined Relations in the HOL Theorem Prover , 1992 .

[5]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[6]  J. Girard,et al.  Proofs and types , 1989 .

[7]  Lawrence C. Paulson,et al.  A Concrete Final Coalgebra Theorem for ZF Set Theory , 1994, TYPES.

[8]  T. Melham Automating recursive type definitions in higher order logic , 1989 .

[9]  T. W. Parnaby Paul R. Halmos, Naive Set Theory (Van Nostrand, Princeton, 1960), 26s. 6d. , 1961 .

[10]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[11]  Robin Milner,et al.  Definition of standard ML , 1990 .

[12]  K. Devlin Fundamentals of contemporary set theory , 1979 .

[13]  Bengt Nordström,et al.  Programming in Martin-Löf's Type Theory , 1990 .

[14]  Lawrence C. Paulson,et al.  Set theory for verification: I. From foundations to functions , 1993, Journal of Automated Reasoning.

[15]  Thierry Coquand,et al.  Inductively defined types , 1988, Conference on Computer Logic.

[16]  W. W. Bledsoe,et al.  Non-Resolution Theorem Proving , 1977, Artif. Intell..

[17]  Robert S. Boyer,et al.  Computational Logic , 1990, ESPRIT Basic Research Series.

[18]  Bengt Nordström,et al.  Programming in Martin-Lo¨f's type theory: an introduction , 1990 .

[19]  P. Halmos Naive Set Theory , 1961 .

[20]  C PaulsonLawrence Set theory for verification. I , 1993 .

[21]  Patrick Suppes,et al.  Student use of an interactive theorem prover , 1984 .

[22]  Bengt Nordström Terminating general recursion , 1988, BIT Comput. Sci. Sect..

[23]  S. Abramsky The lazy lambda calculus , 1990 .

[24]  Peter Schroeder-Heister,et al.  Generalized rules for quantifiers and the completeness of the intuitionistic operators &, ν, ⊃, λ, ∀, ε , 1984 .

[25]  Jan M. Smith The Identification of Propositions and types in Martin-Löf's Type Theory: A Programming Example , 1983, FCT.

[26]  Lawrence C. Paulson,et al.  Constructing Recursion Operators in Intuitionistic Type Theory , 1986, J. Symb. Comput..

[27]  Peter Aczel,et al.  Non-well-founded sets , 1988, CSLI lecture notes series.