The Isabelle Framework [chapter]

Makarius Wenzel, Lawrence C. Paulson, Tobias Nipkow
2008 Lecture Notes in Computer Science  
Overview Isabelle, which is available from http://isabelle.in.tum.de, is a generic framework for interactive theorem proving. The Isabelle/Pure meta-logic allows the formalization of the syntax and inference rules of a broad range of object-logics following the general idea of natural deduction [32, 33] . The logical core is implemented according to the well-known "LCF approach" of secure inferences as abstract datatype constructors in ML [16]; explicit proof terms are also available [8] .
more » ... lle/Isar provides sophisticated extra-logical infrastructure supporting structured proofs and specifications, including concepts for modular theory development. Isabelle/HOL is a large application within the generic framework, with plenty of logic-specific add-on tools and a large theory library. Other notable object-logics are Isabelle/ZF (Zermelo-Fraenkel set-theory, see [34, 36] ) and Isabelle/HOLCF [26] (Scott's domain theory within HOL). Users can build further formal-methods tools on top, e.g. see [53] . Beginners are advised to start working with Isabelle/HOL; see the tutorial volume [30] , and the companion tutorial [28] covering structured proofs. A general impression of Isabelle/HOL and ZF compared to other systems like Coq, PVS, Mizar etc. is given in [52] . The Proof General Emacs interface [3] is still the de-facto standard for interaction with Isabelle. The Isabelle document preparation system enables one to generate highquality PDF-L A T E X documents from the original theory sources, with full checking of the formal content. The Archive of Formal Proofs http://afp.sf.net collects proof libraries, examples, and larger scientific developments, mechanically checked with Isabelle. AFP is organized like a journal everybody can contribute to. Submitting formal theories there helps to maintain applications in the longer term, synchronized with the ongoing development of Isabelle itself. Specification Mechanisms Isabelle/Pure is a minimal version of higher-order logic; object-logics are specified by stating their characteristic rules as new axioms. Any later additions in application theories are usually restricted to definitional specifications, and the desired properties are being proven explicitly. Working directly from primitive definitions can be tedious, and higher-level specification mechanisms have emerged over the years, implemented as derived concepts within the existing background logic. This includes (co)inductive sets [35] , inductive datatypes [11] , and recursive functions [42, 23] .
doi:10.1007/978-3-540-71067-7_7 fatcat:y75g4zyzmjdgbkmosmujtq7yra