Implementing Polymorphism in SMT solvers

François Bobot, Sylvain Conchon,Évelyne Contejean and Stéphane Lescuyer

Abstract: Based on our experience with the development of Alt-Ergo, we show the small number of modifications needed to bring parametric polymorphism to our SMT solver. The first one occurs in the typing module where unification is now necessary for solving polymorphic constraints over types. The second one consists in extending triggers’ definition in order to deal with both term and type variables. Last, the matching module must be modified to account for the instantiation of type variables. We hope that this experience is convincing enough to raise interest for polymorphism in the SMT community.

Full PaperSlides

This document was translated from LATEX by HEVEA.