Isabelle/HOL: A Proof Assistant for Higher-Order Logic

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

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.

Author(s): Tobias Nipkow, Markus Wenzel, Lawrence C. Paulson (eds.)
Series: Lecture Notes in Computer Science 2283
Edition: 1
Publisher: Springer-Verlag Berlin Heidelberg
Year: 2002

Language: English
Pages: 226
Tags: Mathematical Logic and Formal Languages; Artificial Intelligence (incl. Robotics); Logics and Meanings of Programs; Programming Languages, Compilers, Interpreters; Software Engineering

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