this library provides an abstract interface for what a SMT solver provides, independently of the underlying implementation technology.