The course Mathematical Logic focuses on the formalization of human reasoning by introducing students to the fundamental principles of logic, both in theory and practice. It begins with an introduction to the key objects of logic, emphasizing the distinction between syntax, which concerns the formal structure of statements, and semantics, which deals with their meaning. The study then advances to propositional logic, covering the formation and manipulation of propositions, logical connectives, substitution rules, truth tables, tautologies, contradictions, and normal forms such as conjunctive and disjunctive normal forms. Students also learn methods of resolution used in automated reasoning, including refutation and the propositional resolution rule. The course then extends to predicate logic, where learners explore terms, predicates, quantifiers, and the differentiation between free and bound variables, as well as the interpretation and satisfaction of logical formulas within structures. A solid understanding of basic mathematics and Boolean algebra is recommended. The evaluation is based on continuous assessment (40%) and a final exam (60%). Key references include Mathematical Logic by S.C. Kleene and Elements of Mathematical Logic by J.L. Krivine.
Graph theories have become an indispensable theoretical and practical foundation in the process of modeling some problems in several fields.
This course aims to:
- Teach the student how to model problems using graphs
- Solve problems through algorithms like short path search, maximum flow.
- Understand the basic notions, knowledge and skills offered by graph theory.