Lassie: HOL4 Tactics by Example (CPP'21) - Short Talk
Channel: Heiko Becker
Date: 15/01/2021

This is the recorded short talk for our paper "Lassie: HOL4 Tactics by Example" presented at CPP'21.
Our long talks is available also on YouTube at https://youtu.be/mAbvIzqet4w
 A pre-print of the paper can be found on arxiv:https://arxiv.org/abs/2101.00930

We are happy to answer questions via eMail and during the CPP'21 Q&A session. You can find information on how to contact me through eMail and social media on my webpage at https://mpi-sws.org/~hbecker/ .

Lassie source code: https://github.com/HeikoBecker/Lassie
HOL4 Tutorial: https://github.com/HeikoBecker/HOL4-Tutorial

===  Talk Abstract ===
Proof engineering efforts using interactive theorem proving have yielded several impressive projects in software systems and mathematics. A key obstacle to such efforts is the requirement that the domain expert is also an expert in the low-level details in constructing the proof in a theorem prover. In particular, the user needs to select a sequence of tactics that lead to a successful proof, a task that in general requires knowledge of the exact names of a large set of tactics.We present Lassie, a tactic framework for the HOL4 theorem prover that allows individual users to define their own tactic language \emph{by example}, and for instance give frequently used tactics or tactic combinations easier-to-remember names. The core of Lassie is an extensible semantic parser, which allows the user to interactively extend the tactic language through a process of definitional generalization. Defining tactics in Lassie thus does not require any knowledge in tactic programming, while proofs written in Lassie retain the correctness guarantees provided by the HOL4 system. We show through case studies how Lassie can be used in small and larger proofs by novice and more experienced ITP users, and how we envision it to ease the learning curve in a HOL4 tutorial.