Logic for Programming, Artificial Intelligence, and Reasoning - Clarke, Edmund M. (Springer Berlin Heidelberg, 2010)