Mathematical Logic For Computer Science