Fundamental proof methods in computer science
Subtitle: a computer-based approach
By: Konstantine Arkoudas and David Musser
Contributors: Musser, David R., author
Published: 2017
Language: eng
Number of pages: 941
ISBN-13: 9780262035538
Subjects: Mathematics; Computer science; Proof theory
Description: Proof is the primary vehicle for knowledge generation in mathematics. In computer science, proof has found an additional use: verifying that a particular system (or component, or algorithm) has certain desirable properties. This book teaches students how to read and write proofs using Athena, a freely downloadable computer language. Athena proofs are machine-checkable and written in an intuitive natural-deduction style. The book contains more than 300 exercises, most with full solutions. By putting proofs into practice, it demonstrates the fundamental role of logic and proof in computer science as no other existing text does. Guided by examples and exercises, students are quickly immersed in the most useful high-level proof methods, including equational reasoning, several forms of induction, case analysis, proof by contradiction, and abstraction/specialization. The book includes auxiliary material on SAT and SMT solving, automated theorem proving, and logic programming.  The book can be used by upper undergraduate or graduate computer science students with a basic level of programming and mathematical experience. Professional programmers, practitioners of formal methods, and researchers in logic-related branches of computer science will find it a valuable reference. -- Provided by publisher.
Notes: Includes bibliographical references and index.
Table of contents: title: Introduction --; title: Fundamental proof methods --; title: Proofs about fundamental data types --; title: Proofs about algorithms --; title: Proofs at an abstract level --; title: Proofs about programming languages -- -- appendix A.; title: Athena reference --; title: appendix B.; title: Logic programming and Prolog.