Concrete Semantics
Springer International Publishing (Verlag)
978-3-319-35759-1 (ISBN)
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.
Prof. Tobias Nipkow received his Ph.D. in Manchester, after which he taught and carried out research at MIT and in Cambridge. He took up a professorship in 1992 at the Technische Universität München where he holds the Chair for Logic and Verification. He was one of the developers of Isabelle, a generic proof assistant, and he coauthored the related LNCS tutorial. He also coauthored the textbook "Term Rewriting and All That", and he is the Editor-in-Chief of the Journal of Automated Reasoning. His research interests include automatic and interactive theorem proving, formal verification, formalizing programming languages, type systems, semantics, rewriting and unification, and the lambda-calculus. Assoc. Prof. Gerwin Klein received his Ph.D. in Computer Science from the Technische Universität München. He is a Senior Principal Researcher/Research Leader at National ICT Australia (NICTA) and an adjunct professor in the School of Computer Science and Engineering, University of New South Wales. His research interests include interactive theorem proving, software verification, and the semantics of programming languages.
Introduction.- Programming and Proving.- Case Study: IMP Expressions.- Logic and Proof Beyond Equality.- Isar: A Language for Structured Proofs.- IMP: A Simple Imperative Language.- Compiler.- Types.- Program Analysis.- Denotational Semantics.- Hoare Logic.- Abstract Interpretation.- App. A, Auxiliary Definitions.- App. B, Symbols.- References.
"The book is highly recommended for learning and teaching theorem proving and semantics, picking up a lot of useful knowledge on higher-order logic along the way. The book is well-structured and written to support learning about the two main themes. It may also help to make formal methods more approachable to a larger number of students by offering the possibility to follow the book with a software tool, inviting the students to experiment and succeed in (automatically assisted) formal proof." (Stefan Hallerstede, Formal Aspects of Computing, Vol. 30, 2018)
“The book is highly recommended for learning and teaching theorem proving and semantics, picking up a lot of useful knowledge on higher-order logic along the way. The book is well-structured and written to support learning about the two main themes. It may also help to make formal methods more approachable to a larger number of students by offering the possibility to follow the book with a software tool, inviting the students to experiment and succeed in (automatically assisted) formal proof.” (Stefan Hallerstede, Formal Aspects of Computing, Vol. 30, 2018)
Erscheinungsdatum | 16.09.2016 |
---|---|
Zusatzinfo | XIII, 298 p. 87 illus., 1 illus. in color. |
Verlagsort | Cham |
Sprache | englisch |
Maße | 155 x 235 mm |
Themenwelt | Informatik ► Theorie / Studium ► Compilerbau |
Schlagworte | Abstract Interpretation • automated reasoning • Compilers • Compilers and interpreters • Computer architecture and logic design • Computer programming / software engineering • Computer Science • Denotational Semantics • Functional Programming • hoare logic • Induction • Isabelle • Logic • logical reasoning • Logics and meanings of programs • Mathematical logic and formal languages • Mathematical theory of computation • program analysis • Programming and scripting languages: general • Programming languages, compilers, interpreters • Proof assistant • Semantics • Type Systems |
ISBN-10 | 3-319-35759-X / 331935759X |
ISBN-13 | 978-3-319-35759-1 / 9783319357591 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich