Skip Navigation

Colloquium Details

Proofs as programs and proof of programs, an introduction to the Coq system

Author:Hugo Herbelin INRIA-Rocquencourt
Date:May 31, 2001
Time:15:30
Location:220 Deschutes

Abstract

There is a strong correspondence between a mathematical proof and a program: applying a lemma is the same as applying a function and generalization a statement is the same as abstracting a computation over formal parameters.

This correspondence, known as Curry-Howard isomorphism, has been exploited in the mid 80's to build proof-checkers (e.g. NuPrl and MetaPrl, developed at Cornell University, and Coq, of which I am a contributor) allowing automatic extraction of programs from a proof of their specification.

The Coq system has grown into a fairly large general-purpose proof assistant and it is now significantly used for protocol verification, Java code certification, computer algebra systems certification and formalization of mathematical contents.

The main strengths of Coq are