Skip to content

Address a "setoid hell"? #10871

@XVilka

Description

@XVilka

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    food for thoughtIssue that could be closed but would still be worth thinking about.kind: design discussionDiscussion about the design of a feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions