Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Abuse of coercions gives weird results in coqtop.

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Abuse of coercions gives weird results in coqtop.


chronological Thread 
  • From: Brandon Moore <brandon_m_moore AT yahoo.com>
  • To: Georgi Guninski <guninski AT guninski.com>, "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] Abuse of coercions gives weird results in coqtop.
  • Date: Mon, 30 May 2011 07:51:47 -0700 (PDT)
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:References:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=fs/oeLZDgPPXRZ9OOXMcy4ggc4rxg45sVql8w+LB/CPStJYHoRnjoETt+qXZUxv62oo4DJqyffG0ziROXqqq/1GcO3COyirPJtx+LF5HOiP1U9kw+GkX4CYnABWBRU43Hfp5hVJQ3Y+IN7N/FkJOpRMWJORcOoXpxe5SKxf6/bk=;

I don't see the point. If you are worried about people playing syntactic 
games,
examine the statement with notations and coercions turned off. You
might as well say you have a "contradiction" because you can write

Notation "'Truth'" := False.

Lemma contradiction : Truth -> False. auto. Qed.

"t" isn't a sort, so it's obvious your goal won't typecheck without
coercions. Displaying coercions, you have

exists a : t, exp2 a -> False.

We see exp2 = (fun _ => False), so this should be equivalent to
exists a : t, (fun _ => False) a -> False.

Unfolding exp2 gives

ex _ (fun _ : True => False -> False).

And there's nothing wrong with being able to prove that.

Brandon




Archive powered by MhonArc 2.6.16.

Top of Page