Definitional Quantifiers Realise Semantic Reasoning for Proof by Induction
This addresses the laborious process of manual induction in proof assistants for engineers, though it is incremental as it builds on existing tactics with a new language.
The paper tackles automating proof by induction in Isabelle/HOL by developing SeLFiE, a boolean query language that encodes heuristics for applying induction tactics, and shows that an automatic prover using it achieves a 1.4 x 10^3% improvement over a baseline and a median speedup of 4.48x on 347 problems.
Proof assistants offer tactics to apply proof by induction, but these tactics rely on inputs given by human engineers. To automate this laborious process, we developed SeLFiE, a boolean query language to represent experienced users' knowledge on how to apply the induct tactic in Isabelle/HOL: when we apply an induction heuristic written in SeLFiE to an inductive problem and arguments to the induct tactic, the SeLFiE interpreter judges whether the arguments are plausible for that problem according to the heuristic by examining both the syntactic structure of the problem and definitions of the relevant constants. To examine the intricate interaction between syntactic analysis and analysis of constant definitions, we introduce definitional quantifiers. For evaluation we build an automatic induction prover using SeLFiE. Our evaluation based on 347 inductive problems shows that our new prover achieves 1.4 x 10^3% improvement over the corresponding baseline prover for 1.0 second of timeout and the median value of speedup is 4.48x.