University of Cambridge > Talks.cam > Computer Laboratory Computer Architecture Group Meeting > Recursive Definitions in Lean

Recursive Definitions in Lean

Download to your calendar using vCal

If you have a question about this talk, please contact Tobias Grosser .

The logĀ­ic unĀ­derĀ­lyĀ­ing the Lean programming language and theorem prover does not know reĀ­curĀ­sive funcĀ­tions, yet Lean users can deĀ­fine funcĀ­tions reĀ­curĀ­siveĀ­ly. In this sesĀ­sion we’ll get to look at how Lean transĀ­lates the user’s specĀ­iĀ­fiĀ­caĀ­tion into someĀ­thing that the logĀ­ic unĀ­derĀ­stands, whether by strucĀ­turĀ­al reĀ­curĀ­sion, well-foundĀ­ed reĀ­curĀ­sion or the brand-new parĀ­tial fixĀ­point stratĀ­eĀ­gy. We’ll also see how this afĀ­fects comĀ­piled code (nameĀ­ly not at all), and the difĀ­ferĀ­ence beĀ­tween parĀ­tial and unĀ­safe.

This sesĀ­sion will likeĀ­ly conĀ­tain high amounts of imĀ­proĀ­vised live-codĀ­ing and benĀ­eĀ­fit greatĀ­ly from your quesĀ­tions, sugĀ­gesĀ­tions and disĀ­cusĀ­sions.

Joachim Breitner @nomeata

Ever since Joachim has found beauty and elegance in Functional Programming, he’s been working with and on functional programming languages, in particular Haskell.

He’s also always been fascinated by Interactive Theorem Proving and his academic persona used Isabelle and Coq for formalize mathematics and verify programs.

These two interests find their natural synthesis in the Lean programming language, and Joachim joined the Lean FRO to work on the Lean compiler itself.

Besides such serious nerdery, you’ll find Joachim dancing Swing and Tango (in particular when traveling to conferences, so talk to him if you want to join), paragliding and unapologetically making bad puns.

This talk is part of the Computer Laboratory Computer Architecture Group Meeting series.

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

Ā© 2006-2025 Talks.cam, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity