HOL is a proof development system intended for applications to both hardware and software. It is principally used in two ways: for directly proving theorems, and as theorem-proving support for application-specific verification systems. HOL is currently being applied to a wide variety of problems, in
Isabelle/HOL: A Proof Assistant for Higher-Order Logic
β Scribed by Tobias Nipkow, Markus Wenzel, Lawrence C. Paulson (eds.)
- Publisher
- Springer-Verlag Berlin Heidelberg
- Year
- 2002
- Tongue
- English
- Leaves
- 231
- Series
- Lecture Notes in Computer Science 2283
- Edition
- 1
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
This volume is a self-contained introduction to interactive proof in high- order logic (HOL), using the proof assistant Isabelle 2002. Compared with existing Isabelle documentation, it provides a direct route into higher-order logic, which most people prefer these days. It bypasses ?rst-order logic and minimizes discussion of meta-theory. It is written for potential users rather than for our colleagues in the research world. Another departure from previous documentation is that we describe Markus Wenzelβs proof script notation instead of ML tactic scripts. The l- ter make it easier to introduce new tactics on the ?y, but hardly anybody does that. Wenzelβs dedicated syntax is elegant, replacing for example eight simpli?cation tactics with a single method, namely simp, with associated - tions. The book has three parts. β The ?rst part, Elementary Techniques, shows how to model functional programs in higher-order logic. Early examples involve lists and the natural numbers. Most proofs are two steps long, consisting of induction on a chosen variable followed by the auto tactic. But even this elementary part covers such advanced topics as nested and mutual recursion. β The second part, Logic and Sets, presents a collection of lower-level tactics that you can use to apply rules selectively. It also describes I- belle/HOLβs treatment of sets, functions, and relations and explains how to de?ne sets inductively. One of the examples concerns the theory of model checking, and another is drawn from a classic textbook on formal languages.
β¦ Table of Contents
- The Basics....Pages 3-8
2. Functional Programming in HOL....Pages 9-26
3. More Functional Programming....Pages 27-51
4. Presenting Theories....Pages 53-64
5. The Rules of the Game....Pages 67-104
6. Sets, Functions, and Relations....Pages 105-126
7. Inductively Defined Sets....Pages 127-145
8. More about Types....Pages 149-174
9. Advanced Simplification, Recursion, and Induction....Pages 175-193
10. Case Study: Verifying a Security Protocol....Pages 195-205
β¦ Subjects
Mathematical Logic and Formal Languages; Artificial Intelligence (incl. Robotics); Logics and Meanings of Programs; Programming Languages, Compilers, Interpreters; Software Engineering
π SIMILAR VOLUMES
<p><span>This is the first comprehensive textbook on higher-order logic that is written specifically to introduce the subject matter to graduate students in philosophy. The book covers both the formal aspects of higher-order languagesβtheir model theory and proof theory, the theory of Ξ»-abstraction
Formal systems that describe computations over syntactic structures occur frequently in computer science. Logic programming provides a natural framework for encoding and animating such systems. However, these systems often embody variable binding, a notion that must be treated carefully at a computa