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: Maxime Dénès <mail AT maximedenes.fr>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] proving a lemma in a proof
  • Date: Wed, 23 Jan 2019 21:38:00 +0100
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=mail AT maximedenes.fr; spf=Pass smtp.mailfrom=mail AT maximedenes.fr; spf=None smtp.helo=postmaster AT 3.mo68.mail-out.ovh.net
  • Ironport-phdr: 9a23:ZvPWNBePpwHreKBGH75ahya8lGMj4u6mDksu8pMizoh2WeGdxcu7bB7h7PlgxGXEQZ/co6odzbaO4+a4ASQp2tWoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7Ovr6GpLIj8Swyuu+54Dfbx9HiTahYr5+Ngm6oRnMvcQKnIVuLbo8xAHUqXVSYeRWwm1oJVOXnxni48q74YBu/SdNtf8/7sBMSar1cbg2QrxeFzQmLns65Nb3uhnZTAuA/WUTX2MLmRdVGQfF7RX6XpDssivms+d2xSeXMdHqQb0yRD+v6bpgRh31hycdLzM37W/XhMxugqxYrhyuqRNwzIzIb4+aL/d+YqDQcMkGSWZdUMtcVSpMCZ68YYsVCOoBOP5VoY7nqFoBrBu+ABejD/7hxDhSgH/xxLY62PkmHAHDxgMgHtYOvW/RrNrvO6YSUOW1w7fVwjrdafNZxyz95JLGchA7uPyBW697f8nJyUQ3GA7Ij0+cpZH5Mz6VzOgAs2uW4/BhWO6zk2Iqrxx9riKyysotloXFnJ8Zx1TF+Clj3Yo4JNy1RUhmatC+CpRQrTuVN45uT8MiXW5ovCE6x6UItJKheSgKz5Uqyh3FZ/yCaYeI4xbjWP+WITdlmHJpYrW/hwiy8US6zO3zSNW03E5LripDjNbMqmgA2hPS58SdV/dx4kes1SyP2g3Q8O1JIFw4mbLeK5E7w74wkpQTsV7EHi/zgEj2ibWZdkQg+uWz7uToeLrnpp6ZN4Bqlw7xLKIuldKkAegiPAgORXCX+f6g27374U35XLJKg+UqnaneqZDWPNgUpqqkAwBOyYsj8Ba+DzK+0NsCh3UHLVRFeAiGj4fzIV3OLur4Xr+DhAGnly4uzPTbNJXgBI/MJz7NiuTPZ7F4vmtV2As2wJhzZpTUEflVJfvyXmf0vczZCxI1Pgq52KDpEoMuhcslRWuTD/rBY+vpuliS67d3erjeVMouoD/4bsMdybvrhH49l0UaePD3j54eeHG9E/hrJUiCJ3T20I5YTTU6+zEmRemvs2WsFCZJbi/sDac19jA+BY6rC4rYAI630uTYgXWLW6ZOb2UDMWiiVHflc4LeBqVXLieVfJ8nlzUFUf2mVpNn0g+u8gn31+g/Iw==

Hi all,

Théo, I think we should be careful when measuring past investment in
Coq. Of course, the French taxpayer has probably brought a lot more than
others in terms of direct funding (essentially, research and development
time). But there are also many indirect ways that Coq has benefited from
other sources (infrastructure, scientific ideas, reports and suggestions
by users, teaching, advertisement, recognition, etc).

Finally, I think we should take no offense from Adam's comment about the
past century. I believe he was specifically saying that back in the
days, large scale verification in an industrial context was less common
than nowadays.

Michael, I don't recall exactly what I mentioned during the Coq
implementors workshop. But surely I must have had in mind that nested
lemmas make the document structure more complicated, and that their
scoping rule is not ideal, since they survive the proof that contain
them (so the syntactic nesting is not reflected by a semantic scoping).

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). 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.

Pierre, maybe I misunderstood, but there are many cases where moving the
nested lemma before the enclosing proof will change the semantics. From
a trivial name shadowing to global universe constraints that can change
the behavior of tactics.

I hope this whole thread has reassured some of our users in that we
don't plan to remove widely used features that have no replacements, or
willingly neglect some common use cases.

Maxime.

On 1/23/19 6:47 PM, Théo Zimmermann wrote:
> It seems like my reply has triggered a disproportionate reaction that I
> was not expecting. My intent was to communicate some info to a new user
> about a situation that is preexisting and that most people in this
> thread have already discussed over and over. It is true that the use of
> this feature is discouraged. It is also true that it is still needed by
> many users. Finally, it is true that it would have already been removed
> if it hadn't been the case (there is no intent to remove it at this
> time: I even removed the deprecation warning it emitted!). The only
> thing I said and that was not true is that Coq developers have no
> interest in fixing bugs related to nested lemmas. Some Coq developers
> actually do. But some other developers think that they are more useful
> to the user community as a whole (not just the math applications, I
> don't know what makes you believe this) by putting their efforts on
> something else.
>
> Thanks to Maxime for the very thoughtful reply. I want to emphasize the
> point on funding. You may be under the impression that verification
> applications have driven a lot of funding to the development of Coq. So
> far, it isn't the case as far as I can see. It has only paid for few
> postdocs, plus this recent money that some of you put in the Coq
> consortium. This amounts to a ridiculously small figure if you compare
> it to what the French taxpayer has invested since the beginning (and is
> still investing). A significantly larger funding effort from those
> industrial users and abroad academic institutions would be quite
> appreciated. You are also very welcome to participate to the roadmap: as
> Maxime said, the development is open. People inside Inria have no more
> power on the roadmap than people outside it.
>
> Apart from this, I also wanted to say that I found the allegation that
> the Coq development team was stuck in the 20th century really hurtful
> given all the efforts that have been made so that it's precisely not the
> case (e.g. opening of the development). I don't know what you were
> trying to achieve with this claim, except to disgust me and some others.
> Fortunately, most users are more grateful.
>
> Peace,
> Théo
>
> Le mer. 23 janv. 2019 à 16:05, Adam Chlipala
> <adamc AT csail.mit.edu
> <mailto:adamc AT csail.mit.edu>>
> a écrit :
>
> On 1/23/19 6:00 AM, Pierre Courtieu wrote:
> > It looks to me that this feature could be implemented cleanly if some
> > development power were dedicated to it. But there are a lot of cool
> > features to wish for and not an infinite manpower in the coq dev team.
> > It is very good news that some effort are currently dedicated to UI in
> > general.
>
> Thanks for the very thorough summary, Pierre!  And thanks, Maxime,
> for a
> different kind of summary of the Coq team's perspective.
>
> Surely there are many candidates for features to prioritize in
> implementation.  I just want to repeat myself a bit and emphasize that
> the issue of nested lemmas should not be thought of as a feature
> request.  It is a feature that has been in place for a long time and
> indeed forms a central element of how Coq is used. It is
> disproportionately relied on in large-scale developments that have many
> (in at least one case, literally hundreds of millions) real-world users
> depending on them.  It seems like a governance failure if maintaining
> crucial features is weighed equally to adding cool new stuff.
>



Archive powered by MHonArc 2.6.18.

Top of Page