Yesterday I watched the video by Prof Buzzard about Lean and there was a question of how it compares to Coq (obviously), and he replied basically that in Lean it's straightforward to express quotients, while in Coq you get "setoid hell". This specific statement is at 1:04:20 in the video. The question is at 1:00:02 and is probably useful for context.
Sorry, I am a newbie to Coq and never tried Lean (yet), but for him, it was the deal-breaker it seems, so maybe it's possible to address this problem somehow? Note, that his goal is not merely proof something, but to build a substantial corpus of the mathematical foundation, similar to the Metamath and Univalent Foundations, whom he said didn't achieve substantial progress in the past decades, while he did it more efficiently with Lean.
On how quotients are implemented in Lean see their Chapter 11 (Axioms and Computation) of the Theorem Proving in Lean book.
I found a few relevant discussions over the internet:
There is some quotients implementation in the Coq-contribs, but not sure how it's useful https://github.com/coq-contribs/rational/tree/master/Quotient
Would be nice to know what the Coq developers themselves think about this.
P.S. His second complain is the Unicode tokens and terms out of the box in Lean, while in Coq you have to either use Unicode.Utf8 library (which is rather limited compared to Lean), or define something less popular by yourself.
Yesterday I watched the video by Prof Buzzard about Lean and there was a question of how it compares to Coq (obviously), and he replied basically that in Lean it's straightforward to express quotients, while in Coq you get "setoid hell". This specific statement is at 1:04:20 in the video. The question is at 1:00:02 and is probably useful for context.
Sorry, I am a newbie to Coq and never tried Lean (yet), but for him, it was the deal-breaker it seems, so maybe it's possible to address this problem somehow? Note, that his goal is not merely proof something, but to build a substantial corpus of the mathematical foundation, similar to the Metamath and Univalent Foundations, whom he said didn't achieve substantial progress in the past decades, while he did it more efficiently with Lean.
On how quotients are implemented in Lean see their Chapter 11 (Axioms and Computation) of the Theorem Proving in Lean book.
I found a few relevant discussions over the internet:
There is some quotients implementation in the Coq-contribs, but not sure how it's useful https://github.com/coq-contribs/rational/tree/master/Quotient
Would be nice to know what the Coq developers themselves think about this.
P.S. His second complain is the Unicode tokens and terms out of the box in Lean, while in Coq you have to either use
Unicode.Utf8library (which is rather limited compared to Lean), or define something less popular by yourself.