Satisfiability Modulo Theories: Introduction and Applications. - De Moura, Leonardo; Bjorner, Nikolaj (Communications of the ACM, 2011)