coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Jason Gross <jasongross9 AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] help with automating derived UIP_refl proofs
- Date: Thu, 01 Sep 2016 23:08:27 +0000
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=jasongross9 AT gmail.com; spf=Pass smtp.mailfrom=jasongross9 AT gmail.com; spf=None smtp.helo=postmaster AT mail-qk0-f171.google.com
- Ironport-phdr: 9a23:tAjgEhcjPMZmGZ1v+QUspNchlGMj4u6mDksu8pMizoh2WeGdxc6/YB7h7PlgxGXEQZ/co6odzbGH6ua9Aydaut7B6ClEK80UEUddyI0/pE8JOIa9E0r1LfrnPWQRPf9pcxtbxUy9KlVfA83kZlff8TWY5D8WHQjjZ0IufrymUrDbg8n/7e2u4ZqbO1wO32vkJ+4oZ0/t5UWJ749N0NMkcv5wgjLy4VJwM9xMwm1pIV/B1z3d3eyXuKBZziJLpvg6/NRBW6ipN44xTLhfESh0ezttvJ6j5lH/Sl6E4WJZWWELmDJJBRLE5Vf0RMTfqCz/48h0wy6cdeLsSqsvEWCg5rxsThDyjzwcZhY29WjWjop7i6cN80HpnAB234OBONLdD/F5ZK6IJd4=
You should prove that UIP is preserved by sigma types. Then you can turn dependent fields into a single non-dependent one, and use UIP on that.
Given that, I think the appropriate way to get UIP on Fin is to first have some isomorphic type like
Inductive Fin' (n : nat) := FinZ : Fin' n | FinS : forall m, n = S m -> Fin' m -> Fin' n.
You should then separately prove that this is isomorphic to your Fin type, and that this Fin type has UIP for each n. (Alternatively, you could pick the isomorphic type to be { ls : list unit | length ls <= n }, but that might be cheating.)
On Thu, Sep 1, 2016 at 2:47 PM Jonathan Leivent <jonikelee AT gmail.com> wrote:
On 09/01/2016 02:24 AM, Jason Gross wrote:
> I'm no longer convinced this can be done, but I bet asking on hott-cafe, or
> looking at the file PathGroupoid in the HoTT library, could get you ask
> answer (the HoTT name for [f_equal] is [ap])
I may try that, as I've hit another road block: types with indices or
dependent fields. None of the methods discussed so far work for those,
even when using a dependent form of f_equal based on eq_rect. For
instance, try to get UIP on Fin from UIP on nat.
-- Jonathan
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Dominique Larchey-Wendling, 09/01/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jonathan Leivent, 09/01/2016
- Message not available
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jason Gross, 09/01/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jonathan Leivent, 09/01/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jason Gross, 09/01/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jonathan Leivent, 09/01/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jonathan Leivent, 09/01/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jason Gross, 09/01/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jason Gross, 09/01/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jonathan Leivent, 09/01/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jason Gross, 09/02/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Dominique Larchey-Wendling, 09/08/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jonathan Leivent, 09/01/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jason Gross, 09/01/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jonathan Leivent, 09/01/2016
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jason Gross, 09/01/2016
- Message not available
- Re: [Coq-Club] help with automating derived UIP_refl proofs, Jonathan Leivent, 09/01/2016
Archive powered by MHonArc 2.6.18.