coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Xavier Leroy <Xavier.Leroy AT inria.fr>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Rewrite does not work
- Date: Thu, 31 Jul 2014 18:48:25 +0200
On 30/07/14 20:11, Jonathan wrote:
> How about this stop-gap proposal: define an unfold hint db to which users
> can add their own hints, and which is used by Coq in cases like rewrite and
> omega (and I'm sure plenty of others). Or, slightly better - have a setting
> like "Add Implicit Autounfolds dbname" so that multiple different hint dbs
> can be used.
Thanks for the suggestion. It could work pretty well for my uses in
CompCert, because I have relatively few type aliases and they get
reused a lot. But Coq beginners would still be baffled, first by the
mysterious failures of rewrite et al, then by the need to build an
unfold hint db...
Why just a stop-gap and not a proper fix? Being curious, I looked at
the implementation of "omega" to undestand why it skips equalities at
types that are aliases of Z. The algorithm is, as far as I
understand:
- normalize the type part of the equality using "pf_nf"
(i.e. "pf_reduce simpl") (apparently something that doesn't unfold
definitions);
- test for equality with the "Z" type constructor.
Why not just a conversion check instead of "normalize (incompletely)
then test for equality"? What could possibly go wrong?
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
- [Coq-Club] Rewrite does not work, Marcus Ramos, 07/27/2014
- Re: [Coq-Club] Rewrite does not work, Jonathan, 07/27/2014
- Re: [Coq-Club] Rewrite does not work, AUGER Cédric, 07/27/2014
- Re: [Coq-Club] Rewrite does not work, Jonathan, 07/27/2014
- Re: [Coq-Club] Rewrite does not work, Pierre-Marie Pédrot, 07/28/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
- 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
Archive powered by MHonArc 2.6.18.