Lean is a proof assistant developed by the Lean FRO that has become especially popular with mathematicians in recent years, whose type-theoretic foundations take after the proof assistant Rocq. While Lean's typechecking kernel attempts to be as minimal as possible, it introduces a number of specialized definitional equalities as conveniences for mathematical formalization. These definitional equalities are crucial to enabling scalable formal developments in Lean, however they complicate metatheoretical analyses and the task of proof export from Lean.
In this talk, I will discuss the theory, design, and implementation of a tool called "Lean4Less" that translates Lean proofs to a smaller theory "Lean-" with fewer such definitional equalities, focusing in particular on the elimination of Lean's rules of proof irrelevance and "K-like reduction". Lean4Less implements a special case of a translation from extensional to intensional type theory, inserting explicit type conversions around subterms using generated type equality proofs that are typeable in the Lean- theory. Lean4Less's implementation is based on a modification of a typechecker kernel for Lean taken from the "Lean4Lean" project, and effects our translation by generating translated terms in parallel to normal typechecking.
=== Online talk ===
Join Zoom Meeting https://cam-ac-uk.zoom.us/j/89856091954?pwd=Bba77QB2KuTideTlH6PjAmbXLO8H...
Meeting ID: 898 5609 1954 Passcode: ITPtalk