coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Jason Gross <jasongross9 AT gmail.com>
- To: coq-club AT inria.fr, Robbert Krebbers <mailinglists AT robbertkrebbers.nl>
- Subject: Re: [Coq-Club] rewriting without instantiating
- Date: Mon, 3 Dec 2018 23:49:42 -0500
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=jasongross9 AT gmail.com; spf=Pass smtp.mailfrom=jasongross9 AT gmail.com; spf=None smtp.helo=postmaster AT mail-ed1-f46.google.com
- Ironport-phdr: 9a23:pFlgTxQxUphBm2zFWaZTDfkSGNpsv+yvbD5Q0YIujvd0So/mwa69bBWN2/xhgRfzUJnB7Loc0qyK6/CmATRIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSizexfbB/IA+qoQnNq8IbnZZsJqEtxxXTv3BGYf5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbDVwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4qF2QxHqlSgHLSY0/27ZisNyjKxVrhGvqQFhzYHIe4yaLuZyc7nHcN8GWWZMXMBcXDFBDIOmaIsPCvIMM+JCoInmoFsOqwa1Cwi2BOPo0T9InWL90Ko40+s7CgHG2wogH90UsHTTt9X1L6MfXPu6zKnN1zrDbvdW1S3h54jPdxAsuPeBVq9+f8rWzEkgDQLFjlOIpIzkOTOVzOUNvHKB4+puT+KijXMspQJpojW32Msglo3EipgWx13E7yl13po5KN6iREN0YNOpFoZbuTuAOItsWMwiRnlluCYkxb0Cvp62ZC0Kx44mxx7bcvCIbZWH7g/6WOafLjp1hWhpeL24hxa1/kigzvPzWtOo31ZNqypJitjMtnYT2BzP8sWLVOdx80O71TuM1w3f8P9ILVw3mKbBJJMsw6Y8lp8JvkTCGi/2ll/2jKiTdkg8+Oin8f/nYrLgpp+TLY90jRr+Mr8ql8GkDuQ4NxIBX2mf+eimyLLj+kj5TK1QjvIqiqnZrIzaJcMDq6GlBA9Vy58v5Aq7Dze7y9sVhmIHLVJAeBKflYflIVDOIPbiDfe+mVugijlrx+qVdoHmV57KNz3IlKrrVbd78U9VjgQpiZhl4JheB6sdaNHpV0X7ucbDRks8Og2wwuDoDNRmypg2Q2WFCKKDLKDIvFWC6/g0Ze+IMtw7ojH4ftos/PnoxVAjnkQGNf2r1IAQbn+iGe99cm2WZHPthpEKFmJc7Vl2d/DjlFDXCW0bXH21Ra9pvmhqWrLjNp/KQ8WWuJLE2S66GpNMYWUfUwKDFH7pc8OPXPJeMXvOcP8kqSQNUP2ac6FkzQun7VaoxL9uL+6S8Sod58q6iYpFotbLnBR3zgRaSsSQ12bXEjNxl2IMAjI6heVx/RI7xVCE3qx1xfdfEI4L6g==
The general solution I use is a tactic I call set_evars:
Ltac set_evars :=
repeat match goal with
| [ |- context[?ev] ] => is_evar ev; let e := fresh "e" in set (e := ev)
end.
The rewrite tactic will not unfold these context definitions to find the evars underneath them.
On Mon, Dec 3, 2018, 05:49 Emilio Jesús Gallego Arias <e AT x80.org> wrote:
Robbert Krebbers <mailinglists AT robbertkrebbers.nl> writes:
> For this concrete example, it appears that the ssreflect rewrite
> tactic is doing what you want (i.e. it does _not_ instantiate the evar
> with []). I have no idea if this is coincidental, or an explicit
> feature of the ssreflect rewrite tactic.
>
> Maybe some of the ssr developers around here could tell more.
See p. 44, Sec 7.2 of https://hal.inria.fr/inria-00258384v17:
,----
| Existential metavariables and rewriting
|
| The rewrite tactic will not instantiate existing existential
| metavariables when matching a redex pattern
`----
Cheers,
E.
- [Coq-Club] rewriting without instantiating, Jeremy Dawson, 12/03/2018
- Re: [Coq-Club] rewriting without instantiating, Dominique Larchey-Wendling, 12/03/2018
- Re: [Coq-Club] rewriting without instantiating, Jeremy Dawson, 12/03/2018
- Re: [Coq-Club] rewriting without instantiating, Robbert Krebbers, 12/03/2018
- Re: [Coq-Club] rewriting without instantiating, Emilio Jesús Gallego Arias, 12/03/2018
- Re: [Coq-Club] rewriting without instantiating, Jason Gross, 12/04/2018
- Re: [Coq-Club] rewriting without instantiating, Emilio Jesús Gallego Arias, 12/03/2018
- Re: [Coq-Club] rewriting without instantiating, Armaël Guéneau, 12/03/2018
- Re: [Coq-Club] rewriting without instantiating, Robbert Krebbers, 12/03/2018
- Re: [Coq-Club] rewriting without instantiating, Jeremy Dawson, 12/03/2018
- RE: [Coq-Club] rewriting without instantiating, Soegtrop, Michael, 12/03/2018
- Re: [Coq-Club] rewriting without instantiating, Dominique Larchey-Wendling, 12/03/2018
Archive powered by MHonArc 2.6.18.