A novice-friendly induction tactic for Lean

Jannis Limperg

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

Abstract

In theorem provers based on dependent type theory such as Coq and Lean, induction is a fundamental proof method and induction tactics are omnipresent in proof scripts. Yet the ergonomics of existing induction tactics are not ideal: they do not reliably support inductive predicates and relations; they sometimes generate overly specific or unnecessarily complex induction hypotheses; and they occasionally choose confusing names for the hypotheses they introduce.

This paper describes a new induction tactic, implemented in Lean 3, which addresses these issues. The tactic is particularly suitable for educational use, but experts should also find it more convenient than existing induction tactics. In addition, the tactic serves as a moderately complex case study for the metaprogramming framework of Lean 3. The paper describes some difficulties encountered during the implementation and suggests improvements to the framework.
Original languageEnglish
Title of host publicationCPP 2021
Subtitle of host publicationProceedings of the 10th ACM SIGPLAN International Conference on Certified Programs and Proofs
EditorsCatalin Hritcu, Andrei Popescu
PublisherAssociation for Computing Machinery, Inc
Pages199-211
Number of pages13
ISBN (Electronic)9781450382991
DOIs
Publication statusPublished - Jan 2021

Fingerprint

Dive into the research topics of 'A novice-friendly induction tactic for Lean'. Together they form a unique fingerprint.

Cite this