Logic in computer science Modelling and reasoning about systems - Huth, Michael (Cambridge Univeristy Press, 2004)