coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Dan Christensen <jdc AT uwo.ca>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport
- Date: Tue, 12 Nov 2019 16:58:25 -0500
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=Neutral smtp.pra=jdc AT uwo.ca; spf=None smtp.mailfrom=gsmlcc-coq-club AT m.gmane.org; spf=None smtp.helo=postmaster AT blaine.gmane.org
- Cancel-lock: sha1:8JEsBY8boEQGjGcww/+QgUdrmSk=
- Ironport-phdr: 9a23:EbIitR1rEk4e22YDsmDT+DRfVm0co7zxezQtwd8ZsewfL/ad9pjvdHbS+e9qxAeQG9mCsLQd0bud6v2/EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCezbL9oMRm6swHcusYLjYZiKKs61wfErGZPd+lK321jOEidnwz75se+/Z5j9zpftvc8/MNeUqv0Yro1Q6VAADspL2466svrtQLeTQSU/XsTTn8WkhtTDAfb6hzxQ4r8vTH7tup53ymaINH2QLUpUjms86tnVBnlgzoBOjUk8m/Yl9ZwgbpFrhyhuhJxzY3aYI+aO/VicKzQZs8aSXZbU8pNSyBMGJ+wYo0SBOQBJ+ZYqIz9qkMAoxSkAwmnGf3iyj9Shn/3xq06z/ouEQfd3AM+GdIFrXPZrNfoO6gOSu210afJzTLZY/xKwzjw8Y7FeQ0ir/GURb98bM7cxEk1Gw/YjlidrZbpMy6X2+kMqWSX8fRsWOOphmU6sQ9+uCKvyd0pioTRhoIa1FTE9SJhzYkuId23Uk97Ydi6H5dKuCGaMpF5QsU8TG1yvyY60LIGtYa6fCgM1psn2wbSZ+GDfoWI+B7vSeacLDNiiH54er+yhgy+/Va+xuD9TsW01UxFritBktnCrHAN0BnT59CISvtm+0eh3SqA2BzK5u5YJkA0jLPXJIIlwr4tjZUeqkHDEjX5mEXzlqCWcFsr9vKv6+T9bbXqvoWcOJNsigHiLqQundSyDvg/MggXRmSU5eC81KD48kDiW7VLjvg2krHDv5zAJMQboLS5Aw5P3Yo55Ra/FWTu7NNNln4eaVlBZRivjo7zOliILuqrI+24hgGAmTEj7PDcP6b9D5PWI36LxLXtdp5g9EkawwNlnoMX3I5dFrxUeKG7YUT2rtGNVkZoYTzx+P7uDZBG7q1bXGuOBqGDN6aL6g2NoO0qKu+BIogPt2SlcqV317vVlXY83GQlU+yp0J8QMSDqFPBvIkOUJ3Xpi9EMV2AQsVhmFbC4uBi5STdWIk2Kceck/DhrWp+5CsHIT9L3jQ==
- Mail-copies-to: never
On Nov 12, 2019, Talia Ringer
<tringer AT cs.washington.edu>
wrote:
> Does anyone know if it's possible to access the power of
> rewriting, without doing a rewrite? That is, to find a sub-term of
> a given term that unifies with the lhs of a lemma (with arguments)
> and so that the sub-term can be abstracted away from the term?
>
> AFAIK you need access to the internal API for this.
>
> I have a simple OCaml function that does this. Right now it just
> replaces all subterms of a term "bar" convertible with "foo" with
> "foo" itself, and returns a new definition "baz."
It doesn't look to me like this is related to what I asked since it
deals with convertible terms (definitional equality). Can you explain
further?
Here's a simple example of what I want. Given the term
(4 * (m + (3 * n))) * 2
and a Lemma
add_comm : forall a b : nat, a + b = b + a
I would like Coq to figure out that by passing the arguments m and
(3 * n) to add_comm you get an equality whose left-hand-side matches
a sub-term of the given term, and have it generate the function
fun k => (4 * k) * 2
that you get by abstracting the sub-term.
Note that some sub-terms can't be abstracted (at least not in a
trivial way) due to dependencies, and I would want the tactic to
ignore such failures and continue looking for other matches.
Dan
- [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Samuel Gruetter, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Talia Ringer, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Talia Ringer, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Talia Ringer, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Clément Pit-Claudel, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/13/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Clément Pit-Claudel, 11/13/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/13/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Clément Pit-Claudel, 11/13/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/13/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/14/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Jason Gross, 11/14/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/15/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/13/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Talia Ringer, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Dan Christensen, 11/12/2019
- Re: [Coq-Club] rewriting in an equality without eq_ind_r / transport, Samuel Gruetter, 11/12/2019
Archive powered by MHonArc 2.6.18.