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

Others Programming Tutorials

Haskell Tutorial for C Programmers

An Introduction to C & GUI Programming

Defensive Database Programming with SQL Server

OOP - Learn Object Oriented Thinking and Programming

Effective AWK Programming

Others related eBooks about Certified Programming with Dependent Types

Programming Fundamentals: A Modular Structured Approach Using C++

This book is an introduction to computer programming using C++ as the language for writing programmes, and to solid, fundamental programming principles - including writing structured programmes, looping, data structures and iteration. ...

OOP - Learn Object Oriented Thinking and Programming

Download free course OOP - Learn Object Oriented Thinking and Programming, pdf file on 527 pages by Rudolf Pecinovský....

Learning .NET Framework PDF course

Download free Dot net tutorial course in PDF, training file in 59 chapters and 241 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Raspberry Pi Camera Guide

Download free course Raspberry Pi Camera Guide, pdf file on 132 pages by Dan Aldred, Wesley Archer, Jody Carter, PJ Evans, Richard Hayler, James Singleton, Rob Zwetsloot....

Exploring Swift

Swift is more than just a modern replacement for Objective-C. Ever since going open source..., download free Swift tutorial in PDF (94 pages) created by ....

J2EE for NetBeans

Download free Java J2EE for NetBeans course material, tutorial training, a PDF file on 330 pages...

Xamarin.IOS tutorial in PDF

Download free Xamarin.IOS tutorial course in PDF, training file in 23 chapters and 95 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

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....

ASP.NET Core 3.1 Succinctly

Download free course ASP.NET Core 3.1 Succinctly, pdf file on 130 pages by by Simone Chiaretta, Ugo Lattanzi....

Learning haxe PDF course

It is a free haxe ebook created for beginners. The content is extracted from Stack Overflow pltaform, which is written by many haxe developers and contributors....