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] proving a lemma in a proof
- Date: Thu, 24 Jan 2019 07:34:20 -0500
- Authentication-results: mail2-smtp-roc.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-phdr: 9a23:22N57hIysOhrVo0j19mcpTZWNBhigK39O0sv0rFitYgRKf3xwZ3uMQTl6Ol3ixeRBMOHs6IC07KempujcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDffwZFiCChbb9uMR67sRjfus4KjIV4N60/0AHJonxGe+RXwWNnO1eelAvi68mz4ZBu7T1et+ou+MBcX6r6eb84TaFDAzQ9L281/szrugLdQgaJ+3ART38ZkhtMAwjC8RH6QpL8uTb0u+ZhxCWXO9D9QLYpUjqg8qhrUgflhjoZOT438G/ZicJ+g6xUrx2juxNxzJXZYJ2WOfdkYq/RYd0XSGhHU81MVyJBGIS8b44XAucdIOlXtYz9rEYQoBu+AQmsBfvvxSVMhnDswKY31P4uHhzc0wwlA90Dq2jbrM7vO6cTVeC51qzIzTTfb/9Mxzjy9ZXIfwknrPqRXrxwadLcxVQxGw7GlFmdp5DpMymL2ugXrWSX8vZsWfqthmI6sQ19vDaiy8k2hoXUho8YyErI+TtkzIs7I9CzVVR1bsS+EJRKsiGXL4t2Td0mQ2FvoCs6zaAGuYK0fCgNyZQnwRHfZ+Wcc4iU+B3jSPyeLS1ki3J+Yr2/hhKy/VKlyu39Ssm4ykhFoTdYktXUt3AN0QLc6tSfR/dg4Eus2iyD2g7P5u1eP0w4j7TXJ4M9zrIok5ocq0XDHiv4mEXsi6+Wc10p9fK15Ov9Z7XpuoSROJNvig7kM6QuntazAeE5MggSRWSU5/mz1KD78U3jXLpKluE2krXesJ3COcsbobe5DxZJ3YYn9hawFCyr0M8YnHkCNFJKYgiLj4nvO1HUIfD3F+2zg1q2kGQj+/eTNbr4R57JM3LrkbH7fL875VQP5hA0yIV265tRQpoBJPPrU0v4/IjRAhY8OCS/2O/mDJN4159YVG6SVPzKeJjOuEOFs7p8a9KHY5UY7W6keqoVosX2hHp8omczOKyg3J8Zcne9R6k0KF6QYH6qh9YdV2oGo1hnFbC4uBi5STdWIk2Kceck/DhiVdCtFo7CQsaogaDH0SumTMUPOzJ2T2uUGHKtTL2qHvcBbCXJep1mjyALUrmnRMo6yRiyvUnx0LNmKqzR+zFeuJ7+hoB4
Thanks for clarifying. Probably the difference is in the level of automation, which, amped up sufficiently, tends to make proof scripts significantly slower but also more general. My understanding is that Iris and CompCert choose the "faster but less general proof scripts" side of the trade-off. It remains to be seen which style will work best for routine use by engineering teams in industry, and indeed it could turn out empirically that less automation (and thus less motivation for nested lemmas) wins!
On 1/24/19 2:48 AM, Ralf Jung wrote:
Hi,
just to give some more data, not *all* large-scale developments need nested
lemmas. Iris (including RustBelt and our other applications) doesn't, and
from
what I was told, CompCert doesn't, either.
This is not to diminish their importance for some landmark developments, but
some of the discussion here made it sound like program verification was not
possible in Coq without nested lemmas. That is not the case.
Kind regards,
Ralf
On 23.01.19 22:02, Adam Chlipala wrote:
Sorry for any offense given, Theo. My only intention was to clarify that
nested
lemmas are an essential feature for production-scale use of Coq ATM as far as
I
can tell, so their implied deprecation by the Coq team, without a named
replacement with the same strengths, is scary. (Earlier messages in this
thread
may or may not deserve to be interpreted in that way. I'm devoting limited
attention to watching coq-club, and I could easily misinterpret statements
after
quick reading.) However, I'm interested which replacements the Coq team is
working on! I only ask that the feature remain until the replacement(s) are
ready. Coq really would be unusable without some feature of this kind, to
work
on a lemma during proof of another, without forcing replaying of parts of the
original lemma's proof script each time a new lemma is added.
On 1/23/19 3:38 PM, Maxime Dénès wrote:
Adam, I understand your remark, but let's not forget that the "cool newAbsolutely. Amping up the baseline performance would help remove the need to
stuff" we have in mind is often closely related to performance (which I
know is dear to your heart).
economize on rerunning proof scripts. I'm just skeptical that the baseline
performance can be pushed high enough any time soon that it stops mattering
that
scripts need to be rerun. (You're probably also not claiming that holy grail
is
attainable any time soon.)
For example, optimizations, delegationA caching mechanism for in-progress proofs could do the same job more
heuristics, caching and invalidation are easier to implement in a
language where the structure of the document, the dependencies between
objects and their scoping are simple. Nested lemmas are making such
analyses more difficult. Which does not mean we should remove them, but
we have to deal with complex trade-offs.
elegantly,
with the right IDE support! That is, if I can edit a lemma before the current
proof, but somehow the state of the current proof is saved well enough that I
can jump right back in later, then, AFAIK, that would satisfy everyone. It
would look nicer in the work-in-progress .v file, too, and save time on
prettifying finished scripts.
- Re: [Coq-Club] proving a lemma in a proof, (continued)
- Re: [Coq-Club] proving a lemma in a proof, Laurent Thery, 01/22/2019
- Re: [Coq-Club] proving a lemma in a proof, Jan Bessai, 01/22/2019
- Re: [Coq-Club] proving a lemma in a proof, Gaëtan Gilbert, 01/23/2019
- Re: [Coq-Club] proving a lemma in a proof, Pierre Courtieu, 01/23/2019
- Re: [Coq-Club] proving a lemma in a proof, Adam Chlipala, 01/23/2019
- Re: [Coq-Club] proving a lemma in a proof, Théo Zimmermann, 01/23/2019
- Re: [Coq-Club] proving a lemma in a proof, Maxime Dénès, 01/23/2019
- Re: [Coq-Club] proving a lemma in a proof, Adam Chlipala, 01/23/2019
- Re: [Coq-Club] proving a lemma in a proof, Ralf Jung, 01/24/2019
- Re: [Coq-Club] proving a lemma in a proof, Théo Zimmermann, 01/24/2019
- Re: [Coq-Club] proving a lemma in a proof, Adam Chlipala, 01/24/2019
- Re: [Coq-Club] proving a lemma in a proof, Beta Ziliani, 01/24/2019
- Re: [Coq-Club] proving a lemma in a proof, Adam Chlipala, 01/23/2019
- Re: [Coq-Club] proving a lemma in a proof, Maxime Dénès, 01/23/2019
- Re: [Coq-Club] proving a lemma in a proof, Théo Zimmermann, 01/23/2019
- Re: [Coq-Club] proving a lemma in a proof, Adam Chlipala, 01/23/2019
- Re: [Coq-Club] proving a lemma in a proof, Pierre Courtieu, 01/23/2019
- Re: [Coq-Club] proving a lemma in a proof, Laurent Thery, 01/22/2019
Archive powered by MHonArc 2.6.18.