|Professor||Prof. Tobias Nipkow|
|Time and Place||TBA|
|Tutorial Organisor||Kevin Kappelmann|
Questions regarding the lecture and exercises can be discussed on TBA.
Logic is the art of reasoning. It plays an important role in many disciplines, including Philosophy and Mathematics, but it is particularly central to Computer Science and sometimes referred to as the calculus of Computer Science. In this course, we emphasise these computational aspects of logic. More specifically:
- We learn how to perform proofs in a deductive system and how to prove the soundness and completeness of a system with respect to a semantics.
- We get to know the limitations of first-logic and the relationship between logic and computability.
- We learn how to formalise problems in logic and how to solve them algorithmically using (semi-)decision procedures like resolution.
- Uwe Schöning. Logik für Informatiker (English: Logic for Computer Scientists).
- A. Troelstra and H. Schwichtenberg. Basic Proof Theory.
- Jean Gallier. Logic for Computer Science.
- John Harrison. Handbook of Practical Logic and Automated Reasoning.
- Melvin Fitting. First-Order Logic and Automated Theorem Proving.
- Herbert Enderton. A Mathematical Introduction to Logic.
- Ebbinghaus, Flum, Thomas. Einführung in die mathematische Logik (English: Mathematical Logic).