Certified Programming with Dependent Types


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.
Download free tutorial in PDF (368 pages) created by Adam Chlipala .
Pages : 368
Size :
File type : HTML
Downloads: 136
Created: 2021-05-15
License: Free
Author(s): Adam Chlipala
Certified Programming with Dependent Types

Others Certified Programming Tutorials

Others related eBooks about Certified Programming with Dependent Types

Coding with Minecraft: Learn to Code by Programming Robots in Minecraft!

A hands-on introduction to coding that teaches you how to program bots to do cool things in the game you love - Minecraft! This book takes the robotic "turtle" method, and extends it to the 3D, interactive world of Minecraft....

Intertwingled

Download free course Intertwingled, pdf file on 157 pages by Douglas Dechow, Daniele Struppa....

Learn Azure in a Month of Lunches

Download free course Learn Azure in a Month of Lunches, pdf file on 370 pages by Iain Foulds....

TensorFlow Roadmap

Download free course TensorFlow Roadmap, pdf file on 22 pages by Amirsina Torfi....

Asterisk: The Future of Telephony, 2nd Edition

This bestselling book is now the standard guide to building phone systems with Asterisk, t..., download free Asterisk tutorial in PDF (604 pages) created by Jared Smith ....

Energy Efficient Servers

Energy Efficient Servers: Blueprints for Data Center Optimization introduces engineers and..., download free Servers tutorial in PDF (360 pages) created by Corey Gough ....

Handbook of Software Reliability Engineering

This book is the definitive guide to today's most-used software reliability techniques and solutions, contributed by the worlds leading reliability experts. It takes you step by step through software reliability measurement and prediction, the attributes and metrics of product design, development ...

Computational Thinking Education

Download free course Computational Thinking Education, pdf file on 377 pages by Siu-Cheung Kong, Harold Abelson....

Open Data Structures: An Introduction

Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. ...

MATLAB Notes for Professionals

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