• DocumentCode
    561364
  • Title

    Interpolants from Z3 proofs

  • Author

    McMillan, Kenneth L.

  • Author_Institution
    Microsoft Research
  • fYear
    2011
  • fDate
    Oct. 30 2011-Nov. 2 2011
  • Firstpage
    19
  • Lastpage
    27
  • Abstract
    Interpolating provers have a number of applications in formal verification, including abstraction refinement and invariant generation. It has proved difficult, however, to construct efficient interpolating provers for rich theories. We consider the problem of deriving interpolants from proofs generated by the highly efficient SMT solver Z3 in the quantified theory of arrays, uninterpreted function symbols and linear integer arithmetic (AUFLIA) a theory that is commonly used in program verification. We do not directly interpolate the proofs from Z3. Rather, we divide them into small lemmas that can be handled by a secondary interpolating prover for a restricted theory. We show experimentally that the overhead of this secondary prover is negligible. Moreover, the efficiency of Z3 makes it possible to handle problems that are beyond the reach of existing interpolating provers, as we demonstrate using benchmarks derived from bounded verification of sequential and concurrent programs.
  • Keywords
    computability; concurrency control; formal verification; interpolation; theorem proving; Z3 SMT proof; abstraction refinement; concurrent program; formal verification; function symbol; interpolating prover; invariant generation; linear integer arithmetic theory; program verification; satisfiability modulo theory; sequential program; Calculus; Cognition; Equations; Interpolation; Silicon; Syntactics; Vocabulary;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Formal Methods in Computer-Aided Design (FMCAD), 2011
  • Conference_Location
    Austin, TX
  • Print_ISBN
    978-1-4673-0896-0
  • Type

    conf

  • Filename
    6148898