Subject: Ssreflect Users Discussion List
List archive
- From: Georges Gonthier <>
- To: Assia Mahboubi <>, "" <>
- Subject: RE: [ssreflect] ssreflect and omega
- Date: Mon, 22 Feb 2016 11:20:56 +0000
- Accept-language: en-GB, en-US
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=Pass
- Ironport-phdr: 9a23:A2gJcxc+94rFSMhVVYsE3CE4lGMj4u6mDksu8pMizoh2WeGdxc+/ZB7h7PlgxGXEQZ/co6odzbGG7Oa9BSdav96oizMrTt9lb1c9k8IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUiv2OQc9HOnpAIma153xjLDtvcCPKF8WzBOGIppMbzyO5T3LsccXhYYwYo0Q8TDu5kVyRuJN2GlzLkiSlRuvru25/Zpk7jgC86l5r50IeezAcq85Vb1VCig9eyBwvZWz9EqLcQzaz2AHU2xetxNICQ/Y5hCyCr7qqSrz8M902COdIMf3ZbEyQzWrqalxHlugwjwcLTM39GzcluR1l7geoRS7phU5wojOYYjTOuA0NvfGZskXS25MVdp5UjdbR4K6dYoGSesHJ+dR6Yfn8Qggtxy7UCahA/ngxyQAqXjwwa073v5pRQ7B2hAgHt8UmHHVp8/yL6AcTaa+y6yenmaLVO9fxTqosNuASRsmu/zZGOsoKcc=
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:23
I'm afraid this is not correct: a multirule rewrites the first subterm to
which one of the rules applies in a left-to-right traversal of the goal
(caveat: literal matches have priority), with the first rule from the
multirule tree in left-to-right order. For repeated rewrites the selection
process is repeated anew. You can see this in test6 by doing rewrite
2!multi4, which uses eq_adda_b then eq0 on the left-hand side only).
The grouping of pairs does not affect the selection strategy, but it does
make it easier include one rule set in another, revrse the direction of a
rule subset, or (universally) quantify over parameters of a subset of rules
(there is special code that will omit unnecessary quantifiers for rules that
can be syntactically extracted).
Best,
Georges
-----Original Message-----
From:
[mailto:]
On Behalf Of Assia Mahboubi
Sent: 22 February 2016 10:46
To:
Subject: Re: [ssreflect] ssreflect and omega
Hi François,
thank you for spotting this problem in the manual. In the attached file, I
have tried to clarify the description of the semantic of rewrite with
multi-rules and to illustrate its behaviour.
Now a multi-rule nested in another multi-rule is treated just like an atomic
rule. Hence
`rewrite !(eq1, (eq2, eq3))`.
behaves as:
repeat (
repeat rewrite eq1;
repeat (
repeat rewrite eq2;
repeat rewrite eq3
)
).
Hence nested parentheses can be used to implement a normalization procedure
which has to complete a certain sub-normalisation before switching to its
next step.
assia
Le 22/02/2016 08:54, François Pottier a écrit :
>
> Hi Assia,
>
> Thanks for lia4mathcomp, this should be very useful.
>
>> The "Multi-rule rewriting" paragraph, p. 41, includes an example of
>> multi-rule implementing the translation of a signature on nat into
>> another one, which illustrates the possibilities of control (by
>> nested parentheses) mentioned by Georges.
>
> I must say that I find this part of the manual very mysterious. The
> manual says "Note that the inner parentheses of trecE guide the
> rewrite strategy operated by this tactic." OK, so the parentheses
> serve *some* purpose... But what is their exact semantics?
>
- Re: [ssreflect] ssreflect and omega, (continued)
- Re: [ssreflect] ssreflect and omega, Laurent Thery, 02/18/2016
- Re: [ssreflect] ssreflect and omega, François Pottier, 02/18/2016
- Message not available
- Re: [ssreflect] ssreflect and omega, François Pottier, 02/18/2016
- RE: [ssreflect] ssreflect and omega, Georges Gonthier, 02/18/2016
- Re: [ssreflect] ssreflect and omega, Maxime Dénès, 02/18/2016
- Re: [ssreflect] ssreflect and omega, Nicolas Magaud, 02/18/2016
- Re: [ssreflect] ssreflect and omega, Laurent Thery, 02/18/2016
- Re: [ssreflect] ssreflect and omega, Maxime Dénès, 02/18/2016
- Re: [ssreflect] ssreflect and omega, Assia Mahboubi, 02/21/2016
- Re: [ssreflect] ssreflect and omega, François Pottier, 02/22/2016
- Re: [ssreflect] ssreflect and omega, Assia Mahboubi, 02/22/2016
- RE: [ssreflect] ssreflect and omega, Georges Gonthier, 02/22/2016
- Re: [ssreflect] ssreflect and omega, Assia Mahboubi, 02/22/2016
- Re: [ssreflect] ssreflect and omega, Assia Mahboubi, 02/22/2016
- Re: [ssreflect] ssreflect and omega, Enrico Tassi, 02/22/2016
- Re: [ssreflect] ssreflect and omega, Assia Mahboubi, 02/22/2016
- RE: [ssreflect] ssreflect and omega, Georges Gonthier, 02/22/2016
- RE: [ssreflect] ssreflect and omega, Georges Gonthier, 02/18/2016
- Re: [ssreflect] ssreflect and omega, François Pottier, 02/18/2016
- Message not available
- Re: [ssreflect] ssreflect and omega, François Pottier, 02/18/2016
- Re: [ssreflect] ssreflect and omega, Laurent Thery, 02/18/2016
Archive powered by MHonArc 2.6.18.