1 research outputs found
Faster Smarter Induction in Isabelle/HOL with SeLFiE
Proof by induction is a long-standing challenge in Computer Science.
Induction tactics of proof assistants facilitate proof by induction, but rely
on humans to manually specify how to apply induction. In this paper, we present
SeLFiE, a domain-specific language to encode experienced users' expertise 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 examines both the syntactic structure of the
problem and semantics of the relevant constants to judge whether the arguments
to the induct tactic are plausible according to the heuristic.
Then, we present semantic_induct, an automatic tool to recommend how to apply
the induct tactic. Given an inductive problem, semantic_induct produces
candidate arguments to the induct tactic and selects promising ones using
heuristics written in SeLFiE. Our evaluation based on 254 inductive problems
from nine problem domains show that semantic_induct achieved 15.7 percentage
points of improvements in coincidence rates for the three most promising
recommendations while achieving 43% of reduction in the median value for the
execution time when compared to an existing tool, smart_induct.Comment: SeLFiE: Semantic-aware Logical Feature Extracto