coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Dan Doel <dan.doel AT gmail.com>
- To: André Hirschowitz <ah AT unice.fr>
- Cc: AUGER Cédric <Cedric.Auger AT lri.fr>, Coq Club <coq-club AT pauillac.inria.fr>
- Subject: Re: [Coq-Club] an inductive types question
- Date: Sun, 11 Oct 2009 20:29:27 -0400
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:date:user-agent:cc:references:in-reply-to :mime-version:content-type:content-transfer-encoding:message-id; b=AOshUo1BKJsJGAn8vsCxQC9aWy7vktMR2uF0hvKfqBTVXai11KuF+hIwr60ZpdzzOQ 4sgJkbazbr3vCkbyYPRABuMEa1MZlO/VCpOWXOJz+dmqsNZeOZsodyypyBShAMsLt39y 9/BSxb76RpwC2ErqhK4VFiFnPiFAFt59J8bA4=
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
On Sunday 11 October 2009 9:53:27 am André Hirschowitz wrote:
> I am not so happy with that example, let me propose a hopefully more
> enlightening one:
>
> you want to define
> Z/2Z. So you would like to write for instance
>
> Inductive Ztwo : Type :=
> O :Ztwo
>
> | S : Ztoo ->Ztwo
>
> WITH forall n :Ztwo , SSn =n.
>
> This corresponding Ztwo_rect (or fixpoint) should generate a proof
> obligation for checking that the recursive formulas are compatible with
> the relations specified under the WITH banner.
This sounds to me like quotient types. Coq is an intensional type theory,
which means its built-in equality is limited to distinguishing constructors,
more or less. So, to work with quotients, people use setoids, which is a set
and an equivalence relation that's supposed to represent equality on the set
in question.
However, there are extensional theories where you can take a setoid
(something) like that and tell the language to make a new type where the
elements are the equivalence classes of such a setoid. It may not be that
simple, but that's the gist. I don't really have experience with such
languages, but NuPRL is one, for instance.
I wouldn't get your hopes up on quotient types being added to Coq, though.
You
might want to read about them anyway, though, and googling "quotient types"
seems to generate a lot of hits.
Cheers.
-- Dan
- Re: [Coq-Club] an inductive types question, (continued)
- Re: [Coq-Club] an inductive types question, Vladimir Voevodsky
- Re: [Coq-Club] an inductive types question, Thorsten Altenkirch
- Re: [Coq-Club] an inductive types question, Vladimir Voevodsky
- Re: [Coq-Club] an inductive types question, Adam Chlipala
- Re: [Coq-Club] an inductive types question, AUGER Cédric
- Re: [Coq-Club] an inductive types question, André Hirschowitz
- Re: [Coq-Club] an inductive types question, AUGER Cédric
- Re: [Coq-Club] an inductive types question, André Hirschowitz
- Re: [Coq-Club] an inductive types question, AUGER Cédric
- Re: [Coq-Club] an inductive types question, André Hirschowitz
- Re: [Coq-Club] an inductive types question, Dan Doel
- [Coq-Club] another question (Prop as a subtype of Set), Vladimir Voevodsky
- [Coq-Club] another question (cont.), Vladimir Voevodsky
- Re: [Coq-Club] another question (cont.), Taral
- [Coq-Club] About extraction and mutual recursion, AUGER Cédric
- [Coq-Club] Typo on coq manual, AUGER
- Re: [Coq-Club] Typo on coq manual, Pierre Letouzey
- Re: [Coq-Club] another question (Prop as a subtype of Set), Matthieu Sozeau
- Re: [Coq-Club] an inductive types question, Vladimir Voevodsky
- Re: [Coq-Club] an inductive types question, AUGER Cédric
- Re: [Coq-Club] an inductive types question, André Hirschowitz
Archive powered by MhonArc 2.6.16.