12.07.2015 Views

Tutorial on Isabelle/HOL

Tutorial on Isabelle/HOL

Tutorial on Isabelle/HOL

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

PrefaceThis volume is a self-c<strong>on</strong>tained introducti<strong>on</strong> to interactive proof in higherorderlogic (<strong>HOL</strong>), using the proof assistant <strong>Isabelle</strong>. It is written for potentialusers rather than for our colleagues in the research world.The book has three parts.– The first part, Elementary Techniques, shows how to model functi<strong>on</strong>alprograms in higher-order logic. Early examples involve lists and the naturalnumbers. Most proofs are two steps l<strong>on</strong>g, c<strong>on</strong>sisting of inducti<strong>on</strong> <strong>on</strong> achosen variable followed by the auto tactic. But even this elementary partcovers such advanced topics as nested and mutual recursi<strong>on</strong>.– The sec<strong>on</strong>d part, Logic and Sets, presents a collecti<strong>on</strong> of lower-leveltactics that you can use to apply rules selectively. It also describes <strong>Isabelle</strong>/<strong>HOL</strong>’streatment of sets, functi<strong>on</strong>s and relati<strong>on</strong>s and explains how todefine sets inductively. One of the examples c<strong>on</strong>cerns the theory of modelchecking, and another is drawn from a classic textbook <strong>on</strong> formal languages.– The third part, Advanced Material, describes a variety of other topics.Am<strong>on</strong>g these are the real numbers, records and overloading. Advancedtechniques for inducti<strong>on</strong> and recursi<strong>on</strong> are described. A whole chapter isdevoted to an extended example: the verificati<strong>on</strong> of a security protocol.The typesetting relies <strong>on</strong> Wenzel’s theory presentati<strong>on</strong> tools. An annotatedsource file is run, typesetting the theory in the form of a L A TEX sourcefile. This book is derived almost entirely from output generated in this way.The final chapter of Part I explains how users may produce their own formaldocuments in a similar fashi<strong>on</strong>.<strong>Isabelle</strong>’s web site 1 c<strong>on</strong>tains links to the download area and to documentati<strong>on</strong>and other informati<strong>on</strong>. Most <strong>Isabelle</strong> sessi<strong>on</strong>s are now run from withinDavid Aspinall’s w<strong>on</strong>derful user interface, Proof General 2 , even together withthe X-Symbol 3 package for XEmacs. This book says very little about ProofGeneral, which has its own documentati<strong>on</strong>. In order to run <strong>Isabelle</strong>, you willneed a Standard ML compiler. We recommend Poly/ML 4 , which is free and1 http://isabelle.in.tum.de/2 http://proofgeneral.inf.ed.ac.uk/3 http://x-symbol.sourceforge.net4 http://www.polyml.org/

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!