coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- 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
- [Coq-Club] Question about impredicative Set and Prop, Kristina Sojakova, 12/13/2016
- Re: [Coq-Club] Question about impredicative Set and Prop, Gaetan Gilbert, 12/13/2016
- Re: [Coq-Club] Question about impredicative Set and Prop, Dominique Larchey-Wendling, 12/13/2016
- Re: [Coq-Club] Question about impredicative Set and Prop, Burak Ekici, 12/13/2016
- Re: [Coq-Club] Question about impredicative Set and Prop, Gaetan Gilbert, 12/13/2016
Archive powered by MHonArc 2.6.18.