[Agda] Positive but not strictly positive types
Aaron Stump
aaron-stump at uiowa.edu
Thu Apr 9 20:12:30 CEST 2015
Hi, Vilhelm.
It's really great you wrote this up in Coq and put up the blog post
about it. I think that is quite valuable. One small point, though,
that does not come through clearly (to me): the example from the Coquand
and Paulin Colog '88 paper is given in Luo's ECC extended with inductive
types. That is, the type theory needed for the example has a sort for
impredicative quantifications, and then a hierarchy of sorts allowing
only predicative quantification above that. So the example would not
type-check (unmodified) in CIC as defined in Werner's dissertation
(which, if I make my way through the French correctly, extends CC with
inductive types, not ECC).
So it is really the interaction of non-strictly positive types, an
impredicative sort, and a predicative hierarchy above that which leads
to the inconsistency. One might be free to reject one of those and keep
the other two. For example, I have a proof of consistency for a system
which drops the predicative hierarchy but retains non-strictly positive
types and an impredicative sort (I believe this is along the lines
Thierry Coquand suggested on this mailing list some time back).
One might also be interested in whether non-strictly positive types and
the predicative hierarchy (but no impredicative sort) would be
susceptible to the Coquand-Paulin example. If not, then maybe Agda
could allow non-strictly positive types. I don't know if more is known
on this option -- but would love to hear if someone does.
Cheers,
Aaron
On 04/09/2015 11:07 AM, Vilhelm Sjöberg wrote:
> On 2015-04-09 11:49, Andrés Sicard-Ramírez wrote:
>> Retaking the discussion in
>> http://thread.gmane.org/gmane.comp.lang.agda/6008, it's known that
>> using *negative* types it's possible
>>
>> a) to prove absurdity or
>> b) to write non-terminating terms.
>>
>> Is there some example in *Agda* of a positive but not strictly
>> positive type which allows a) or b)?
> I'm interested in the answer to this question also. If I correctly
> understand what Thierry Coquand wrote in the thread you mention, the
> answer is no; because Agda is predicative allowing positive datatypes
> would be sound. But it would be interesting to see this fleshed out more.
>
> I wrote up a blog post about using non-strictly positive datatypes to
> get a paradox in Coq:
> http://vilhelms.github.io/posts/why-must-inductive-types-be-strictly-positive/
>
> Vilhelm
> _______________________________________________
> Agda mailing list
> Agda at lists.chalmers.se
> https://lists.chalmers.se/mailman/listinfo/agda
More information about the Agda
mailing list