Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] how to combine tactics

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] how to combine tactics


Chronological Thread 
  • From: Jeremy Dawson <Jeremy.Dawson AT anu.edu.au>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] how to combine tactics
  • Date: Tue, 6 Aug 2019 08:33:25 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=anu.edu.au;dmarc=pass action=none header.from=anu.edu.au;dkim=pass header.d=anu.edu.au;arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=f8Jyg3HYQFlTddSyaSj9yElCQGnKANjQsdDAaHRYBAE=; b=gxEGLFpdEJSDmWPAK+bGFHyaAzc0/w9dcvQg/18O4SSZHBpSztriKXLOGOzEjY3P4d0AtICBhuz4/n1siWwOp27Ly4yuE/4b7eqsRtKc29BMtq0DmN2Ye4hch/IUB41Rry5TNIQc3prmQgzLBPzVZDMS9SUX/JYmzn2EldNTW8dykmi1jJpGvF//+EuLTwnV8wNqX30QWaPTxWSpAfMjCHeoh+196+yOcZ0nmbKgCcl8uIqp9w0/8ASlkGK4dlxGxdshEAgb0rlzOlZGcmPimLA22CJgk3PGAHnJXdo544JHlwGTB82O1C1d4A66IFy+7VrWPmmNFWIvwTfUUjURWw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ymr9HZ8c+7jBNZM4mMon2EEpD8pduUrrLiBRjbAenIcp+ziS8vyzq4Wtnf4bP+wLuFs2jZA0ba7d2u0LPwFGB6iORgFsLxkPphOsNkRexOBL4v81u+d6lkgzs4oQEYLT6/0DJ94Bd279N2j2bh9Y+f0CxVjzzasHof08jmXHb+ZnXMCtSTSbOUuY0AFZwtMlozoHaRnFCY2Ye+AxpFWTY0xwwwNF72aY1sCrCOiOo+29vt7DsnVaq4jatlEgbZhTPUQpXUuQvW2yUiffB/rNSKt3r6iV7fsPiSrMm66HZq+n0ye67Gy6TOMZYna1d3Y3oSdTF4HDwodKsq0MolEP9g==
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=Jeremy.Dawson AT anu.edu.au; spf=Pass smtp.mailfrom=Jeremy.Dawson AT anu.edu.au; spf=Pass smtp.helo=postmaster AT AUS01-SY3-obe.outbound.protection.outlook.com
  • Ironport-phdr: 9a23:jBAoSREIm+PRK569B2Nw6J1GYnF86YWxBRYc798ds5kLTJ7yoc2wAkXT6L1XgUPTWs2DsrQY0rCQ6vm4EjRbqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba5sIBmssAndq9UajYR+Jqs/1xDEvmZGd+NKyG1yOFmdhQz85sC+/J5i9yRfpfcs/NNeXKv5Yqo1U6VWACwpPG4p6sLrswLDTRaU6XsHTmoWiBtIDBPb4xz8Q5z8rzH1tut52CmdIM32UbU5Uims4qt3VBPljjoMODkk/mHKkcxwlLxUrw69pxJxxI7UZZuaNPt4fqjAed8XSm5MUsNXWidcAI2zcpEPAvIBM+hGsof9u1UAoxiwBQauBePg1jBGiXDt0K0myuQsCx3K0BA8E98OtnnfsdX7NL0VUeCw1KTGySvMb+lI1jf46InDbx4vruuCXLJrdsrRz1QkGgTBgFqOs4zqITaV1+QXv2aV9eVhW/mvi2khqwxquDevwNoshpPXiY0I11DI7z92wJssKNC+VUV1b9mkEJ5KuCGbMYt7WswiQ2B0uCY6170JooS3fCkNyJkh2hXRaOSHfpCH7x7/TuqdPCt0iXB/dL6iiRu/81KsxvDgWsWpyFpGszRJnsXWunwQ1RHf8NWLR/h580u7xzqC2R3f5vlKIU8qlqfXN5ssz7szm5cTvknOESr7mEvygaKUeEgp//Wn5/j6bbjlo5KTKot5hR/gPakoh8exG/43MhIUUGie4em81KPs/Un+QLhSkvA5nLTXvIzHKcgCu6C2AQFY3p8k6xmkETiqytMYnWQbLF1efxKHko7pNEzULPDgF/e/hEisnyl3yPDaP73hBZPNImLEkLf8YbZ970lcyA0wzdxF+51UDbQBLOryWk/3qtPYEgc0PgOoz+r9FdlxyoETVXiSDqKXMq7eq0KE6v4yL+WUYY8aojf9K/wr5/70in85nEcQc6230psNdn+4G/RnL1+Xb3X2jNYBCmAKvgwlQePwjl2CTCRfaGivUKIh/D00Ep+mAZ/ZRo+xmLyBwDu7HppOa29aDVCMCG7keJmAW/cRcy2fOdRhkzwBVbi5UYAtzxCutAngy7pmNOXY4CMYtYiwnORysqfYkgh3/jhpBeyc1XuMRid6hClAEzQxxeV0pVF34laFy6lxxfJCQ499/fRMByU3L5PZ3qRWAs/pXQSJKvWEUlujU5OKCC4qSdQZytkTJUtxBpOrk0aQjGKRH7YJmunTV9QP+aXG0i2tdp8gmUaD77EoihwdeuUKNWCigfIgpSHuPNaQ1n6ozOOtf6la2zPR/mCey2bIpFtfTAN7TaTCWzYYe1fSqtP6oEjFSu33UOV1Ak560ceHb5ByRJjshFRCSu3kPY2EMWu3hiG9CQvOz67eNdO2KVVY5z3UDQ0/qy5W5WyPbFJsDyG85W/SEXpnCAC3bg==

Hi Jason,

In fact there is a long chain of emails earlier this year with the
subject Re: [Coq-Club] "Sequence is associative." (?)

It seems that pure ; which you'd expect not to be associative, but is,
but it seems that ... ; ... ; [ ... ] is different

coq version is opam-coq.8.8.2/4.02.3 (not sure exactly what this means,
but is what I get from "which coqtop"

Cheers,

Jeremy

On 8/6/19 1:34 AM, Jason -Zhong Sheng- Hu wrote:
> this is surprising. I've been using [...|...] and I experienced nothing
> like this. if my memory did not fail me, I read somewhere that ; is
> associative. what's your coq version?
>
> *Thanks,*
> *Jason Hu*
> *https://hustmphrrr.github.io/*
> ****
> ------------------------------------------------------------------------
> *From:*
> coq-club-request AT inria.fr
>
> <coq-club-request AT inria.fr>
> on behalf
> of Jeremy Dawson
> <Jeremy.Dawson AT anu.edu.au>
> *Sent:* August 5, 2019 9:44 AM
> *To:*
> coq-club AT inria.fr
>
> <coq-club AT inria.fr>
> *Subject:* Re: [Coq-Club] how to combine tactics
> Further to my previous messages I have experimented some more, and find that
>
> induction H ; (eapply derI ; [ NLrule_I | idtac]).
>
> does work.  Ie the parentheses are needed, and make a difference, in
> this case.
>
> (contrast tac1 ; tac2 ; tac3 where parentheses don't make any
> difference, though I would have expected them to).
>
> Cheers,
>
> Jeremy
>
> On 8/5/19 11:27 PM, Jeremy Dawson wrote:
>> Hi Laurent,
>>
>> I'm guessing you mean something like this (but not exactly)
>>
>> induction H ; (eapply derI; [apply: NLrule_I | idtact]).
>>
>> but not exactly, since it gives this error
>>   >                                   ^
>> Error:
>> Syntax error: '<-' or '->' or [constr_with_bindings_arg] expected after
>> 'apply' (in [tactic:simple_tactic]).
>>
>> I've never seen the "apply:" construct, can you clarify?
>>
>> Thanks
>>
>> Jeremy
>>
>>
>> On 8/5/19 3:22 AM, Laurent Thery wrote:
>>>
>>> If you are sure that  eapply derI always generates 2 subgoals,
>>>
>>> you can of course do (eapply derI; [apply: NLrule_I | idtact]).
>>>
>>>
>>> On 8/4/19 3:57 PM, Jeremy Dawson wrote:
>>>> Hi,
>>>>
>>>> I have a tactic eapply derI
>>>> which when applied to a goal produces two resulting goals.
>>>> Of these two I want to apply the tactic NLrule_I to the first one.
>>>> The tactic induction H results in 7 goals.
>>>>
>>>> So when I try
>>>> Proof. intros. induction H ; eapply derI ; [> NLrule_I | ].
>>>> I get the error (not unexpected)
>>>> Error: Incorrect number of goals (expected 14 tactics, was given 2).
>>>>
>>>> When I try
>>>> Proof. intros. induction H ; (eapply derI ; [> NLrule_I | ]).
>>>> I get the same error, which I don't understand at all
>>>> (though the fact that putting in parentheses doesn't have the
>>>> expected result has been discussed on this list previously).
>>>>
>>>> When I try
>>>> Ltac derI_NLr := eapply derI ; [> NLrule_I | ].
>>>> Proof. intros. induction H ; derI_NLr.
>>>> although sometimes defining a tactic using Ltac
>>>> has previously given me what I want and expect,
>>>> in this case again I get the error
>>>> Ltac call to "derI_NLr" failed.
>>>> Incorrect number of goals (expected 14 tactics, was given 2).
>>>>
>>>> How do I apply eapply derI to all goals, then NLrule_I to
>>>> the first subgoal resulting from each instance of eapply derI?
>>>>
>>>> Thanks,
>>>>
>>>> Jeremy
>>>>



Archive powered by MHonArc 2.6.18.

Top of Page