MathSAT: Tight Integration of SAT and Mathematical Decision Procedures