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

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

Programming from the Ground Up: An Introduction to Programming using Linux Assembly Language

Programming Computer Vision with Python

Programming Windows Store Apps with HTML, CSS, and JavaScript

Introduction to Programming with Fortran

Others related eBooks about Certified Programming with Dependent Types

Learning Python Matplotlib

Download free course Learning Python Matplotlib, pdf file on 97 pages by Stack Overflow Community....

Android Application Development for the Intel Platform

Download free course Android Application Development for the Intel Platform, pdf file on 508 pages by by Ryan Cohen, Tao Wang....

Getting started with Scratch programming

SCRATCH is a programming language that lets you create your own interactive stories, animations, games, music, and art. Download this PDF tutorial about programming with Scratch to learn how to create your first amazing animation or games step by step....

C Programming Notes for Professionals

Download free course C Programming Notes for Professionals, pdf file on 341 pages by Stack Overflow Community....

Annotated Algorithms in Python

Download free course Annotated Algorithms in Python, pdf file on 388 pages by by Massimo Di Pierro....

Programming for Computations - Python, 2nd Edition

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

Tutorial XML in PDF

Download free XML tutorial course in PDF, training file in 8 chapters and 25 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Android Programming Basics

Start learning development mobile with this tutorial ,it's an easy trainig document in PDF the about of Android Programming ,free courses under 22 pages for beginners....

Deep Learning in Neural Networks: An Overview

In recent years, deep artificial neural networks (including recurrent ones) have won numerous contests in pattern recognition and machine learning. This historical survey compactly summarises relevant work, much of it from the previous millennium. Shallow and deep learners are distinguished by the...

Introduction to Eclipse

With this PDF tutorial you will learn how to creat a java program using Eclipse ,a free training document for download under 4 pages....