Download free course Certified Programming with Dependent Types, pdf file on 368 pages by Adam Chlipala.
The technology of mechanized program verification can play a supporting role in many kinds of research projects in computer science, and related tools for formal proof-checking are seeing increasing adoption in mathematics and engineering. This book provides an introduction to the Coq software for writing and checking mathematical proofs. It takes a practical engineering focus throughout, emphasizing techniques that will help users to build, understand, and maintain large Coq developments and minimize the cost of code change over time.
Two topics, rarely discussed elsewhere, are covered in detail: effective dependently typed programming (making productive use of a feature at the heart of the Coq system) and construction of domain-specific proof tactics. Almost every subject covered is also relevant to interactive computer theorem proving in general, not just program verification, demonstrated through examples of verified programs applied in many different sorts of formalizations. The book develops a unique automated proof style and applies it throughout; even experienced Coq users may benefit from reading about basic Coq concepts from this novel perspective. The book also offers a library of tactics, or programs that find proofs, designed for use with examples in the book. Readers will acquire the necessary skills to reimplement these tactics in other settings by the end of the book.
Two topics, rarely discussed elsewhere, are covered in detail: effective dependently typed programming (making productive use of a feature at the heart of the Coq system) and construction of domain-specific proof tactics. Almost every subject covered is also relevant to interactive computer theorem proving in general, not just program verification, demonstrated through examples of verified programs applied in many different sorts of formalizations. The book develops a unique automated proof style and applies it throughout; even experienced Coq users may benefit from reading about basic Coq concepts from this novel perspective. The book also offers a library of tactics, or programs that find proofs, designed for use with examples in the book. Readers will acquire the necessary skills to reimplement these tactics in other settings by the end of the book.
Table of contents
-
Introduction
-
Some Quick Examples
-
Introducing Inductive Types
-
Inductive Predicates
-
Infinite Data and Proofs
-
Subset Types and Variations
-
General Recursion
-
More Dependent Types
-
Dependent Data Structures
-
Reasoning About Equality Proofs
-
Generic Programming
-
Universes and Axioms
-
Proof Search by Logic Programming
-
Proof Search in Ltac
-
Proof by Reflection
-
Proving in the Large
-
A Taste of Reasoning About Programming Language Syntax
Pages : | 368 |
Size : | 4.3 MB |
Downloads: | 72 |
Created: | 2022-02-01 |
License: | CC BY-NC-ND |
Author(s): | by Adam Chlipala |
Warning: Trying to access array offset on false in /home/tutovnfz/public_html/amp/article-amp.php on line 263
Others related eBooks about Certified Programming with Dependent Types
Download free course Java 3D Programming, pdf file on 352 pages by Daniel Selman.
Download free course Effective AWK Programming, pdf file on 572 pages by Arnold Robbins.
When processing text files, the awk language is ideal for handling data extraction, report..., download free AWK Programming tutorial in PDF (572 pages) created by .
Physical computing allows us to build interactive physical systems by using software &..., download free C Programming tutorial in PDF (512 pages) created by Julien Bayle .
Download free course The C Programming Language Handbook, pdf file on 78 pages by Flavio Copes.