Part I of this book is a practical introduction to working with the Isabelle proof assistant. It teaches you how to write functional programs and inductive definitions and how to prove properties about them in Isabelleâ�...

Buy Now From Amazon

Product Review

Part I of this book is a practical introduction to working with the Isabelle proof assistant. It teaches you how to write functional programs and inductive definitions and how to prove properties about them in Isabelle’s structured proof language. Part II is an introduction to the semantics of imperative languages with an emphasis on applications like compilers and program analysers. The distinguishing feature is that all the mathematics has been formalised in Isabelle and much of it is executable. Part I focusses on the details of proofs in Isabelle; Part II can be read even without familiarity with Isabelle’s proof language, all proofs are described in detail but informally.

The book teaches the reader the art of precise logical reasoning and the practical use of a proof assistant as a surgical tool for formal proofs about computer science artefacts. In this sense it represents a formal approach to computer science, not just semantics. The Isabelle formalisation, including the proofs and accompanying slides, are freely available online, and the book is suitable for graduate students, advanced undergraduate students, and researchers in theoretical computer science and logic.



Similar Products

Model Checking (Cyber Physical Systems Series)Hands-On Data Structures and Algorithms with Rust: Learn programming techniques to build effective, maintainable, and readable code in Rust 2018Practical TLA+: Planning Driven DevelopmentThe Little Typer (The MIT Press)The Rust Programming LanguageML for the Working Programmer, 2nd EditionPurely Functional Data StructuresSpecifying Systems: The TLA+ Language and Tools for Hardware and Software EngineersCertified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant (The MIT Press)Pearls of Functional Algorithm Design