A Review of the Lean Theorem Prover
jiggerwit.wordpress.com
jiggerwit.wordpress.com
Buzzard’s wider Xena project is formalizing a huge chunk of the undergraduate-level math curriculum into a “standard library” of math, written in Lean.
I wonder what this is in comparison to. Coq also has a classical logic module (though it is more awkwardly named). HOL Light is, from a quick Google, already a classical prover. Are there any provers where classical logic is hard to come by? Or is Coq's version more complicated to use?
>Lean makes quotient types easy (unlike Coq, when tends to work with awkward setoids).
(At the cost of subject reduction). This remains the most interesting point of comparison in my mind. How can the Lean kernel be sound if it's possible to reduce proofs to non-proofs?
>.... it is nearly impossible in Lean to curry a structure. That is, what is bundled cannot be later opened up as a parameter.
Could a Lean user shed some more light on this? In what circumstances would you want to treat a bundled type as a parameter? Surely accessing the type itself - like the underlying set of a group, in the example - can still be done in either case?