coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Adam Chlipala <adamc AT csail.mit.edu>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Proof automation class ideas
- Date: Sat, 21 Aug 2021 20:42:20 -0400
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=adamc AT csail.mit.edu; spf=Pass smtp.mailfrom=adamc AT csail.mit.edu; spf=None smtp.helo=postmaster AT outgoing-stata.csail.mit.edu
- Ironport-hdrordr: A9a23:OwocA6BCZ7RfSJ7lHemh55DYdb4zR+YMi2TDpHoBLiC9Ffbo8/xG/c5rsCMc5wxxZJhNo7+90ey7MBHhHP1OkOos1NWZMjUO0VHAROpfBMnZrwEIcBeVygcy78pdmuRFaOHNMQ==
- Ironport-phdr: A9a23:PNS1Rh0HSzTblZTfsmDORQQyDhhOgF0UFjAc5pdvsb9SaKPrp82kYBaHo6Q0xwKWFazgqNt8w9LMtK7hXWFSqb2gi1slNKJ2ahkelM8NlBYhCsPWQWfyLfrtcjBoVJ8aDAwt8H60K1VaF9jjbFPOvHKy8SQSGhLiPgZpO+j5AIHfg9qr2+yo/5DffgpEiTq/bLhvMBi4sALdu9UMj4B/MKgx0BzJonVJe+RS22xlIE+Ykgj/6Mmt4pNt6jxctP09+cFOV6X6ZLk4QqdDDDs6KWA15dbkugfFQACS+3YTSGQWkh5PAwjY8BH3W4r6vyXmuuZh3iSRIMv7Rq02Vzu/9admUALmhjkJNzA582/ZhMJ/g61Zrx29qBJy2JLUbYKPOfZiYq/Qc9EXSGxcVchRTSxBBYa8YpMTAuUcJ+lYqpT2qkUOrRu6BAmsHPngyjtSiXTr2qA1yfkuHhvD3AM8BN8BrG/Uo8/0NKcWS+y1yajIzSnZY/xIxDj99ZHFfxY8qv6DQbx+a9DeyVUzFwzblFWQr5ToMi+J2ukQsWWW7OpuWOCxh2Mjtwx9vySjy8YjhITKmI4Y1l7K+yV6zYg6ONC1TEB2bNCqHpZUty+XK5Z7T8M/T2xupS00yaUGtIamcCQUy5kr3RDSZ+Cdf4SW+B7vSvudLStgiH9ndr+znQi+/VWkx+HmV8S50ExGojdbntXQsH0Gygbd5dKdSvRn+0eswTaP2B7X6uFDOU00krfbK4Iuwr43l5oTt0vDEjbtmEXqlqCWal8r9vK05OT8eLrmp5ucO5VxigH/LqQigNKwDvklMgQWXmib//qz1KH78EHkXrlHjec6n6fFvJzAO8gXvLC1DxJJ3oo77hawFTam0NAWnXkdK1JFfQqKgJL0NF7UJfD3EeyyjEi3kDhxxvDGOqftApDMLnjfirvuY6ty61NExAop0d9f/45UCq0GIP/rRkDxs8XYAgYlPAyw3uboE85w1pgeWGKKGq+WKrnesV6O5uI1IumDfpUZuDjnK6tt2/m7hngg3FQZYKOB3J0NaXn+EO41DV+eZC/Fjt4EWUwKugsmRejjwAmLXTdWbF65RKs94nc+CZ7gAIveENP+yIed1Tu2S8UFLltNDUqBRC+An2qsUOwFaSbUJ8591DEISOr4I2fA/RazqAD9yrxoa/HI8zER85n43dlxoejSiVc/+SEmV6x1NkmGVGh1miUNRiNw0axi8xQV9w==
On 8/21/21 8:20 PM, Talia Ringer wrote:
I remember watching you live prove during DeepSpec 2017. It's quite possible that the example was manufactured since it was educational, but one thing that stood out was that in trying to extend program-specific custom tactics to handle changes, you first made changes within individual proofs, then figured out how to bubble those changes out into your tactic going forward.Yup, that's how I'm used to seeing this style of proof scripting work well.
LLMs I think could be very helpful for figuring out those changes within individual proofs, but as of now, it is likely that a human would still need to observe that such repetition is occurring, then figure out how to generalize it inside of the custom tactic implementation.That would certainly be magical if a machine-learning-based tool could figure out the "fundamentally new" step missing from a proof! My cartoon model says it's only the steps that already more-or-less exist elsewhere that would be suggested. I don't think of generalization of the specific step into a tactic script as particularly labor-intensive; it's finding the specific step that bottlenecks the process.
Though, I'm not certain of that; I think it would be a really interesting exercise for you to find someone with Copilot access, pick a project you're working on, and just hack with Copilot on for a long time, and see what it's good at and what it struggles with for your own style (with an extremely open mind, remembering that it ought to get better over time).
I'd be interested in a more systematic exploration of this for different proving styles if you're interested; I think it’s important to know as we head toward a future where these language models for programming and proving become much more widespread.
I'm skeptical about the long-term value of this sort of tool, for programming in general, with proof scripting in Coq as just one case. That doesn't mean these tools won't catch on like wildfire, even if they are actually part of local optima that are pretty easy to improve with the kind of thinking that we appreciate as logicians.
Specifically, I've seen these tools make up reusable and generalizable units of code by analyzing many examples. I hypothesize that results would be much better with humans providing the reusable units, as well-documented library functions, classes, tactics, whatever. Especially when it is realized via verbose copy and paste of code, automatic generalization strikes me as a crutch to make up for weaknesses in design of languages and/or libraries. It seems pretty bad for code readability.
Machine-learning-base search to build combinator trees, using explicitly declared libraries, could be a best of both worlds, though, quite possibly applicable in proof assistants.
- [Coq-Club] Proof automation class ideas, Talia Ringer, 08/19/2021
- Re: [Coq-Club] Proof automation class ideas, Michael Soegtrop, 08/19/2021
- Re: [Coq-Club] Proof automation class ideas, Adam Chlipala, 08/21/2021
- Re: [Coq-Club] Proof automation class ideas, Lasse Blaauwbroek, 08/21/2021
- Re: [Coq-Club] Proof automation class ideas, Adam Chlipala, 08/22/2021
- Re: [Coq-Club] Proof automation class ideas, Jim Fehrle, 08/22/2021
- Re: [Coq-Club] Proof automation class ideas, Lasse Blaauwbroek, 08/22/2021
- Re: [Coq-Club] Proof automation class ideas, Adam Chlipala, 08/22/2021
- Re: [Coq-Club] Proof automation class ideas, Talia Ringer, 08/22/2021
- Re: [Coq-Club] Proof automation class ideas, Adam Chlipala, 08/22/2021
- Re: [Coq-Club] Proof automation class ideas, Talia Ringer, 08/22/2021
- Re: [Coq-Club] Proof automation class ideas, Adam Chlipala, 08/22/2021
- Re: [Coq-Club] Proof automation class ideas, Talia Ringer, 08/22/2021
- Re: [Coq-Club] Proof automation class ideas, Stefan Monnier, 08/24/2021
- Re: [Coq-Club] Proof automation class ideas, Josef Urban, 08/24/2021
- Re: [Coq-Club] Proof automation class ideas, Talia Ringer, 08/25/2021
- Re: [Coq-Club] Proof automation class ideas, Josef Urban, 08/24/2021
- Re: [Coq-Club] Proof automation class ideas, Adam Chlipala, 08/22/2021
- Re: [Coq-Club] Proof automation class ideas, Lasse Blaauwbroek, 08/21/2021
- Re: [Coq-Club] Proof automation class ideas, Jules Jacobs, 08/22/2021
- Re: [Coq-Club] Proof automation class ideas, Jason Gross, 08/22/2021
Archive powered by MHonArc 2.6.19+.