coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Jonathan Leivent <jonikelee AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Is it possible to rewrite under binders?
- Date: Tue, 26 Jan 2016 14:18:27 -0500
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=jonikelee AT gmail.com; spf=Pass smtp.mailfrom=jonikelee AT gmail.com; spf=None smtp.helo=postmaster AT mail-qg0-f48.google.com
- Ironport-phdr: 9a23:KsSixhNuEFQOiCC1KjIl6mtUPXoX/o7sNwtQ0KIMzox0KPj6rarrMEGX3/hxlliBBdydsKIbzbKO+Pm4ASQp2tWojjMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpQAbFhi3DwdpPOO9QteU1JTokbjqsMSLO01hv3mUX/BbFF2OtwLft80b08NJC50a7V/3mEZOYPlc3mhyJFiezF7W78a0+4N/oWwL46pyv50IbaKvdKMhCLdcET4OMmYv5cStuwOQYxGI4y4+VWMfjhpBBUDh4RDkU5Ht+n/4sex82ySeMMDeQrU9WDDk5KBuHky7wBwbPiI0pTmEwvd7i7hW9Uqs
On 01/26/2016 01:56 PM, Hugo Carvalho wrote:
Hi Club!
Consider the following goal:
Example e1 : (fun x => 1 + x) = (fun x => S x).
This is provable, as computation occurs under binders normally, and
addition in Coq happens to be defined recursively over the first argument.
This other goal doesn't look as provable:
Example e2: (fun x => x + 1) = (fun x => S x).
Doesn't seem like you can rewrite "x+1" into "S x" (since you can't
introduce "x" into the context, you can't refer to it in order to
instantiate an equality you'd use to rewrite)... Is this the case? Is this
goal unprovable without relying on axioms (functional extensionality does
the trick, of course)?
It's my understanding that this is not provable in Coq's logic without the addition of the functional extensionality axiom. Not being a type theorist, the way I think about this is to view Leibniz equality as being too strong - it not only says that the functions compute the same results, it says that they compute the same results using the same technique (modulo reduction - which allows 1 + x to reduce to S x). The functional extensionality axiom basically adds "computational technique irrelevance" to Coq. Coq's logic would otherwise allow you to keep computational techniques relevant (modulo reduction again).
But I will differ to the type theorists here - there are many on this list.
-- Jonathan
- [Coq-Club] Is it possible to rewrite under binders?, Hugo Carvalho, 01/26/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Jonathan Leivent, 01/26/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Emilio Jesús Gallego Arias, 01/26/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Pierre-Yves Strub, 01/27/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Thorsten Altenkirch, 01/27/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Jonathan Leivent, 01/27/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Thorsten Altenkirch, 01/27/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Guillaume Melquiond, 01/27/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Jonathan Leivent, 01/27/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Guillaume Melquiond, 01/28/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Pierre-Marie Pédrot, 01/28/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Jonathan Leivent, 01/28/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Pierre-Marie Pédrot, 01/28/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Guillaume Melquiond, 01/28/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Jonathan Leivent, 01/27/2016
- Re: [Coq-Club] Is it possible to rewrite under binders?, Jonathan Leivent, 01/27/2016
Archive powered by MHonArc 2.6.18.