Automating induction with an SMT solver

  • Authors:
  • K. Rustan M. Leino

  • Affiliations:
  • Microsoft Research, Redmond, WA

  • Venue:
  • VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Mechanical proof assistants have always had support for inductive proofs. Sometimes an alternative to proof assistants, satisfiability modulo theories (SMT) solvers bring the hope of a higher degree of automation. However, SMT solvers do not natively support induction, so inductive proofs require some encoding into the SMT solver's input. This paper shows a surprisingly simple tactic--a rewriting strategy and a heuristic for when to apply it--that has shown to be useful in verifying simple inductive theorems, like those that can occur during program verification. The paper describes the tactic and its implementation in a program verifier, and reports on the positive experience with using the tactic.