Decision Procedures – an Algorithmic Point of View - Kroening, D; Strichman, O (Springer, 2008)