Mathematical Logic
In this course students learn to formalize facts in appropriate logical systems and work with these formalizations, understand basic concepts and methods of mathematical logic (syntax and semantics of logical systems, inference relations, satisfiability, proof calculi, definability, etc.). Moreover, students learn assessing the expressiveness and limitations of logical systems, and become familiar with some of the fundamental results of 20th-century mathematical logic (e.g., completeness theorem, compactness theorem, undecidability of predicate logic) and understand their significance for mathematics and computer science.