Efficient Craig interpolation for linear Diophantine (dis)equations and linear modular equations

  • Authors:
  • Himanshu Jain;Edmund M. Clarke;Orna Grumberg

  • Affiliations:
  • Synopsys, Hillsboro, USA 97124;Computer Science Department, Carnegie Mellon University, Pittsburgh, USA 15213;Department of Computer Science, Technion--Israel Institute of Technology, Haifa, Israel 32000

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The use of Craig interpolants has enabled the development of powerful hardware and software model checking techniques. Efficient algorithms are known for computing interpolants in rational and real linear arithmetic. We focus on subsets of integer linear arithmetic. Our main results are polynomial time algorithms for obtaining interpolants for conjunctions of linear Diophantine equations, linear modular equations (linear congruences), and linear Diophantine disequations. We also present an interpolation result for conjunctions of mixed integer linear equations. We show the utility of the proposed interpolation algorithms for discovering modular/divisibility predicates in a counterexample guided abstraction refinement (CEGAR) framework. This has enabled verification of simple programs that cannot be checked using existing CEGAR based model checkers.