Sets, Logic And Maths For Computing by David Makinson