Among the many approaches to formal reasoning about programs, Dynamic Logic enjoys the singular advantage of being strongly related to classical logic. Its variants constitute natural generalizations and extensions of classical formalisms. For example, Propositional Dynamic Logic (PDL) can be described as a blend of three complementary classical ingredients: propositional calculus, modal logic, and the algebra of regular events. In First-Order Dynamic Logic (DL), the propositional calculus is replaced by classical first-order predicate calculus. Dynamic Logic is a system of remarkable unity that is theoretically rich as well as of practical value. It can be used for formalizing correctness specifications and proving rigorously that those specifications are met by a particular program. Other uses include determining the equivalence of programs, comparing the expressive power of various programming constructs, and synthesizing programs from specifications. This book provides the first comprehensive introduction to Dynamic Logic. It is divided into three parts. The first part reviews the appropriate fundamental concepts of logic and computability theory and can stand alone as an introduction to these topics. The second part discusses PDL and its variants, and the third part discusses DL and its variants. Examples are provided throughout, and exercises and a short historical section are included at the end of each chapter.
Author(s): David Harel, Dexter Kozen, Jerzy Tiuryn
Series: Foundations of Computing
Publisher: MIT
Year: 2000
Language: English
Pages: 476
Preface......Page 14
1 Mathematical Preliminaries......Page 20
2 Computability and Complexity......Page 44
3 Logic......Page 84
4 Reasoning About Programs......Page 162
5 Propositional Dynamic Logic......Page 180
6 Filtration and Decidability......Page 208
7 Deductive Completeness......Page 220
8 Complexity of PDL......Page 228
9 Nonregular PDL......Page 244
10 Other Variants of PDL......Page 276
11 First-Order Dynamic Logic......Page 300
12 Relationships with Static Logics......Page 318
13 Complexity......Page 330
14 Axiomatization......Page 344
15 Expressive Power......Page 360
16 Variants of DL......Page 400
17 Other Approaches......Page 414
References......Page 442
Notation and Abbreviations......Page 456
Index......Page 466