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: 86
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

Programming for Computations - Python, 2nd Edition

The C Programming Language Handbook

Programming Computer Vision with Python

Effective AWK Programming, 5th Edition

Haskell Tutorial for C Programmers

Others related eBooks about Certified Programming with Dependent Types

Essential Java

This book written to provide clear and concise explanation of topics for programmers both starting to learn the Java programming language as well as those diving in more complex topics. Most examples are linked to online playground that allows you to change the code and re-run it....

The Busy Coder's Guide to Android Development

This book tries to cover as much material as possible, but aimed more for people new to mobile development. The book includes dozens of sample projects, ready to run with your copy of the SDK - not just one huge project where you have difficulty finding the specific examples of the technique you a...

Assemblers And Loaders

Download free course Assemblers And Loaders, pdf file on 299 pages by by David Salomon....

The Pascal Programming Language

This tutorial will give you great understanding on Pascal Programming concepts, Download free PDF training course on 13 pages by B.A.C. Schopman....

Think Java: How to Think Like a Computer Scientist, 2nd Edition

This book is a hands-on introduction to computer science and programming used by many universities and high schools around the world. Its conciseness, emphasis on vocabulary, and informal tone make it particularly appealing for readers with little or no experience. The book starts with the most basi...

Java 3D Programming

Download free course Java 3D Programming, pdf file on 352 pages by Daniel Selman....

Video Game Development in Unity

Download this free tutorial about Video Game Development in Unity, training document on 34 pages intended to beginners....

Learning Android

A complet Android Course in PDF format, this is a free Android ebook created for educational purposes by Stack Overflow documentation....

Essential C#

This book written to provide clear and concise explanation of topics for programmers both starting to learn the C# programming language as well as those diving in more complex topics. Most examples are linked to online playground that allows you to change the code and re-run it....

Programming for Computations - Python

Download free course Programming for Computations - Python, pdf file on 244 pages by Svein Linge, Hans Petter Langtangen....