Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Defining a term making use of eta-conversion without tactics (a bug in 8.4?)

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Defining a term making use of eta-conversion without tactics (a bug in 8.4?)


Chronological Thread 
  • From: Adam Chlipala <adamc AT csail.mit.edu>
  • To: Jason Gross <jasongross9 AT gmail.com>
  • Cc: coq-club <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] Defining a term making use of eta-conversion without tactics (a bug in 8.4?)
  • Date: Mon, 04 Feb 2013 09:44:04 -0500

On 02/04/2013 09:25 AM, Jason Gross wrote:
Hi,
I have the following code:

Let fun_eta (a b : Type) (f : a -> b) : (fun x => f x) = f.
exact eq_refl.
Defined.
Set Printing All.
Print fun_eta.
Check fun (a b : Type) (f : a -> b) =>
@eq_refl (a -> b) (fun x : a => f x) :
forall (a b : Type) (f : a -> b),
@eq (a -> b) (fun x : a => f x) f.
(* Toplevel input, characters 77-229:
Error:

Looks like a shallow bug with pretty-printing and parsing not being inverses. (There are some much more interesting bugs of this kind. :]) The above works with two extra parens:

Check (fun (a b : Type) (f : a -> b) =>
@eq_refl (a -> b) (fun x : a => f x)) :
forall (a b : Type) (f : a -> b),
@eq (a -> b) (fun x : a => f x) f.




Archive powered by MHonArc 2.6.18.

Top of Page