Skip to Content.
Sympa Menu

coq-club - [Coq-Club]Type system in Coq

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club]Type system in Coq


chronological Thread 
  • From: Fabrice Lemercier <nouvid-coq AT yahoo.fr>
  • To: coq-club AT pauillac.inria.fr
  • Subject: [Coq-Club]Type system in Coq
  • Date: Wed, 7 Jun 2006 03:16:07 +0200 (CEST)
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.fr; h=Message-ID:Received:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=FAYnHLwjfsn8hgGll3mZVmFVJxx59fbvL73f/8zXOT9i4Q1RvJ1COqlkUgNgDCdHYCJ++JWmvWABtFBnSJHNOzGqqFaVrxqFzF6x/35/3PCcAaErWeUdrkX/dYvzRqdWncN208E7LSXUztLcJSuSMCznFxnkNARJanBBfc8D8C8= ;
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

Hello,

I am formalizing a language and its type system in
Coq. Follow a simple example which is sufficient to
exhibit my problem.

The syntax of my language (consisting of just one
constant) is given by the following inductive
definition:

  Inductive Trm : Set :=
    trm : Trm.

There is only one typing rules (stating that my
constant is well typed) given by:

  Inductive Typ : Trm->Set :=
    axiom : Typ trm.

Now, I'd like to prove a fundamental property of my
type system which is that for each term there is a
unique type derivation:

  Goal forall t:Trm, forall x y:Typ t, x=y.

I know that if I put Typ in Prop instead of Set, then
I can prove the above statement by using proof
irrelevance in classical logic. But I put them in Set
because I want them to be extracted. What can I do?

Thanks,

Fabrice




__________________________________________________
Do You Yahoo!?
En finir avec le spam? Yahoo! Mail vous offre la meilleure protection 
possible contre les messages non sollicités 
http://mail.yahoo.fr Yahoo! Mail ;





Archive powered by MhonArc 2.6.16.

Top of Page