coq-club AT inria.fr
Subject: The Coq mailing list
List archive
Re: [Coq-Club] In a world of perfect interoperability between proof assistants, what tools would you combine?
Chronological Thread
- From: roux cody <cody.roux AT gmail.com>
- To: coq-club AT inria.fr
- Cc: isabelle-users <isabelle-users AT cl.cam.ac.uk>
- Subject: Re: [Coq-Club] In a world of perfect interoperability between proof assistants, what tools would you combine?
- Date: Sun, 17 May 2020 21:40:14 -0400
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=cody.roux AT gmail.com; spf=Pass smtp.mailfrom=cody.roux AT gmail.com; spf=None smtp.helo=postmaster AT mail-vk1-f179.google.com
- Ironport-phdr: 9a23:QR3maR9IsATadf9uRHKM819IXTAuvvDOBiVQ1KB42+8cTK2v8tzYMVDF4r011RmVBNidsqoYwLaJ+4nbGkU4qa6bt34DdJEeHzQksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1Ov71GonPhMiryuy+4ZLebxhIiTanfL9+MBq7oQreu8QUnIBvNrs/xhzVr3VSZu9Y33loJVWdnxb94se/4ptu+DlOtvwi6sBNT7z0c7w3QrJEAjsmNXs15NDwuhnYUQSP/HocXX4InRdOHgPI8Qv1Xpb1siv9q+p9xCyXNtD4QLwoRTiv6bpgRRn1gykFKjE56nnahcN+jK1ZoByvqR9xzZPKbo6JL/dxZL/RcMkASGZdQspcVSpMCZ68YYsVCOoBOP5Vr5P6p1sTohq1GBWjBOTyxT5Im3T72rE10+M8HgDGxgAgBdUOsGnbrdjuO6cSVPq6zKjMzTnZc/xW3jL95ZHOfxs8rv6CQah+ftDNyUkzCQzFlFOQpJThMj6U2eoAvHaW4/R8WO6zlmMqqw9/rySyy8kii4TEmIEYxkzF+Ct3wos4J8G0RFB4bNK4DpZduT+XOoRyT888RWxjpSU0yqUetJKlYCQHzI4ryh3fZvCdbYSE/A/vWPyMLTp6gH9ofq+0iQyo/ki60OL8U9G50FZUoSpBldnBrnUN2AbS6siDU/d94ESh1SuW2wDd9+1JI0Q5mbDUK54mxb4wmZ4TvlrZEiDqn0X2ibeadkQi+ue29+TqeqvqqoOYOoNuiQzzMr4iltKhDeglKAQCQmqW9OCk2L3m50L5QbFKjvMskqnetZDXPdgUpqmkDA5VyIoj8RG/Dyqp0dkDknkHKUhKeBODj4TzJ17OJ/X4Ae+lg1uwiDdr2+zGPrr5D5rRKXjDia7tcqp5605B0wU+1stf5pJRCrEZOv3/QE7xtNrCDh84KQO42ejnCM8unr8ZDGmIG+qSNL7YmV6O/OMmZeeWN6EPvzOoMf8497blinMo0QsWeqW4m4EQdWCQEfFvIkHfan3p1IRSWVwWtxYzGbS5wGaJViReMi7rAvAMowojAYfjNr/tA4CghLvbgnW+F5xSI35FUxWCSCi5MYqDXPgIZWSZJcozymVVB4jkcJco0FSVjCG/zrNmKuTO/ShB7MDs0dF046vYkhRgrGUoXfTY6HmESiRPpk1NXyU/hfktrkl0y1PF2q990aRV
Isabelle seems to really shine in proof automation, but obviously it doesn't hold much of a candle to automated theorem provers like Vampire, Z3, Minisat, ACL2 (to a certain extent) etc.
Coq has the remarkable advantage that a lot of it's extra structure, type classes, proof witnesses, computational reflection, come for free within the kernel (with the notable exception of modules). Of course this kernel is quite complex, almost the opposite of HOL-light's, which is remarkably trustworthy.
Almost every widely used tool has unique libraries and tactics which are found in no others, of course.
It's hard to tell which of these differences are intrinsic tensions of the tool designs and which are incidental. Contrary to similar debates about programing languages, however, it seems that every one of these can be embedded in some, reasonably trustworthy, super-logic, roughly on par of ZFC + largish cardinal axiom. At the cost of some severe foundational debates though, I guess.
Logics which are really useful and popular right now are linear, modal and seperation logics, which have to be embedded into such a system along with a proof of soundness if you want the same level of trust. This is usually extremely tedious, at least given my limited experience, both WRT notations and proof conveniences. I've seen several examples of systems originally designed as a deep embedding which were then turned into standalone tools because of this tension (CertiCrypt springs to mind).
I'm not sure this tension can be resolved, since there is no common ground in this case (to my knowledge). Twelf might make such a claim as a unifier, but it is a very thin veneer over the astronomical amount of work required to make the logic even remotely usable. There's a reason why in 99% of cases the word "Isabelle" is followed by "/HOL". Logical frameworks have so far not lived up to their promise.
As is usually the case in the PL world, usable languages are often usable because of the quality of the libraries, and their ease of installation. This is largely a language specific effort, unfortunately. This makes me something of a pessimist, as in most domains, but I guess someone's got to occupy that quadrant.
Thanks for the opportunity to rant,
Cody
On Sun, May 17, 2020 at 7:43 PM Talia Ringer <tringer AT cs.washington.edu> wrote:
Say we one day are able to just take things from Isabelle/HOL and use them with Coq developments with no additional effort, or similarly in the opposite direction, or similarly for any other pair of proof assistants. Say we would get strong guarantees about these combined verified systems. Just humor this for a second.In such a world, what systems would you want to combine, and why?Talia
- [Coq-Club] In a world of perfect interoperability between proof assistants, what tools would you combine?, Talia Ringer, 05/18/2020
- Re: [Coq-Club] In a world of perfect interoperability between proof assistants, what tools would you combine?, Klein, Gerwin (Data61, Kensington NSW), 05/18/2020
- Re: [Coq-Club] In a world of perfect interoperability between proof assistants, what tools would you combine?, roux cody, 05/18/2020
- Re: [Coq-Club] In a world of perfect interoperability between proof assistants, what tools would you combine?, Tadeusz Litak, 05/18/2020
- Re: [Coq-Club] [isabelle] In a world of perfect interoperability between proof assistants, what tools would you combine?, Peter Lammich, 05/18/2020
- Re: [Coq-Club] In a world of perfect interoperability between proof assistants, what tools would you combine?, Heiko Becker, 05/29/2020
- Re: [Coq-Club] In a world of perfect interoperability between proof assistants, what tools would you combine?, Abhishek Anand, 05/29/2020
Archive powered by MHonArc 2.6.19+.