Isabelle: The next seven hundred theorem provers Lawrence C Paulson Computer Laboratory, University of Cambridge Cambridge CB2 3QG, England Isabelle [2] is a theorem prover for a large class of logics. The object-logics are formalized within Isabelle’s meta-logic, which is intuitionistic higher-order logic with implication, universal quantifiers, and equality. 1 The implication φ = ψ means ‘φ implies ψ’, and expresses logical entailment. The quantification x.φ means ‘φ is true for all x’, and expresses generality in rules and axiom schemes. The equality a b means ‘a equals b’, and allows new symbols to be defined as abbreviations. Isabelle takes many ideas from lcf [1]. Formulae are manipulated through the meta-language Standard ML; proofs can be developed in the backwards direction via tactics and tacticals. But lcf represents the inference rule A B A&B by a function that maps the theorems A and B to the theorem A & B, while Isabelle represents this rule by an axiom in the meta-logic: A. B. [[A]] = ([[B]] = [[A & B]]) Observe how object-logic formulae are enclosed in brackets: [[A]]. Higher-order logic uses the typed λ-calculus, whose notions of free and bound variables handle quantifiers. So x.A can be represented by All(λx.A), where All is a new constant and A is a formula containing x. More precisely, x.F (x) can be represented by All(F ), where the variable F denotes a truth-valued function. Isabelle represents the rule A x.A by the axiom F. ( x. [[F (x)]]) = [[All(F )]] The introduction rule is subject to the proviso that x is not free in the assumptions. Any use of the axiom involves proving F (x) for arbitrary x, enforcing the proviso [3]. Similar techniques handle existential quantifiers, the Π and Σ operators of Type * Appeared in E. Lusk and R. Overbeek (editors), 9th International Conf. on Automated Deduc- tion, Springer LNCS 310 (1988), pages 772–773. 1 An early version called Isabelle-86 uses a naive calculus of proof trees as its meta-logic. 1