Logic for Computer Science