Doing new research on SMT solvers is many times hindered by the fact that the available problems require lots of tricks and pre-processing techniques not directly related to decision procedures. These are often unpublished or take time to implement and optimize properly, and in addition makes comparison and understanding of different solvers quite difficult.
Is it possible to use Z3 as a pre-processor that would take a problem and dump it out in a pre-processed form (one that z3 itself uses to solve the problem)?
I don't see any command line options, but I am guessing that there might be some way to achieve this, via strategies, through the python interface, or even writing some extra code.