In eager SMT solvers, a SMT formula is encoded as a equisatisfiable boolean formula which is fed to a SAT solver. Typically, for QF_UF formulae, uninterpreted functions are reduced by Ackermann's reduction or Bryant's reduction, and then a equisatisfiable boolean formula is constructed by equality graph approach.
So I want to know if it is possible to invoke an existing SMT solver to get the equisatisfiable boolean formula given a QF_UF formula without hacking the low-level implementation of the solver. For example, Z3 has some tactics to transform the input problem (such as tseitin-cnf
and elim-term-ite
), and is there a tactic for such translation?