Logic in computer science : modelling and reasoning about systems - Huth, Michael; Ryan, Mark (Univ. Press, 2009)