Synopses & Reviews
This book proposes a purely classical first-order logical approach to the theory of programming. The authors, leading members of the famous "Hungarian school", use this approach to give a unified and systematic presentation of the theory. This approach provides formal methods and tools for reasoning about computer programs and programming languages by allowing the syntactic and semantic characterization of programs, the description of program properties, and ways to check whether a given program satisfies certain properties. The basic methods are logical extension, inductive definition and their combination, all of which admit an appropriate first-order representation of data and time. The framework proposed by the authors allows the investigation and development of different programming theories and logics from a unified point of view. Dynamic and temporal logics, for example, are investigated and compared with respect to their expressive and proof-theoretic powers. The book should appeal to both theoretical researchers and students. For researchers in computer science the book provides a coherent presentation of a new approach which permits the solution of various problems in programming theory in a unified manner by the use of first-order logical tools. The book may serve as a basis for graduate courses in programming theory and logic as it covers all important questions arising between the theory of computation and formal descriptive languages and presents an appropriate derivation system.
Synopsis
This work presents a purely classical first-order logical approach to the field of study in theoretical computer science sometimes referred to as the theory of programs, or programming theory. This field essentially attempts to provide a precise mathematical basis for the common activities involved in reasoning about computer programs and programming languages, and it also attempts to find practical applications in the areas of program specification, verification and programming language design. Many different approaches with different mathematical frameworks have been proposed as a basis for programming theory. They differ in the mathe- matical machinery they use to define and investigate programs and program properties and they also differ in the concepts they deal with to understand the programming paradigm. Different approaches use different tools and viewpoints to characterize the data environment of programs. Most of the approaches are related to mathe- matical logic and they provide their own logic. These logics, however, are very eclectic since they use special entities to reflect a special world of programs, and also, they are usually incomparable with each other. This Babel's mess irritated us and we decided to peel off the eclectic com- ponents and try to answer all the questions by using classical first-order logic.
Synopsis
This book proposes a purely classical first-order logical approach to the theory of programming. It provides a unified framework to present new programming theories and logics systematically and to investigate and compare existing ones with respect to their expressive and proof-theoretic powers.