As computer software becomes more complex, the question of how its correctness can be assured grows ever more critical. Formal logic embodied in computer programs is an important part of the answer to this problem.This must-read text presents the pioneering work of the late Professor Jacob (Jack) T. Schwartz on computational logic and set theory and its application to proof verification techniques, culminating in the tnaNova system, a prototype computer program designed to verify the correctness of mathematical proofs presented in the language of set theory. Taking a systematic approach, the book begins with a survey of traditional branches of logic before describing in detail the underlying design of the tnaNova system. This system is then used to derive several of the main classical results on undecidability and unsolvability. Readers do not require great knowledge of formal logic in order to follow the text, although a good understanding of standard programming techniques, and a familiarity with the mathematics of definitions and proof scenarios is assumed.Topics and features: with a Foreword by Dr. Martin Davis, Professor Emeritus of the Courant Institute of Mathematical Sciences, New York University; describes in depth how a specific first-order theory can be exploited to model and carry out reasoning in branches of computer science and mathematics; presents an unique system for automated proof verification in large-scale software systems; integrates important proof-engineering issues, reflecting the goals of large-scale verifiers; includes an appendix showing formalized proofs of ordinals, of various properties of the transitive closure operation, of finite and transfinite induction principles, and of Zorn's lemma.This ground-breaking work is essential reading for researchers and advanced graduates of computer science.
Computational Logic and Set Theory
Applying Formalized Logic to Analysis