coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Maxime Dénès <mail AT maximedenes.fr>
- To: coq-club Club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] Rewrite does not work
- Date: Thu, 31 Jul 2014 14:13:02 -0400
Hello Xavier,
You're raising an important issue, and I guess most users and developers agree that basic Coq tactics desperately need some love.
I see two main reasons why this is not happening more:
- The usual argument: the academic system does not reward such work as it is very hard to publish. So spending time on it, at least for young researchers, is very risky due to peer pressure to publish, and the low number of positions.
- Some well thought design decisions were already taken and implemented in ssreflect's tactics, which leaves little incentive to re-implement them.
Rewrite illustrates very well this second point. As others were saying, for efficiency reasons you don't always want to work up to full conversion (conversion of the rewrite statement, conversion in the goal). Careful design made it possible to retain efficiency, locality of failure and predictability. It's fully implemented and documented in ssr's manual and in a paper : "A Language of Patterns for Subterm Selection", Georges Gonthier and Enrico Tassi, ITP 2012.
What is there more to do on Coq's side, which will not consists in plagiarizing the code, importing incomplete sets of features incrementally?
My personal way of minimizing pain is to use ssreflect's tactics in combination with some of Coq's higher level ones when required.
Omega's example is of a very different nature, because an easy fix is probably indeed doable. In the long term though, it would also deserve an abstract interface à la ring instead of hard-coding the type of integers.
Maxime.
On 07/31/2014 12:48 PM, Xavier Leroy wrote:
Apologies for being probably naive and definitely heavy-handed with this issue, but I strongly feel that a number of basic tactics of Coq could use some love. That they have been clunky for the last two decades and that power users learned to work around this clunkiness is no reason for status quo. - Xavier
- Re: [Coq-Club] Rewrite does not work, (continued)
- Re: [Coq-Club] Rewrite does not work, Cedric Auger, 07/29/2014
- Re: [Coq-Club] Rewrite does not work, Enrico Tassi, 07/29/2014
- Re: [Coq-Club] Rewrite does not work, Xavier Leroy, 07/30/2014
- Re: [Coq-Club] Rewrite does not work, Jonathan, 07/30/2014
- Re: [Coq-Club] Rewrite does not work, Xavier Leroy, 07/31/2014
- Re: [Coq-Club] Rewrite does not work, Jonathan, 07/31/2014
- Re: [Coq-Club] Rewrite does not work, Jason Gross, 07/31/2014
- Re: [Coq-Club] Rewrite does not work, Jonathan, 07/31/2014
- Re: [Coq-Club] Rewrite does not work, Randy Pollack, 07/31/2014
- Re: [Coq-Club] Rewrite does not work, Jonathan, 07/30/2014
- Re: [Coq-Club] Rewrite does not work, Thomas Braibant, 07/31/2014
- Re: [Coq-Club] Rewrite does not work, Maxime Dénès, 07/31/2014
- Re: [Coq-Club] Rewrite does not work, Jonathan, 07/31/2014
- Re: [Coq-Club] Rewrite does not work, Xavier Leroy, 07/30/2014
- Re: [Coq-Club] Rewrite does not work, Enrico Tassi, 07/29/2014
- Re: [Coq-Club] Rewrite does not work, Cedric Auger, 07/29/2014
- Re: [Coq-Club] Rewrite does not work, Laurence Rideau, 07/31/2014
- Re: [Coq-Club] Rewrite does not work, Frédéric Besson, 07/31/2014
- Re: [Coq-Club] Rewrite does not work, Marcus Ramos, 07/29/2014
- Re: [Coq-Club] Rewrite does not work, Cedric Auger, 07/29/2014
Archive powered by MHonArc 2.6.18.