Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Question about impredicative Set and Prop

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Question about impredicative Set and Prop


Chronological Thread 
  • From: Gaetan Gilbert <gaetan.gilbert AT ens-lyon.fr>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Question about impredicative Set and Prop
  • Date: Tue, 13 Dec 2016 10:31:32 +0100
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=gaetan.gilbert AT ens-lyon.fr; spf=Pass smtp.mailfrom=gaetan.gilbert AT ens-lyon.fr; spf=None smtp.helo=postmaster AT labbe.ens-lyon.fr
  • Ironport-phdr: 9a23:xM+zEBcVZ0+rJWbitNsjNSVRlGMj4u6mDksu8pMizoh2WeGdxcu8YB7h7PlgxGXEQZ/co6odzbGH6Oa+BSdYuN6oizMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVrO+/7BpDdj9it1+C15pbffxhEiCCzbL52Ihi6twTcu8YZjYd+N6o61wfErGZPd+lK321jOEidnwz75se+/Z5j9zpftvc8/MNeUqv0Yro1Q6VAADspL2466svrtQLeTQSU/XsTTn8WkhtTDAfb6hzxQ4r8vTH7tup53ymaINH2QLUpUjms86tnVBnlgzoBOjUk8m/Yl9ZwgbpGrhy/qRxxw43abo+bO/VxfKzSYdwUSHFdXstSTSFNHp+wYoUNAucHIO1Wr5P9p1wLrRamBAejHv3gyiNSiX/wwKY00uUhEQXd0wM+BdIOrGnfodL6NKgIT++10LPHzTPZY/NZ2Df97JPHfQ47ofGQRr9/b8zRyVI2GwPBjlSQrorlMymb1uQXqmWW6fdrW+G3i2M/tg18rSSjyt0uh4TLnI4Z11HJ+CdjzIorO9G0VlZ3bcO4HJZUrS2WKZd6Tt04T211pCo3yKcKtYO7cSUM1Z8p3QTQa+adfIiN+h/jVPieITN/hH99fLKwnQ29/lO+xeHmSMa01k1KojNBktjMsXAN0Qbf6sadSvdl/0eh3yiA1xzL5+1ZLk04ibDXJpwjz7Iqi5YesEbOEjXolEnokqOabkAk9fKp6+TjbLXmvJicN4pshwHxKKshhNC/Dv4+MgQUUGib+OC826b98k3jXLVHleM5kq/CsJzDIcQapqm5AwlP3oYt8RazFy2m38gAnXkbMFJFfwqKgJTuO1HXOfz3EfO/g0m3nzpw3PDHPrjhAo3XIXTZkbfhe6x9609GxwYpw9Bf/cEcNrZUK/XqH0T1qdbwDxkjMgXyzfy0Js9609YxUG+TC6nRH6LWu1KS+qp7LOCBeIYT/jn8L/Io/eLGgHki3FsMeq/v04FBOyPwJehvP0jMOSmkudwGC2pf5gc=

> But of course that doesn't work because the whole \Sigma type now lands in Prop too.

Coq has three different Sigma-like types:

- ex (notation "exists x : A, B") which is implicitly truncated to Prop. I think you're using this one when you want one of the others

- sig (notation "{x : A | B}") where the B must be in Prop. You should be able to use this one.

- sigT (notation "{x : A & B}"), this one should also work for you.

I don't know why the Coq library doesn't make sig and sigT the same type. You can probably pick either as you like.


Another option is to define a custom type for your usage, like this:

Record foo A B (f g : forall x : A, B x) := { val : A; pr : f val = g val }.

It might give you nicer notations but using standard library lemmas about sigma types would be harder.

Gaëtan Gilbert

On 13/12/2016 04:05, Kristina Sojakova wrote:
Dear all,

I am an inexperienced user in Coq and unsure about whether what I am trying to do can be even done in it and if so, how. The theory I am looking for is the following:

1) I need an impredicative universe, which, however, is *not* proof-irrelevant. Let's call it Set.
2) I need to be able to form a \Sigma-type of the form \Sigma x : A. f(x) = g(x) : Set. Here A : Set. However, I want the equality type "f(x) = g(x)" to be *proof_irrelevant*.

Now I don't know what kind of equality to use. If I use "eq" from the Coq standard library then this lands "f(x) = g(x)" in Prop, and that is/can be proof-irrelevant, which is good. But of course that doesn't work because the whole \Sigma type now lands in Prop too. If on the other hand I use some other kind of equality, then it will not be proof-irrelevant.

For people who are simultaneously into homotopy type theory, I essentially need a propositional truncation of
"f(x) = g(x)" but I don't know how to make it work in the Coq type theory.

Thanks!

Kristina





Archive powered by MHonArc 2.6.18.

Top of Page