Fundamental Proof Methods in Computer Science: A Computer-Based Approach

Fundamental Proof Methods in Computer Science: A Computer-Based Approach

by Konstantine Arkoudas, David Musser Konstantine Arkoudas
ISBN-10:
0262035537
ISBN-13:
9780262035538
Pub. Date:
05/05/2017
Publisher:
MIT Press
ISBN-10:
0262035537
ISBN-13:
9780262035538
Pub. Date:
05/05/2017
Publisher:
MIT Press
Fundamental Proof Methods in Computer Science: A Computer-Based Approach

Fundamental Proof Methods in Computer Science: A Computer-Based Approach

by Konstantine Arkoudas, David Musser Konstantine Arkoudas

Hardcover

$60.0 Current price is , Original price is $60.0. You
$60.00 
  • SHIP THIS ITEM
    Qualifies for Free Shipping
  • PICK UP IN STORE
    Check Availability at Nearby Stores
  • SHIP THIS ITEM

    Temporarily Out of Stock Online

    Please check back later for updated availability.


Overview

A textbook that teaches students to read and write proofs using Athena.

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.


Product Details

ISBN-13: 9780262035538
Publisher: MIT Press
Publication date: 05/05/2017
Series: The MIT Press
Pages: 976
Product dimensions: 8.10(w) x 9.10(h) x 1.60(d)
Age Range: 18 Years

About the Author

"Working through the exercises in the book will help programmers think rigorously about their code. While learning Athena and going through hundreds of problems is a difficult task, it will lead not only to more correct code, but will help programmers to decompose the code into coherent subcomponents. My professional life would have been easier if this book was available when I was young."
―Alexander Stepanov, coauthor of Elements of Programming and From Mathematics to Generic Programming

"This book serves as both an encyclopedic manual of proof tools and techniques, and as a well-written inspirational manifesto explaining why it is important to be able to think about and work with proofs."
Peter NorvigDirector of Research, Google


Konstantine Arkoudas is a Senior Research Scientist and Software Architect at Bloomberg.

David Musser is Professor Emeritus of Computer Science at Rensselaer Polytechnic Institute.

What People are Saying About This

Alexander Stepanov

Working through the exercises in the book will help programmers think rigorously about their code. While learning Athena and going through hundreds of problems is a difficult task, it will lead not only to more correct code, but will help programmers to decompose the code into coherent subcomponents. My professional life would have been easier if this book was available when I was young.

Rex Page

Fundamental Proof Methods in Computer Science is well thought out and carefully written. The text introduces formal notation from the outset, and employs it throughout the presentation. No other book that I know of brings with it the formalism necessary for mechanized logic processing. This is a significant contribution to the teaching of applications of formal logic in problems relevant to computer science.

Peter Norvig

This book serves as both an encyclopedic manual of proof tools and techniques, and as a well-written inspirational manifesto explaining why it is important to be able to think about and work with proofs.

Endorsement

Working through the exercises in the book will help programmers think rigorously about their code. While learning Athena and going through hundreds of problems is a difficult task, it will lead not only to more correct code, but will help programmers to decompose the code into coherent subcomponents. My professional life would have been easier if this book was available when I was young.

Alexander Stepanov, coauthor of Elements of Programming and From Mathematics to Generic Programming

From the Publisher

This book serves as both an encyclopedic manual of proof tools and techniques, and as a well-written inspirational manifesto explaining why it is important to be able to think about and work with proofs.

Peter Norvig, Director of Research, Google

Fundamental Proof Methods in Computer Science is well thought out and carefully written. The text introduces formal notation from the outset, and employs it throughout the presentation. No other book that I know of brings with it the formalism necessary for mechanized logic processing. This is a significant contribution to the teaching of applications of formal logic in problems relevant to computer science.

Rex Page, Professor Emeritus, School of Computer Science, University of Oklahoma, coauthor of Discrete Mathematics Using a Computer

Working through the exercises in the book will help programmers think rigorously about their code. While learning Athena and going through hundreds of problems is a difficult task, it will lead not only to more correct code, but will help programmers to decompose the code into coherent subcomponents. My professional life would have been easier if this book was available when I was young.

Alexander Stepanov, coauthor of Elements of Programming and From Mathematics to Generic Programming

From the B&N Reads Blog

Customer Reviews