SmArT solving: Tools and techniques for satisfiability solvers