After completing this course participants are able to:
- General competencies:
- detect inconsistencies and mistakes in wrongly formulated statements
- formulate clear, consistent and correct assertions
- provide argumentation about the correctness of your own assertions
- systematically derive solutions
- make unclear assertions clear
- structurize text using definitions
- create simple proofs by structural induction
- Specific competencies with respect to logic:
- deal in a professional way with different notations for intrinsically the same language
- recognize which problems can be solved and which problems cannot be solved using propositional logic
- translate natural language assertions into logic in a systematic way
- present the semantics of formulas in propositional or predicate logic in a clear way in natural language
- explain the semantics of the rules for natural deduction
- prove assertions using natural deduction
- present proofs in a comprehensible way
- derive truth tables for assertions in propositional logic
- derive semantic tableaux for assertions in propositional logic
- use the terminology of tautology, logical consequences, and logical equivalences
- recognize and indicate mistakes within proofs
- use the proof assistant Coq to prove theorems
- derive the Kripke semantics of formulas in modal logic
- Specific competencies with respect to system modeling:
- create a rationality square for a given artifact
- specify important properties of simple real-time systems and their components within predicate logic
- prove the correctness of specifications in propositional logic or predicate logic using an appropriate method
- divide systems hierarchically into their components
- prove that a system complies to certain properties using specifications in predicate logic of its components
- clearly present an analysis, a design and a correctness proof of a system
This is a course in applied logic. On the one hand, you will learn how to specify systems both informally in natural language and formally using propositional or predicate logic. Our goal is to describe these systems in such a way that these specifications can be used as a contract. On the other hand, you will learn how to prove these assertions, or in other words, to prove that these systems operate exactly as they should according to their contracts. This process of argumentation will also be done using natural language and using formal mathematical methods. Eventually, you will use a proof assistant to check your proof.
These techniques will be practiced in relatively small weekly exercises. They will be tested in written intermediate exams and a group project in which you will show that you can apply these techniques of assertion and argumentation on a complex system.
In addition, a short introduction is given about structural induction and about Kripke semantics and natural deduction in modal logic.
The weekly learning cycle starts with a two hour plenary lecture. After that, students have to work on a weekly task. During a two hour plenary tutorial they can ask questions about this task. The learning cycle ends with a group tutorial where students can get feedback on their solutions.
In addition, students have to work on a large group project.
You need to have basic knowledge of propositional and predicate logic on the level of the courses Introduction to Formal Reasoning or Mathematical Structures. It helps if you already did the course Languages and Automata.
The obligatory parts of this course are:
Under the assumption that all requirements for the obligatory parts are met, the final grade F is MIN(10, ((IE1+IE2)/2 + P)/2). In all other situations, the final grade F is MIN(5, ((IE1+IE2)/2 + P)/2). Final grades will be rounded in the normal way.
- Two interim exams which give the scores IE1 and IE2;
- the score on both IE1 and IE2 must be at least 4.0,
- and the average score of IE1 and IE2 must be at least 5.0.
- A group project;
- the score P for this project must be at least 5.5.
- A Coq-practicum (also known as weekly tasks):
- the average score C of these weekly tasks must be at least 5.5.
This is a course for which it is essential that you practice a lot. And that is exactly the role of the Coq practicum (also known as the weekly assignments). Therefore, doing an interim exam is directly coupled to doing the corresponding part of the Coq practicum in the same edition of the course. So even if you passed the Coq practicum last year, but have to (re)do, for instance, the second intermediate test, then you will have to pass the second part of the Coq practicum this year again, so you are enforced to practice in time.|
Grades for the project and the intermediate exams can be reused, as long as they comply to the current minimum requirements. if you want to reuse grades that do not comply to the current minimum requirements, contact the teacher.