Skip to Content.
Sympa Menu

coq-club - [Coq-Club] About extraction and mutual recursion

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] About extraction and mutual recursion


chronological Thread 
  • From: AUGER Cédric <Cedric.Auger AT lri.fr>
  • Cc: "Coq Club" <coq-club AT pauillac.inria.fr>
  • Subject: [Coq-Club] About extraction and mutual recursion
  • Date: Wed, 14 Oct 2009 10:39:35 +0200
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
  • Organization: ProVal

Hi, all; I wrote this file; I have no question about what I did, but It may interest some of you about modules, records, mutual reflexivity and extraction; and find examples.
There is no explanation on how it works/doesn't work, just understand by yourself.
Use "ocamldoc meta.v" to get an html version.

About records, why is the following syntax defined but not documented in the Coq manual?
I know, it can be useful:

Variable A : Type.
Variable a : A.
Variable equiv : A -> A -> Prop.
Variable foofoo : A -> Prop.

Record foo (barfoo: A) :=
{ bar := a;
  foobar : equiv bar barfoo;
  barbar : foofoo bar
}

then

Definition get_alias_bar bf (f : foo bf) := bar f.

Yes, you can define "let" in records and use it as a field!

I didn't used it in my file, but you can if you want, there are some interesting places.

Attachment: meta.v
Description: Binary data




Archive powered by MhonArc 2.6.16.

Top of Page