Mathematical Foundations of Computer Science