Handling Polymorphism in Automated Deduction

  • Authors:
  • Jean-François Couchot;Stéphane Lescuyer

  • Affiliations:
  • INRIA Futurs, ProVal, Parc Orsay Université, F-91893, and LRI, Univ Paris-Sud, CNRS, Orsay, F-91405,;INRIA Futurs, ProVal, Parc Orsay Université, F-91893, and LRI, Univ Paris-Sud, CNRS, Orsay, F-91405,

  • Venue:
  • CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Polymorphism has become a common way of designing short and reusable programs by abstracting generic definitions from type-specific ones. Such a convenience is valuable in logic as well, because it unburdens the specifier from writing redundant declarations of logical symbols. However, top shelf automated theorem provers such as Simplify, Yices or other SMT-LIB ones do not handle polymorphism. To this end, we present efficient reductions of polymorphism in both unsorted and many-sorted first order logics. For each encoding, we show that the formulas and their encoded counterparts are logically equivalent in the context of automated theorem proving. The efficiency keynote is to disturb the prover as little as possible, especially the internal decision procedures used for special sorts, e.g. integer linear arithmetic, to which we apply a special treatment. The corresponding implementations are presented in the framework of the Why/Caduceus toolkit.