coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Armaël Guéneau <armael.gueneau AT ens-lyon.fr>
- To: coq-club AT inria.fr, Théo Zimmermann <theo.zimmi AT gmail.com>
- Subject: Re: [Coq-Club] Making COq do more of the search work
- Date: Tue, 13 Mar 2018 10:26:41 +0100
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=armael.gueneau AT ens-lyon.fr; spf=Neutral smtp.mailfrom=armael.gueneau AT ens-lyon.fr; spf=None smtp.helo=postmaster AT labbe.ens-lyon.fr
- Ironport-phdr: 9a23:QIpxchVSIhR0UGJthsaQfOjWqXDV8LGtZVwlr6E/grcLSJyIuqrYbBKAt8tkgFKBZ4jH8fUM07OQ7/i7HzRYqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba98IRmssQndqtQdjJd/JKo21hbHuGZDdf5MxWNvK1KTnhL86dm18ZV+7SleuO8v+tBZX6nicKs2UbJXDDI9M2Ao/8LrrgXMTRGO5nQHTGoblAdDDhXf4xH7WpfxtTb6tvZ41SKHM8D6Uaw4VDK/5KptVRTmijoINyQh/W/KlMJwgqJVrhGvqRNxzIHbYp2aOvVlc6PBft4XX3ZNUtpfWiFDBI63cosBD/AGPeZdt4Twu0EOrR6kCg6wAOPg0j5GhmLs2q08zesuCxzG1xEnEt0UqnTUqc/6O7kWUeyvw6nI0CvMb/VI1jjn9YjFaQ4uofeXXb5pdcrQyU4vFwXfglWes4zoJjWY3fkDvWic6upvT+Ovi2g/pgFtojig2MAsi4jIhoIQz1DL6z95wIMvKt2+Tk53e9ikH4VMty2CNot2RN8iTH9suCog17IJp5i2dzUJxpQ/3xPTdvOKf5SS7h/hVuudOyp0iXNndb6lmRq+71asxvX/W8S3ylpGsy5InsTWunwQ1hHf9NKLRuZ+80qj3zuEyhrd5fteIU8ukKrWM54hzaA0lpoUqUnDGjX5l17tg6CIbEkr5O6o6//+brXipp6cMIl0hhvwMqQ0gsC/AOI4PRYSX2WD5Oix26Hv8Vf7TbhIlPE6j6jUvZLAKcgFuKK1HRdZ0oM55Ba+Czem3s4YnX4CLF9dYh2HlY3pNEvQL/D8F/u/jEmsnyltx//YJLLhH47AIWbFkLf6ZLp9705dyA01zdxF6ZJUEKkNIOjvVU/pqNzYEhg5PhSozObgEdVxz58RWWaSAqCCK67Sql+J5uc3I+aWfoMVuTD9K+Ik5/H0l3M5l0UdLuGV2s4cb2n9FfB7KW2YZ2Dti5EPCyNCggq/S9vYiViHXCRWbnC0F/Yg5jw8TpCnCILCbo+oib2Fmiy8G8sFSHpBDwWlC3Lh9IGzdOqNbi+bP4c1myYBXLWlDYA82BejvRLSxrx8a+7F/Steu4i1h4s93PHaiRxnrW88NM+ayWzYFzglzFNNfCc/2eVEmWI4z16C1aZihPkBTo5e4egMVhY9M9jS1b4gUoygakf6Zt6MDW2ebJC+GzhoFYA8xcRLZ1d6HZOslEKbhnf4M/ouj7WOQacM3Ofc0nz2fpcvz3/M3qRngl89B89eMmvgiLQtrwU=
Hi,
This is a cool writeup Théo, thanks. However after reading Michael's
second message, I was thinking of something a bit different for "forward
reasoning" that what you are describing in that paper.
The way I see it, what you describe with the shelve trick is a way of
doing progress on the goal by backward reasoning, without necessarily
solving it. What I was thinking after reading Michael's explanation was
more something that would deduce more hypothesis from the current set of
hypothesis, using lemmas in a hint base ("saturating" the context in
some sense?).
Michael, is this actually what you were doing? If so, it would indeed be
something I would be very interested in having (and I can imagine how it
requires many hacks to be implemented using typeclasses eauto...).
— Armaël
On 12/03/2018 17:58, Théo Zimmermann wrote:
> Dear Michael,
>
> You may be interested in this 2-page article where I explain how to use
> typeclasses eauto to do forward search in the way that Matthieu suggested:
>
> http://www.theozimmermann.net/TTT2017/abstract/coq-prolog.pdf
>
> Best regards,
>
> Théo
>
>
> On 12/03/2018 16:24, Soegtrop, Michael wrote:
>> Dear Matthieu,
>>
>>
>>
>> what I tried with eauto and typeclass eauto is to modify the goal to
>> True /\ old-goal, split the /\ and use eauto (or typeclass eauto) to
>> solve True, remember the new hypothesis created by forwarding and
>> “transport” these to the context of old-goal – a fairly tricky and
>> fragile process. Is this essentially what you propose? The main
>> problem was that it was fairly fragile – sometimes “transporting” the
>> new hypothesis from one goal context to another fails cause of subtle
>> dependencies, and it was terribly complicated to debug this.
>>
>>
>>
>> I abandoned this and now use some “collection” tactics. I add to the
>> tactic be defining a new one which has new functionality and also
>> calls the old collection tactic. Then I define a tactic notation,
>> which is constantly redefined to call the top level collection tactic.
>> The tactic notation I call in an extern hint. There are a few things
>> on top like for each collection I have sub tactics with various
>> priority levels and so on. If I remember right, Jonathan Leivant
>> proposed this approach to me here on the list, and somehow I sticked
>> to it. Knuth definitely would have put it into appendix D.
>>
>>
>>
>> It somehow works, but it is far away from being as flexible or as
>> efficient as I would like to have it. This forward backward split
>> works efficient in the sense that the number of backtracks is on
>> average no more than 3 times the total proof depth of eauto (even if
>> it is 100 or so). So it is linear with search depth, but the
>> individual steps with all the guarding and hacking are fairly slow.
>>
>>
>>
>> Best regards,
>>
>>
>>
>> Michael
>>
>> Intel Deutschland GmbH
>> Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
>> Tel: +49 89 99 8853-0, www.intel.de
>> Managing Directors: Christin Eisenschmid, Christian Lamprechter
>> Chairperson of the Supervisory Board: Nicole Lau
>> Registered Office: Munich
>> Commercial Register: Amtsgericht Muenchen HRB 186928
>>
>
- [Coq-Club] Making COq do more of the search work, Jim Fehrle, 03/12/2018
- RE: [Coq-Club] Making COq do more of the search work, Soegtrop, Michael, 03/12/2018
- Re: [Coq-Club] Making COq do more of the search work, Abhishek Anand, 03/12/2018
- Re: [Coq-Club] Making COq do more of the search work, Matthieu Sozeau, 03/12/2018
- RE: [Coq-Club] Making COq do more of the search work, Soegtrop, Michael, 03/12/2018
- Re: [Coq-Club] Making COq do more of the search work, Théo Zimmermann, 03/12/2018
- Re: [Coq-Club] Making COq do more of the search work, Armaël Guéneau, 03/13/2018
- Re: [Coq-Club] Making COq do more of the search work, Matthieu Sozeau, 03/13/2018
- Re: [Coq-Club] Making COq do more of the search work, Clément Pit-Claudel, 03/13/2018
- RE: [Coq-Club] Making COq do more of the search work, Soegtrop, Michael, 03/14/2018
- Re: [Coq-Club] Making COq do more of the search work, Armaël Guéneau, 03/13/2018
- Re: [Coq-Club] Making COq do more of the search work, Théo Zimmermann, 03/12/2018
- RE: [Coq-Club] Making COq do more of the search work, Soegtrop, Michael, 03/12/2018
- Re: [Coq-Club] Making COq do more of the search work, R. Pollack, 03/12/2018
- Re: [Coq-Club] Making COq do more of the search work, Matthieu Sozeau, 03/12/2018
- Re: [Coq-Club] Making COq do more of the search work, Abhishek Anand, 03/12/2018
- RE: [Coq-Club] Making COq do more of the search work, Soegtrop, Michael, 03/12/2018
Archive powered by MHonArc 2.6.18.