Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] injectivity of inductive type implies False

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] injectivity of inductive type implies False


Chronological Thread 
  • From: Cristóbal Camarero Coterillo <nakacristo AT hotmail.com>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] injectivity of inductive type implies False
  • Date: Thu, 2 Mar 2017 08:33:11 +0000
  • Accept-language: es-ES, en-US
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=nakacristo AT hotmail.com; spf=Pass smtp.mailfrom=nakacristo AT hotmail.com; spf=None smtp.helo=postmaster AT BLU004-OMC4S31.hotmail.com
  • Ironport-phdr: 9a23:m/S4HxdhH8zRZVp30Liddc6clGMj4u6mDksu8pMizoh2WeGdxc67Zh7h7PlgxGXEQZ/co6odzbGH7ua7ACdZu8jJ8ChbNscTB1ld0YRetjdjKfDGIHWzFOTtYS0+EZYKf35e1Fb/D3JoHt3jbUbZuHy44G1aMBz+MQ1oOra9QdaK3Izkn9y1rtfYZBwNjz6ga5tzKg+3pEPfrINe1YBlM+M6zgbDinpOYeVfg21ycwG9hRH5s+yq/YV/aC5Zv8UK/stJS6jgeJMTSqBVFjUiN2d9sMvithDIVwqU+nw0UmIKlxNJB07O6xSsDcS5iTfzqucogHrSBsbxV71hATk=
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:99

I know very little of the univalence axiom, mainly it implies extensionality (both propositional and functional, I think). Up to which understand it is not a commonly accepted axiom. Does it implies that all non-inhabited types are equal? I suppose it has some sense mathematically, but no so much in programming, where you can use empty classes with different names as identifiers. I have search a little and I haven't found a simple Coq file declaring the univalence axiom.


I got the array example from a library that I made some time ago working with dependent types (using a lot of JMeq, which I denoted by == ).

http://personales.unican.es/camareroc/coq/Array.html


I used in there several times this axiom
Axiom array_typeequality_down: forall (A:Type) (m n:nat),
array A m=array A n->m=n.


I suppose it is not actually necessary and that results like the following could be fixed by adding the hypothesis (m=n).

Lemma array_rewrite_dependent: forall (A B:Type) (m n:nat)
(a:array A m) (b:array A n)
(f:forall n:nat,array A n->B), a==b-> f m a=f n b.


Best regards

--Cristóbal Camarero




Archive powered by MHonArc 2.6.18.

Top of Page