Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] proving a lemma in a proof

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] proving a lemma in a proof


Chronological Thread 
  • 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: Wed, 23 Jan 2019 16:02:25 -0500
  • 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-phdr: 9a23:RHpt4hL3lVusbFIF59mcpTZWNBhigK39O0sv0rFitYgRKPXxwZ3uMQTl6Ol3ixeRBMOHs6IC07KempujcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDffwZFiCChbb9uMR67sRjfus4KjIV4N60/0AHJonxGe+RXwWNnO1eelAvi68mz4ZBu7T1et+ou+MBcX6r6eb84TaFDAzQ9L281/szrugLdQgaJ+3ART38ZkhtMAwjC8RH6QpL8uTb0u+ZhxCWXO9D9QLYpUjqg8qhrUgflhjoZOT438G/ZicJ+g6xUrx2juxNxzJXZYJ2WOfdkYq/RYd0XSGhHU81MVyJBGIS8b44XAucdIOlXtYz9rEYQoBu+AQmsBfvvxSVMhnDswKY31P4uHhzc0wwlA90Dq2jbrM7vO6cTVeC51qzIzTTfb/9Mxzjy9ZXIfwknrPqRXrxwadLcxVQxGw7GlFmdp5DpMymL2ugXrWSX8vZsWfqyh2I5qAx9uDaiyts2hoTNmI4Z0E7I+TtkzIszONa2UlR0YcS+H5tVryyaN5V5QsclQ2xwvyY616EGuZG8fCgLzpQnyAfTa+ebc4eS/hLsTvydLitjhH1/ebK/gwy+8U2hyu3gTMW7zktFrjddntnNsHACyQDT59CaRvdj/UqtwziC2xzJ5u1aO0w4i7fXJ4I5zr41jJUTsEDDHiHsmEXxia+bbl8r9fWy5OTifrrrvYOTN5RuhQH/NqQigMm/AeUkMgQUQWeU5Pm82KX5/ULlWLVKkuE2kq7BvZ/GIsQbv7e1DBNR0oY+8BmyFCym0dQdnXkfNl1JYhOHj47zO1HPOv/0F/m/g07/2AtskvvBJ/jqBojHBnnFirboO7hnuGBGzw9m5NxW4tp/CrUAOPv3UwelvdDRCxQROBe9wuKhDdRhkI4SRDTcUeeiLKrOvArQtaoUKO6WadpN4WevG70e//fryEQBtxoYdKit04EQbSnlTP99KkSdJ3/tnpEMHXpY51NiHtyvs0WLVHtoX1j3R7g1v2xpA5mvDIOFQ4GxxrGNwXXjR8AEViV9ElmJVEzQWcCEVvMLM3rAJdJ9nTsFU7fkUJMoyRjovxTzyr4hK+vIvCAUqMC72Q==

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 new
stuff" we have in mind is often closely related to performance (which I
know is dear to your heart).

Absolutely.  Amping up the baseline performance would help remove the need to 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, delegation
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.
A caching mechanism for in-progress proofs could do the same job more 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.



Archive powered by MHonArc 2.6.18.

Top of Page