Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] UIP and decidable equality

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] UIP and decidable equality


Chronological Thread 
  • From: Jonathan Leivent <jonikelee AT gmail.com>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] UIP and decidable equality
  • Date: Fri, 9 Sep 2016 11:13:48 -0400
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=jonikelee AT gmail.com; spf=Pass smtp.mailfrom=jonikelee AT gmail.com; spf=None smtp.helo=postmaster AT mail-qk0-f177.google.com
  • Ironport-phdr: 9a23:5V5wzxWDMnsrVk51cXstMPeCOKrV8LGtZVwlr6E/grcLSJyIuqrYZRODt8tkgFKBZ4jH8fUM07OQ6PG5HzJcqsbe+DBaKdoXCE9D0Z1X1yUbQ+e7SmTDZMbwaCI7GMkQHHRExFqcdXZvJcDlelfJqWez5zNBUj/2NA5yO/inUtWK15f/hKiO/MjYZBwNjz6ga5tzKg+3pEPfrJo4m4xnf4Q2zBLVonJOM8BbxH1lI07byxT74Maz8Zpu/gxfvvsg84hLVqCsLPdwdqBREDlzazN938bsrxSWFQY=



On 09/09/2016 03:15 AM, Alan Schmitt wrote:
...
I’m wondering about the converse: are there types for which equality is not
decidable, but that have canonical equality proofs hence UIP?

Alan,

I have a class of types that have UIP but not eqdec ({a=b}+{a<>b}). They have instead excluded middle of equality (a=b \/ a<>b), which I call eqem. I had also played with the proofs in Eqdep_dec, and found that the requirement on eqdec there could be relaxed to eqem.

For most uses in Coq, eqem is probably not very useful. However, I am often working in a development that has proof relevance - a single Prop that has an injection axiom on it. The reasons have to do with getting better erasability on extractions than I can otherwise get in Coq. Having this one Prop with injection allows me to get discrimination on all other inductive Props, which allows me to then get eqem on many of them, and hence UIP. Unfortunately, having a proof relevance axiom means I can't use any axioms for proof irrelevance, so I need to prove useful varieties, such as UIP or "irrelevant sibling" (for given prop P, prove the existence of Q <-> P where Q is irrelevant - which I can do if P has eqem).

I have been trying to find various ways to automate proofs of eqdec, eqem, and UIP. I will look closely at your proof to see if I can use it, so thanks for posting it! Also, I didn't yet get a change to examine Dominique Larchey-Wendling's proof of UIP of sigma, but thanks to Dominique for that as well!

Most recently, I have found a very promising way to automate proofs of eqdec or eqem for dependent types - potentially more stable and certainly easier to automate than what I was working on previously at https://github.com/jonleivent/deptacs. It involves proving eqdec (or eqem) on a sigma equality over the dependent type first.

I have wondered if it may be the case in Coq - without any axioms - that every purely inductive non-Prop type has eqdec and hence UIP. By purely and non-Prop, I mean not having Prop or functional typed fields, parameters, or indices. Then, in the case of my proof relevance axiom, this extends to eqem in any purely inductive type, even Props and with Prop components - hence can potentially get UIP for all of them.

-- Jonathan




Archive powered by MHonArc 2.6.18.

Top of Page