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

Introduction to Computers and Programming

Java 3D Programming

Advanced Linux Programming

Certified Programming with Dependent Types

Programming for Computations - Python, 2nd Edition

Others related eBooks about Certified Programming with Dependent Types

UNIX Programmer's manual

Download UNIX Programmer's manual in PDF, free training course in 300 pages intended to beginners....

How To Think Like A Computer Scientist: C++ Version

The goal of this book is to teach you to think like a computer scientist, using C++ as the programming language. ...

Neural Networks with JavaScript Succinctly

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

RESTful Web Services

With this tutorial you will learn how to build a Web Services with REST protocol ,a free training document material under 148 pages by John Cowan....

First Semester in Numerical Analysis with Julia

This book presents the theory and methods, together with the implementation of the algorithms using the Julia programming language (version 1.1.0). The book covers computer arithmetic, root-finding, numerical quadrature and differentiation, and approximation theory. ...

Create a C# Project with Visual Studio Code free PDF

Download free course Create a C# Project with Visual Studio Code free PDF, pdf file on 6 pages by tutorialkart.com....

Ruby Best Practices

Download free course Ruby Best Practices, pdf file on 329 pages by Gregory T. Brown....

Building Back-End Web Apps with Java, JPA and JSF

This book shows how to build back-end web applications with Java, JPA and JSF. A back-end web app is a distributed web app where essentially all work is performed by the back-end component, including data validation and UI page creation, while the front-end only consists of a web browser's renderi...

Modern C

This book teaches you to take your C programming skills to new heights, whether you're just starting out with C or have more extensive experience. Organized by level, this comprehensive guide lets you jump in where it suits you best while still reaping the maximum benefits....

Java Persistence and Hibernate Guide for developer

This PDF tutorial provides you an introduction to Java Persistence and Hibernate including the code snippets and complete working examples ,download free training document material for developer....