Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Using Coq for formalization of mathematics

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Using Coq for formalization of mathematics


chronological Thread 
  • From: Adam Chlipala <adamc AT csail.mit.edu>
  • To: Vladimir Voevodsky <vladimir AT ias.edu>
  • Cc: Coq-Club Club <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] Using Coq for formalization of mathematics
  • Date: Sat, 24 Sep 2011 13:34:59 -0400

Vladimir Voevodsky wrote:
It is arguable whether overusing induction and Prop is of any benefit for the 
type-theoretic formalization of mathematics. In my experience one can 
formalize everything with very few uses of [ Inductive ] and no use of Prop 
at all.

There are two questions here: inductive definitions vs. an impredicative universe. I'm a believer in the usefulness of inductive definitions and increasingly a skeptic about the need for impredicativity.

For example the use of inductive definition for "less or equal" on [ nat ] is 
unnecessary. One can define boolean less or equal [ leb ] as a fix-point and then 
define type-valued less or equal as [ Identity ( leb n m ) true ] . The proofs of all 
the properties are rather straightforward.

Your observation is similar to the one behind Ssreflect: many relations we care about are computable and can be formalized as computations. Many other relations that many of us work with regularly are not computable, such as almost anything dealing with execution of programs in Turing-complete languages.

It's probably possible to build a single parametrized inductive definition that can be instantiated to yield enough behavior for any interesting developments, but this also probably leads to a much less pleasant user experience. I expect greater reliance on traditional first-order logic would have similar bad effects. Inductive definitions just map well to the way that many of us think about math.



Archive powered by MhonArc 2.6.16.

Top of Page