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: | 61 |
Created: | 2022-02-01 |
License: | CC BY-NC-ND |
Author(s): | by Adam Chlipala |
Others related eBooks about Certified Programming with Dependent Types
Welcome to the world of computer programming! In this book, you will learn the essential concepts of programming using Python language.
This book presents computer programming as a key method for solving mathematical problems...., download free Programming for Computations tutorial in PDF (350 pages) created by Svein Linge .
Download free course Learn Programming, pdf file on 465 pages by Antti Salonen.
Starting from first principles, this book covers all of the foundational material needed to develop a clear understanding of the Mathematica language, with a practical emphasis on solving problems. Concrete examples throughout the text demonstrate how Mathematica language, can be used to solve probl
This is a book on the functional paradigm in general. We'll use the world's most popular f..., download free Functional Programming tutorial in PDF (146 pages) created by Brian Lonsdorf .