Introduction.- Propositions and Sets.- Relations and Functions.- Inductive Definitions.- Inductive Proofs.- Inductive Approach: Potential, Limitations, and Pragmatics.
Bernhard Steffen studied mathematics at Christian-Albrechts Universität zu Kiel, where he gained his PhD in Computer Science. After postdoctoral positions in the Laboratory for the Foundations of Computer Science at the University of Edinburgh and at Aarhus Universitet, he held staff positions at RWTH Aachen and Universität Passau. Since 1997 he has led the Chair for Programming Systems and Compiler Construction at Technische Universität Dortmund. He founded the international conference TACAS, Tools and Algorithms for the Construction and Analysis of Systems, and the international academic journal Software Tools for Technology Transfer (STTT). He has published over 300 internationally refereed papers and articles, his research interests include formal verification methods and tools for program analysis, compiler optimization, model generation, testing, and service-oriented software development.
Oliver Rüthing studied computer science at Christian-Albrechts Universität zu Kiel, where he worked from 1991 to 1997 as a research associate. After his PhD in 1997 he moved to Technische Universität Dortmund, he is a member of the scientific staff of the Chair for Programming Systems. His research interests include compilers and model checking.
Michael Huth received his PhD in mathematics in 1991 from Tulane University. After postdoctoral and research positions in computer science and mathematics in the US, the UK, and Germany, he was an assistant professor in the Dept. of Computing and Information Sciences at Kansas State University from 1996 to 2001. He moved to the Dept. of Computing at Imperial College London in 2001 where he is now a professor. His research combines blue-sky and application-driven research in cybersecurity, mathematical modeling, and formal verification.
The books in this trilogy capture the foundational core of advanced informatics. The authors make the foundations accessible, enabling students to become effective problem solvers.
This first volume establishes the inductive approach as a fundamental principle for system and domain analysis. After a brief introduction to the elementary mathematical structures, such as sets, propositional logic, relations, and functions, the authors focus on the separation between syntax (representation) and semantics (meaning), and on the advantages of the consistent and persistent use of inductive definitions. They identify compositionality as a feature that not only acts as a foundation for algebraic proofs but also as a key for more general scalability of modeling and analysis. A core principle throughout is invariance, which the authors consider a key for the mastery of change, whether in the form of extensions, transformations, or abstractions.
This textbook is suitable for undergraduate and graduate courses in computer science and for self-study. Most chapters contain exercises and the content has been class-tested over many years in various universities.