coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Maxime Dénès <mail AT maximedenes.fr>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Strictly positive inductive types
- Date: Thu, 04 Sep 2014 09:32:19 -0400
Hi,
Indeed, that's what I meant by "in general".
Note that Coq doesn't allow positive types that are not strictly positive even when they are small, which probably makes it more conservative than it could be. On the other hand, I don't know if there are many use cases that are impacted.
Best,
Maxime.
On 09/04/2014 09:04 AM, Frédéric Blanqui wrote:
Hello.
Le 11/08/2014 23:23, Maxime Dénès a écrit :
Coq does reject non strictly positive types, even if they are positive. Otherwise it would be inconsistent in general, as you could encode the argument given in [1].Non-strictly positive types are not necessarily inconsistent. In Inductively defined types <http://dx.doi.org/10.1007/3-540-52335-9_47>, COLOG'88, Thierry Coquand and Christine Paulin show that a particular "big" non-strictly positive type is inconsistent (section 3.1, page 59). I call it "big" for it has a constructor having a type argument that is not a parameter. The constructor has type ((X->Prop)->Prop)->X. However, "small" (e.g. replace Prop by bool) non-strictly positive types are harmless.
Best regards,
Frédéric.
I don't know of any flag to disable this check but a patch should not be too hard to write. What's your use case?
Maxime.
[1] A new paradox in type theory, T. Coquand - Proceedings 9th Int. Congress of Logic, Methodology, 1991
On 08/11/2014 05:04 PM, Luke Maurer wrote:
AFAIK, Coq always accepts types that are positive but not strictly so. And it never accepts non-positive occurrences (unlike with Agda, Coq's termination checking is mandatory).
- Luke
On Aug 11, 2014, at 1:54 PM,
<elilobo.v AT gmail.com>
wrote:
How to force Coq to accept non-strictly positive inductive types? Is there a
flag like --no-positivity-check in Agda, to do it?
- Re: [Coq-Club] Strictly positive inductive types, Frédéric Blanqui, 09/04/2014
- Re: [Coq-Club] Strictly positive inductive types, Maxime Dénès, 09/04/2014
- Re: [Coq-Club] Strictly positive inductive types, Ralph Matthes, 09/04/2014
- Re: [Coq-Club] Strictly positive inductive types, Randy Pollack, 09/04/2014
- Re: [Coq-Club] Strictly positive inductive types, Ralph Matthes, 09/04/2014
- Re: [Coq-Club] Strictly positive inductive types, Randy Pollack, 09/04/2014
- Re: [Coq-Club] Strictly positive inductive types, Ralph Matthes, 09/04/2014
- Re: [Coq-Club] Strictly positive inductive types, Thorsten Altenkirch, 09/04/2014
- Re: [Coq-Club] Strictly positive inductive types, Frédéric Blanqui, 09/08/2014
- Re: [Coq-Club] Strictly positive inductive types, Andrés Sicard-Ramírez, 09/05/2014
- Re: [Coq-Club] Strictly positive inductive types, Daniel Schepler, 09/05/2014
- Re: [Coq-Club] Strictly positive inductive types, Andrés Sicard-Ramírez, 09/05/2014
- Re: [Coq-Club] Strictly positive inductive types, Daniel Schepler, 09/05/2014
- <Possible follow-up(s)>
- Re: [Coq-Club] Strictly positive inductive types, J. Ian Johnson, 09/04/2014
- Re: [Coq-Club] Strictly positive inductive types, Maxime Dénès, 09/04/2014
- Re: [Coq-Club] Strictly positive inductive types, Maxime Dénès, 09/04/2014
Archive powered by MHonArc 2.6.18.