Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Why do we have "Prop < Set" ? Why not just "Prop ≤ Set" ?


Chronological Thread 
  • From: Maxime Dénès <mail AT maximedenes.fr>
  • 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 14:48:47 +0100
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=mail AT maximedenes.fr; spf=Pass smtp.mailfrom=mail AT maximedenes.fr; spf=None smtp.helo=postmaster AT mo4.mail-out.ovh.net
  • Ironport-phdr: 9a23:oUJNvh0Ryn3DpGe/smDT+DRfVm0co7zxezQtwd8Zse0UKfad9pjvdHbS+e9qxAeQG96Kt7QY0qGK4ujJYi8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6JvjvGo7Vks+7y/2+94fdbghMizexe7x/IAi5oQjessQdnJdvJLs2xhbVuHVDZv5YxXlvJVKdnhb84tm/8Zt++ClOuPwv6tBNX7zic6s3UbJXAjImM3so5MLwrhnMURGP5noHXWoIlBdDHhXI4wv7Xpf1tSv6q/Z91SyHNsD4Ubw4RTKv5LptRRT1iikIKiQ5/XnKhMJugqJVoBGvqRJxzIHbYo6aKPVwc7jBfd4ZX2dNQtpdWiJDD466coABD/ABPeFdr4TloFUBtxS/BQipBOzx1zRGiGXx3asj1OQ6DArL2wkgEMgPsHTQt9j1Mb0dUO+0zKnN0zrMcu1Z2THj54jTaBwhr+uMUKt2fMHMykcvDxvIgkiSpIHmJT+Y2PoBv3KF4+Z+Vu+jkWEqpxlsrjWhycogkJTFi4IXx1ze6yl0wJg5KcelREN0fNKpFoZbuTuAOItsWMwiRnlluCYkxb0Cvp62ZC0KyJMoyhLFbvyIaYmI4hb6WOaWPDd4mGhpeLWhhxay60SgzPPzVtWs3FZLqCpKjMXMu2gQ2xHR6cWLUPVw8lm71TqRyQze6ftILE8smareMZEhw7owlpQJsUTEGy/7gED2g7WXdkUg4eWo7v7oY7rnpp+ZKYB7lx/xMqIwlcykG+g4PBIOU3CB+eugzL3j4VH5QLJSg/IqlanZqYnWKtgfpq6kGABYyZ0j6ha6Dze+ytsUh3gHLFRfeBKGlYflIV/OIOqrRcu41l+riXJgw+3MFrznGJTEaHbZw5n7erMozkdMyQ8+hfze4RJPQuUEKfP3ckr4pN3dAxM0NQGvhej9XoYunrgCUH6CV/fKeJjZtkWFs7oi

Hi Matej,

There are at least three sources of confusion in this thread.

1) < vs : (the difference was clearly explained in previous messages)
2) that there is no term of a given type in the current context does not
mean that the type has no inhabitants
3) inductive types *are* part of the core logic, and that's clear from
both the manual and the basic parts of the implementation (see constr.ml)

Maxime.

On 01/19/17 13:42, Matej Kosik wrote:
> On 01/19/2017 12:28 PM, Théo Zimmermann wrote:
>>
>>> I guess that you wanted to say "Prop is impredicative" and "Set is
>>> predicative".
>>
>> Yes, this is what I meant, sorry. I regularly confuse the terminology.
>>
>>> after starting the toplevel like this:
>>>
>>> coqtop -noinit
>>>
>>> neither Prop nor Set have any inhabitants
>>
>> I disagree. Inductive types are part of Coq's logic.
>
> Where did you read that?
> (documentation? source code?)
>
>> Even if you didn't declare any inductive type yet, all the inductive types
>> that you could declare form part of the various universes. Inductive
>> types are not like axioms which, as long as you haven't introduced them,
>> are not part of the logic.
>>
>>> Well, if you claim "Prop < Set", how can you say that "Set" is at the
>>> bottom of the type hierarchy?
>>
>> I want to retract this. But then it really depends on whether we define
>> the hierarchy based on < or on : (having a correspondence between the two
>> would ease the reasoning but Bruno explained why we
>> don't want that).
>>
>> Going back to your initial question, Prop and Set are very specific
>> universes but if you have some Type@{i} <= Type@{j} universe constraint,
>> the constraint resolution algorithm should be able to solve
>> this by making Type@{i} = Type@{j}. In the case of Prop and Set, we
>> clearly don't want that but, as I said, there seem to be other mechanisms
>> to prevent it anyways.
>
> Provided that you are wrong concerning your claim:
>
> Inductive types are part of Coq's logic.
> Even if you didn't declare any inductive type yet, all the inductive
> types that you could declare form part of the various universes.
> Inductive types are not like axioms which, as long as you haven't
> introduced them, are not part of the logic.
>
> you make, I think, a wrong conclusion above.
>



Archive powered by MHonArc 2.6.18.

Top of Page