coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Matej Kosik <5764c029b688c1c0d24a2e97cd764f AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?
- Date: Thu, 19 Jan 2017 23:04:28 +0100
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=5764c029b688c1c0d24a2e97cd764f AT gmail.com; spf=Pass smtp.mailfrom=5764c029b688c1c0d24a2e97cd764f AT gmail.com; spf=None smtp.helo=postmaster AT mail-wm0-f41.google.com
- Ironport-phdr: 9a23:onuojRWrpei9L9MhVL3HuFiFte/V8LGtZVwlr6E/grcLSJyIuqrYbBaPt8tkgFKBZ4jH8fUM07OQ6PG8HzBZqs/d7zgrS99lb1c9k8IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUhrwOhBoKevrB4Xck9q41/yo+53Ufg5EmCexbal8IRiyogjdrMYbjZZtJqosxRbEoGZDdvhLy29vOV+dhQv36N2q/J5k/SRQuvYh+NBFXK7nYak2TqFWASo/PWwt68LlqRfMTQ2U5nsBSWoWiQZHAxLE7B7hQJj8tDbxu/dn1ymbOc32Sq00WSin4qx2RhLklDsLOjgk+2zRl8d+jr9UoAi5qhJi3YDUboGbOvlwcKzTctwVR3ZOUMlKWixdAY6xdZcDA/YPMOtaqYT2ulsArQG5BQmpHO7hzSVHhmPo0q04zu8vFAbG3BchH9INrX/Zq9X4OaUTXO260KbE0SvPYvdN1jr864XFcQwureyQUr5sbMXd10YiGBnbglqOrYHoPS+a2fkPvmWa4OdgW/mii2Eiqw5rozivwt0ghZXOhoIQ013J8zhyzoUtJdCgSkN2bsSoHIZOuyyaLYd7Qd0uT3tntSon0rEKp4O3cSYQxJko2hLTcf2KfoaS7h7+SeqcJypzimh/d7KlnRmy9FCtyu3iWcmw11ZHti9FncPNtnAJzhDS5M2HRudk8kev1juDyhrf6u5DIUAzmqrbL4AuzqQsmZoUtETPBi72mEPog6+Kbkgp+Oel5/76brn4ppKQLYx5hh/kPqkhh8CzGeE4PRIPX2if9+S8zrrj/UjhTbhKjPA7k6bUv4zGKcgFoqO2GA5Y34Ug5hmjEjupzMgUkmQZIF9KYh2LkZbmNlXMLf/kEPiygVWhnThlx/3dMb3hB4/CLnnHkLv7Ybl97EtcxBIpzd9D/5JUFq0BIPXrV0Dts9zYFwY1PBCww+b6E9pwzZgeWGKKAq+BKqzeq16I5uQ1I+mNfoAZojj9K+J2r8Lp2HQ+gBoWebSj9ZoRcnGxWPp8cGuDZn+5p94dHGVCnQ0lTe+i3ADdD2JYPyzjVfxstjpiA9qqV9vKHI3837eNg3nnELVZY2lHDhaHFnK+JNbMYOsFdC/HepwpqTcDT7X0E4I=
On 01/19/2017 05:31 PM, Jonathan Leivent wrote:
>
>
> On 01/19/2017 11:20 AM, Matej Kosik wrote:
>> ...
>> Coq < Check (forall x : Set, x) : Set.
>> Toplevel input, characters 0-32:
>> > Check (forall x : Set, x) : Set.
>> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> Error:
>> The term "forall x : Set, x" has type "Type@{Set+1}"
>> while it is expected to have type "Set".
>>
>>
>> So this is not the counter-example that would show that, when I start
>> "coqtop -noinit" it would be the case that:
>>
>> Set not only has all the inhabitants of Prop, but it also has some such
>> inhabitants, which are not in Prop.
>>
>> (in which case we could relax "Prop < Set" to "Prop ≤ Set").
>>
>> Are there such counter-examples?
>
>
> I think you are missing some implications of what Bruno Barras said here:
>
>> The reason why Prop:Set does not hold (although it is consistent in the
>> default settings of Coq: think of Set as Type(0) and Type(i) as Type(i+1))
>> is that Coq allows to make Set impredicative, and
>> we expect this to be an extension of Coq without the option set (all
>> theorems of Coq without the option are theorems of Coq with it).
>> With this option set and Prop:Set, Coq would then contain system U which
>> is inconsistent.
I was not aware of that but I did not want to suggest modification of Coq so
that
Check Prop : Set.
succeeds.
When reading the above note, I was assuming that Bruno reacts to Théo.
(where Théo expressed his surprise that Set is not the type of Prop)
(which consequently surprised me that he could assume something like that)
The way how I interpreted Bruno's note is that the desirable property
"All theorem provable in Coq if Set is predicative (the default situation)
should also be provable in Coq if Set is impredicative (i.e. if we use
-impredicative-set option)."
would be violated only if it would be the case that "Prop:Set", which is not
what I was suggesting.
My question is, would that property be also violated if we relax "Prop ≤ Set"
only for the case when Set is predicative
and keep it as is (Prop < Set) in case when Set is impredicative?
If yes, is there a theorem such that:
- it is provable if Set is predicative and we have relaxed "Prop < Set" to
"Prop ≤ Set"
- and at the same time non-provable if Set is impredicative and we have kept
the original "Prop < Set" constraint.
>
> (this, by the way, would be a great addition to the FAQ).
>
> Note that when -impredicative-set is used, then
>
> Check (forall x : Set, x) : Set.
>
> succeeds. I think that plus the design constraint on Coq Bruno mentioned
> above - all theorems without -impredicative-set are theorems with
> -impredicative-set - might imply that Prop can't bet <= Set
> even without -impredicative-set.
>
> -- Jonathan
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, (continued)
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Matej Kosik, 01/19/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Matej Kosik, 01/19/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Jonathan Leivent, 01/19/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Pierre Courtieu, 01/19/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Théo Zimmermann, 01/19/2017
- [Coq-Club] anonymous inductives (was Re: Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?), Jonathan Leivent, 01/19/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Matej Kosik, 01/19/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Matej Kosik, 01/19/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Dan Frumin, 01/20/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Pierre Courtieu, 01/20/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Matej Kosik, 01/19/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Matej Kosik, 01/19/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Jason Gross, 01/20/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Matej Kosik, 01/21/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Jason Gross, 01/21/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Matej Kosik, 01/21/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Jason Gross, 01/21/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Jason Gross, 01/21/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Gaetan Gilbert, 01/21/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Matej Košík, 01/22/2017
- Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?, Théo Zimmermann, 01/23/2017
Archive powered by MHonArc 2.6.18.