Decision Procedures An Algorithmic Point of View - Kroening, Daniel; Strichman, Ofer (Springer Berlin Heidelberg, 2008)