Logic in Computer Science : Modelling and Reasoning about Systems - Huth, Michael; Ryan, Mark (Cambridge University Press, 2006)