Play F*: Tactics, SMT, and metaprogramming
Description
I'll present the incipient tactics engine for F*, a programming language aimed at verification with an SMT backend. In the quest to make both F* proofs faster and more reliable and the language itself more extensible, we provide a way for user programs to manipulate internal compiler structures for breaking down proof obligations or computing new definitions on the fly. I'll describe the design of the engine (somewhat inspired by Lean's), particularities of it related to F*, and give some mid-sized examples of tactics. To put the pedal to the (actual) metal, we reuse F*'s extraction mechanism to *compile* tactic programs and *link* them into the compiler dynamically, obtaining much greater performance.
Download
Right click or Alt+Enter to download this episode
- MP3 (45.7 MB)
- Low Quality MP4 (124.7 MB)
- Mid Quality MP4 (528.3 MB)
rss