Certified Programming with Dependent Types



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.


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
File type : PDF
Downloads: 72
Created: 2022-02-01
License: CC BY-NC-ND
Author(s): by Adam Chlipala
Certified Programming with Dependent Types

Warning: Trying to access array offset on false in /home/tutovnfz/public_html/article.php on line 233

Others Programming Tutorials

Learn Programming

Is Parallel Programming Hard, And, If So, What Can You Do About It?

An Introduction to C & GUI Programming

A Gentle Guide to Constraint Logic Programming via ECLiPSe, 3rd Edition

Haskell Tutorial for C Programmers

Others related eBooks about Certified Programming with Dependent Types

XcalableMP PGAS Programming Language

XcalableMP is a directive-based parallel programming language based on Fortran and C, supporting a Partitioned Global Ad.....

Learning C++

Learn C ++ language step by step, complete PDF tutorial on 920 free download pages created by StackOverFlow....

JavaScript Notes for Professionals

Download free course JavaScript Notes for Professionals, pdf file on 489 pages by Stack Overflow Community....

Download Perl language tutorial

Download free Perl tutorial course in PDF, training file in 40 chapters and 141 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

: Just Enough R: Learn Data Analysis with R in a Day

Learn R programming for data analysis in a single day. The book aims to teach data analysis using R within a single day to anyone who already knows some programming in any other language. The book has sample code which can be downloaded as a zip file. ...

Neural Networks with JavaScript Succinctly

Download free course Neural Networks with JavaScript Succinctly, pdf file on 163 pages by James McCaffrey....

50 Ways to Avoid Find and Fix ASP.NET Performance Issues

Download free course 50 Ways to Avoid Find and Fix ASP.NET Performance Issues, pdf file on 50 pages by Red Gate....

O'Reilly® Think Python, 2nd Edition, - How to Think Like a Computer Scientist

Think Python is an introduction to Python programming for students with no programming experience. It starts with the most basic concepts of programming, and is carefully designed to define all terms when they are first used and to develop each new concept in a logical progression. Larger pieces, ...

An Introduction to Machine Learning

Download free course An Introduction to Machine Learning, pdf file on 348 pages by by Miroslav Kubat....

Modern C

Modern C focuses on the new and unique features of modern C programming. The book is based..., download free Modern C tutorial in PDF (496 pages) created by Jens Gustedt ....