Meven Lennon-Bertrand
Post-doc at INRIA/IRIF/Université Paris Cité.
I mostly try to convince proof assistants that they are doing reasonable things. Sometimes this involves studying type theory. Sometimes this means understanding what our implementations do. All in all, it's not too bad.
Profile banner (from the Leonard comic by Turk & de Groot):
- I wanted to serve science because it it my joy and instead of that, what am I doing?...
- Yes, what is he doing?
- I guess he's complaining!
RE: https://mastoxiv.page/@arXiv_csLO_bot/116169963926058915
Lately I've embarked on a fun side quest in proof theory. Where I managed to still bump into bidirectional typing! (To an old dog everything looks like a nail, that's the saying right?)
I learned bidirectionalism is very much related to the subformula property, a proof theory idea that had always seemed mysterious to me. Now I understand why proof theorists rave about cut elimination and the subformula property, which is the same as why bidirectionalism is so useful for proofs: information flow! Also the coincidence between normal forms and terms having good bidirectional typing seems less miraculous: it's essentially the same thing as cut-free proofs having the subformula property.
So anyway, interpolation is a cute property, but I learned a surprising amount about type theory while looking at it! Hope you will too.
Another day, another rant about injectivity: https://proofassistants.stackexchange.com/questions/6533/why-does-lean4-use-intensional-type-theory-when-its-definitional-equality-is-und
Am I an old broken record already?
Another day in "having a reliable aka complete kernel is pretty nice", from @BeLazy@types.pl: fixing incompleteness issues with η for unit fixes open issues with pattern-matching compilation!? (PR: https://github.com/leanprover/lean4/pull/12636)
Did you know that Rocq has very good looking badges to include in your next paper/repo/etc? https://github.com/rocq-prover/rocq-prover.org/tree/9529d3ee4f4c86c5cc73650f2c07d06fa458762c/rocq-id/badges
@edwinb@types.pl @gallais@mamot.fr I want to cite the fact that Idris 2 has `Type : Type`. Is there anything more authoritative than the note in the FAQ saying “Idris 2 currently implements Type : Type. Don’t worry, this will not be the case forever!”? (Also, just to be sure: is this note still up to date?)
Did you know: the only image of Michel Rolle available on the internet is, in fact, a low resolution picture of Leibnitz.
(Rolle is known by every French math student because the standard construction of analysis here goes through the theorem named after him, is it one of those cases where we're the only ones doing it this way or is the guy actually famous?)
@markusde@mathstodon.xyz I guess it says that :
- the definitions give you objects which once roundtripped are isomorphic to the original ones ; not the best specification, but rather solid (it rules out everything being unit or something, and is especially fine if you also translate the various operations/basic proofs which encode that they behave the way one expects)
- the lemmas you admit on the Lean side are logically equivalent (up to Lean -> Rocq translation) to ones which are proven, which to me makes them very reasonable to assume
Of course that brings the Lean -> Rocq translation to the TCB, as well as Rocq, but I still feel this is ok?
And I don't see how the liking with other Lean code changes anything, you can treat the translated code as some sort of opaque module with a bunch of definitions and proofs and use that opaquely, just as you would any other Lean module? Except in this one the proofs are not there, they're on the Rocq side

