Mathematical Logic for Computer Science: Third Edition