coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Dan Doel <dan.doel AT gmail.com>
- To: Adam Chlipala <adamc AT hcoop.net>
- Cc: Jeffrey Harris <janglernpl AT gmail.com>, coq-club AT pauillac.inria.fr
- Subject: Re: [Coq-Club] Set, Prop, Type
- Date: Wed, 16 Sep 2009 17:48:22 -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=pJu1LwVQHC5POJHuv4z6OjjSUrFJgL1eSIJkXyh+9KVI1zvjvYUQfMvDVXTcEvAdIQ 6kmSaP4QPvIsn+YkEjd57F7M91Uhha9jxtNsrj3g6WUHElg2nvkLZSiC2nPgqxTZfU6o q1h7i6lWsp0Ho0iBvic2OuxPdisksmr45AkIY=
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
On Wednesday 16 September 2009 11:13:01 am Adam Chlipala wrote:
> The important difference of [Prop] vs. [Type] is that [Prop] is
> impredicative: you may define a [Prop] by quantifying over all [Prop]s.
> This is a natural thing to do, even in basic theorems about
> "propositional" logic, like this:
> forall P : Prop, P -> ~~P
> This statement is itself a [Prop]. If you used [Type] instead of [Prop]
> everywhere (both in this statement and in the standard library), then
> the statement would exist at a higher universe level than the universe
> it quantifies over, so it wouldn't apply to itself.
>
> To me, this justification is separate from the extraction restrictions
> that you asked about. I think [Prop] (as opposed to impredicative
> [Set]) exists solely to enable extraction of efficient programs, so
> there's not so much detective work required about its justification as
> your question suggests. Impredicativity in a type without [Prop]'s
> restrictions _is_ inconsistent with some popular classical axioms, so
> there's another reason.
>
> I think I've heard that Agda is purely predicative, but I might be wrong.
It is. However, one can pass a flag (--type-in-type) to make Set : Set, which
would get you impredicativity as a corollary, I think, although Set : Set is
stronger. With the latter you're able to construct analogues to Russel's
paradox which let you prove false via non-termination:
http://sneezy.cs.nott.ac.uk/darcs/Agda/test/succeed/Hurkens.agda
Obviously Prop isn't subject to this, as it'd be pretty useless if you could
prove false propositions. However, it may be (though I'm not sure) that the
non-computational aspect of Prop is what prevents one from being able to
construct such pathological cases, despite being able to quantify over
arbitrary higher universe levels. Someone with more knowledge than I have
will
have to say whether that's true or not, though.
-- Dan
- [Coq-Club] Set, Prop, Type, Jeffrey Harris
- Re: [Coq-Club] Set, Prop, Type,
Adam Chlipala
- Re: [Coq-Club] Set, Prop, Type, Dan Doel
- Re: [Coq-Club] Set, Prop, Type, Bas Spitters
- Re: [Coq-Club] Set, Prop, Type,
Adam Chlipala
Archive powered by MhonArc 2.6.16.