coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Jason Gross <jasongross9 AT gmail.com>
- To: coq-club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] evar anomaly
- Date: Fri, 10 Feb 2017 17:35:16 +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-qt0-f175.google.com
- Ironport-phdr: 9a23:MPwFrB2JFW48TOVfsmDT+DRfVm0co7zxezQtwd8Zse0ULvad9pjvdHbS+e9qxAeQG96Kt7QU1KGP6/mocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbQhFgDWwbalxIRi0ogndq9UajZZ/Iast1xXFpWdFdf5Lzm1yP1KTmBj85sa0/JF99ilbpuws+c1dX6jkZqo0VbNXAigoPGAz/83rqALMTRCT6XsGU2UZiQRHDg7Y5xznRJjxsy/6tu1g2CmGOMD9UL45VSi+46ptVRTljjoMOTwk/2HNksF/g6xbrxChqRJxwIDafZ+bO+Zlc6zHYd8XX3BMUtpNWyFDBI63cosBD/AGPeZdt4Tzo0EBrQC5BQmqGejhyyVIhnjt3a0hzu8sFgPG0xY7H9IJtnTUo8/1NKAJUeCuyKTF1jrDb/ZM1jf87IjEaAwuofaJXb9pd8fa1EohFxvdg1mOtYDoOymZ2+cNvmSB8eZsSOOih3Q6pwxzojWiwNonhJPTiYIP0F/E8D10wIYrKt28T052edukH4FRtyGeLod2W98iT31xtCY017ELu562cDIFyJQgwB7fZPiHfJaS7h3/U+aRJC90hHNjeL2hmxa/6VasxvH4W8Wu01tHrjBJnsfRun0MzRDf98qKR/tl8kekwzmP1gTT6u9eIUAzkKrWM5whzaQrlpoUt0TDETX2mELtjK+Nckgp4eeo6+H9bbXnop+QLZN7igb7Mqg2gMywHfw4MhQSX2ic4emzyLrj/VTgTLpWiv02j7LWvYvBJcUbo665GxVa3pwi6xa5FTem0c4XkWMJLFJfK1q7iN3iPEiLK/TlB7/riFO11Txv2vruP7v7A5yLIGKVw5n7erMoyUdHzwx74spY/IkcXrMIO/X1VVX2r8eJJhA8Og2whe3gDYMuhcslRWuTD/rBY+vpuliS67d3Lg==
Yes, this is a bug (an "anomaly" is always a bug worth reporting, though occasionally the bug is just "there should be a real error message here"), but it doesn't seem to occur in Coq 8.6; your "unshelve refine" fails.
On Fri, Feb 10, 2017 at 11:05 AM Tom Hirschowitz <tom.hirschowitz AT univ-smb.fr> wrote:
Hi all,
The little proof below fails on exact (...) with
Anomaly: cannot define an evar twice. Please report.
But it does go through using apply instead of exact.
Is this a bug?
Thanks,
Tom
PS: the code grew out of an attempt at finding an efficient way to program the equivalent
Definition trivial' A (a : A) (F : el (Typ A) a) : El a = F :=
match F with El _ => eq_refl end.
from the tactic language (in a more complex setting, of course).
I'd be grateful for any hints about this too :)
---------------------------------------------------
Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.
Inductive typ : Type -> Type := Typ : forall T, typ T.
Inductive el : forall A, typ A -> A -> Type :=
El : forall A (a : A), el (Typ A) a.
Definition trivial A (a : A) (F : el (Typ A) a) : El a = F.
unshelve refine (@el_rect _ _ A (Typ A) a F).
clear A a F.
intros A X a F.
unshelve refine ((@typ_rect (fun A' X' => (forall a' : A', el X' a' -> Type)) _ A X) a F).
clear A X a F.
intros A a F.
exact (El a = F).
simpl.
reflexivity.
Defined.
- [Coq-Club] evar anomaly, Tom Hirschowitz, 02/10/2017
- Re: [Coq-Club] evar anomaly, Jason Gross, 02/10/2017
- Re: [Coq-Club] evar anomaly, Jonathan Leivent, 02/10/2017
- Re: [Coq-Club] evar anomaly, Tom Hirschowitz, 02/10/2017
- Re: [Coq-Club] evar anomaly, Jonathan Leivent, 02/10/2017
- Re: [Coq-Club] evar anomaly, Jonathan Leivent, 02/10/2017
- Re: [Coq-Club] evar anomaly, Jason Gross, 02/10/2017
Archive powered by MHonArc 2.6.18.