coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Beta Ziliani <beta AT mpi-sws.org>
- To: Coq Club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] "Lean is like Coq but better"
- Date: Thu, 2 Jan 2020 21:45:23 -0300
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=beta AT mpi-sws.org; spf=Pass smtp.mailfrom=beta AT mpi-sws.org; spf=None smtp.helo=postmaster AT jupiter.mpi-klsb.mpg.de
- Ironport-phdr: 9a23:xTJnhh/KmUF0nP9uRHKM819IXTAuvvDOBiVQ1KB30OwcTK2v8tzYMVDF4r011RmVBN6dsa4ewLCM+4nbGkU4qa6bt34DdJEeHzQksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1Ov71GonPhMiryuy+4ZLebxhGiTanf79/Iwu6oQrPusUInIBvNrs/xhzVr3VSZu9Y33loJVWdnxb94se/4ptu+DlOtvwi6sBNT7z0c7w3QrJEAjsmNXs15NDwuhnYUQSP/HocXX4InRdOHgPI8Qv1Xpb1siv9q+p9xCyXNtD4QLwoRTiv6bpgRQT2gykbKTE27GDXitRxjK1FphKhuwd/yJPQbI2MKfZyYr/RcdYcSGVGQ8hRSjdBApuiYIQTE+oPM+FYr4znqFsPqxu1GA2gCezrxzNNgHL9wK803Pk7EQze0wMgEdABvnTaotv2KakcT/y6wbLSwjnfdf5bwyvx5JTKfx0nvPqCXahwcc3UyUQ3Cg7KkEmQppb4NDyW1+QNt2mb4PBmVeKulmUqrBp+rSazxsg2kYTJg5oVylHd+SVizoc1Pse0SElhYd6rCZZdsTyROYVxQsMnWW5ouSA6x6UJuZ66YCgKyIknyAXFZ/yGdIiF5A/oWuWJITpgmX5odrayiwyv/UWk0OHxVci53ExXoidFitXAqGwB2hjJ5sWESvZx5Fmt1SuT2wzJ6uxJL0Y5nrfBJZE72L4/jJ8TvFzDHiDonEX2i7ebdkc5+uiw6uTnfqvppoWGO49xkgH+M70ims+7AeQjKQcCRW2b+fyz1LH54EL2Xq1GjvwwkqbHrJDXPdkXq6C9DgNPz4ou7wyzAjSn3dgCgHUKLEpJeBedgIjoP1HOLur4DfC6g1m0izhk2ezGMaf6D5XINnjDka7tfa1z6k5H0gYzyspf551MBrEbPP3zQlPxtMDfDhIhLwO0xP/nBMxh2YMaRGKAGbSUMLjSsF+N/uIgOfOAZI4TuDbnKvgq/eTijXEjmQxVQa789pwOIFu8A/4ud06eeD/nhsoLOWYMpAs3CuLw3g6sSzlWMly/Q6t01DA/CYugDM+XTI2xiZSExCb+BYJNIGdcBQbfQj/Ta4yYVqJUO2qpKch7n2lBCOH4F90RkCq2vQq/8IJJa/LO83RD55f71Z1u+PaVkgs9p2QtXpatllqVRmQxpVsmAjo/3aRxu0t4kwzR1LB5xudHDppU/fwbC15nZ66Z9PRzDpXJYiyEftqNTwz7ENe7GTAtQ8h3xscPJkV5AN/kiwjMmSanUecY
Talking about tactic languages, I agree with Adam that proof engineering is a young field, and we are still finding what are the good abstractions. But Ltac is *very* limited to explore these, and this limitation is what got me into the Mtac projects: I wanted to have good programming practices in my proofs, and Ltac is clearly not up to the task. Lean's way, if it is not the ideal, at least is pointing in the right direction. Same or different language, that's not really important. What matters is what you can do with it.
My 1ct.
Beta
On Thu, Jan 2, 2020 at 9:16 PM Talia Ringer <tringer AT cs.washington.edu> wrote:
Hi, the UW user study mentioned earlier is here: http://tlringer.github.io/pdf/analytics.pdfIt's a start (I say as the first author), but it will not answer every question you have. The infrastructure and data are public. We really, really hope the lessons we learned and the data and infrastructure will help other people with future user studies. Our main goals were to encourage user studies in the Coq community, and figure out some ways to improve automation.We didn't do this study for Lean, but hopefully the lessons for how to conduct these user studies generalize enough to help people outside of just the Coq community. Within Coq, unsurprisingly, some of our users wrote a lot of custom tactics, while some wrote few or none. This is not in the paper, but the data should show this, though you will need to write an analysis to crawl the data and figure out how often those users defined new tactics. More interesting might be how often users messed up while defining those tactics, how much time they spent tweaking tactics, and so on.A controlled study across proof assistants for tactic development would be very challenging given the small number of users in our community and the difficulty of controlling for other variables. But I hope to see people at least try this kind of thing.Anyways, if you care about any of this, please come to our CPP talk. A lot of what I want is to start a community discussion on how we can run better user studies.---With respect to reducing the number of languages: I'm also not sure it's a win, but I do think that one thing Kevin is getting at that is nice is being able to write new commands without using the plugin system or modifying Coq itself. And believe me, I am probably the most enthusiast plugin developer in the community. But when you build a plugin, even for something simple and really universal like the use cases Kevin mentioned, it is very difficult to get users.The particular commands Kevin mentioned maybe aren't necessary in Coq, but I've had people ask me to implement functionality before that I already had implemented and exposed as a Coq command in one of my plugins. Getting developers to use new tools is always hard. Getting developers to use libraries is less hard. It would be nice to be able to write commands directly inside of Coq once in a while, at least for relatively simple things. (The plugin system should still exist alongside that.)On Thu, Jan 2, 2020, 3:33 PM Adam Chlipala <adamc AT csail.mit.edu> wrote:On 1/2/20 6:00 PM, Kevin Buzzard wrote:
It's not clear to me that reducing the number of languages is a clear win, when we often design new languages to better suit different use cases.On Thu, 2 Jan 2020 at 21:55, Adam Chlipala <adamc AT csail.mit.edu> wrote:
I'm not sure I understand this point. Ltac works well for most kinds of
tactic programming. At least, I don't see how it could be held not to
meet the binary requirement of "a rich programming environment with
useful abstractions."
I am not a computer scientist and I don't have much experience with Coq,but with Lean you only need to learn one language not two,
At least in Coq, I feel like all of the above kinds of queries are obviated by the default display in proof mode. I get the feeling "namespace" means something different and more subtle in Lean, though. (And I've never seen the need for a "linter" in mechanized proof, especially for experienced users.)and as well aswriting tactics people have been writing things like linters, new commandswhich tell you which namespace you're in, which namespaces are open,what variables you have and so on, stuff which makes the end users lifea bit easier.
I think today it makes a lot more sense for pure math vs. program verification to try to codify the existing shared knowledge base, since it's so much better-established. One issue with program verification is that it brings in different kinds of scalability challenges, such that it no longer makes sense to think in terms of "which famous theorems are proved," but rather "which tools are available for new verifications." Tactics can be just as important as theorems, and they very rarely correspond neatly with decision procedures.In general, I think it's a mistake to compare proof assistants using
criteria associated with random varieties of open-source projects, since
typically open-source projects are much less involved in major
design-space innovations. IMO, worrying about quality of library
ecosystems should mostly be avoided.
When mathematicians come looking at these systems, one of the first questionsthey seem to ask is "how much mathematics is in there already?".
- Re: [Coq-Club] Fwd: "Lean is like Coq but better", (continued)
- Re: [Coq-Club] Fwd: "Lean is like Coq but better", Talia Ringer, 01/08/2020
- Re: [Coq-Club] Fwd: "Lean is like Coq but better", BEGAY Pierre-leo, 01/08/2020
- Re: [Coq-Club] Fwd: "Lean is like Coq but better", Frédéric Blanqui, 01/09/2020
- Re: [Coq-Club] Fwd: "Lean is like Coq but better", Vincent Semeria, 01/09/2020
- Re: [Coq-Club] Fwd: "Lean is like Coq but better", Thorsten Altenkirch, 01/04/2020
- Re: [Coq-Club] "Lean is like Coq but better", Kevin Buzzard, 01/03/2020
- Re: [Coq-Club] "Lean is like Coq but better", Adam Chlipala, 01/03/2020
- Re: [Coq-Club] "Lean is like Coq but better", Talia Ringer, 01/03/2020
- Re: [Coq-Club] "Lean is like Coq but better", Beta Ziliani, 01/03/2020
- Re: [Coq-Club] "Lean is like Coq but better", Timothy Carstens, 01/03/2020
- Re: [Coq-Club] "Lean is like Coq but better", Beta Ziliani, 01/03/2020
- Re: [Coq-Club] "Lean is like Coq but better", Talia Ringer, 01/03/2020
- Re: [Coq-Club] "Lean is like Coq but better", Jason Gross, 01/03/2020
- Re: [Coq-Club] "Lean is like Coq but better", Adam Chlipala, 01/03/2020
- Re: [Coq-Club] "Lean is like Coq but better", Timothy Carstens, 01/03/2020
Archive powered by MHonArc 2.6.18.