Mathematical Logic is a field of study that explores the formal systems used to represent logical expressions and reasoning. This study area is fundamental across various disciplines, including mathematics, computer science, and philosophy. In this module, we will examine two types of Logic Propositional Logica and Predicate Logic

Propositional Logic

Propositional Logic focuses on propositions, which are statements that can be true or false. It uses logical connectives such as AND, OR, NOT, IMPLIES, and IF AND ONLY IF to form compound statements. Truth tables and logical equivalences help analyse and transform these statements.

Predicate Logic (First-Order Logic)

Predicate Logic extends propositional logic by introducing predicates, which express properties of objects, and quantifiers, which specify the scope of these properties. The universal quantifier (∀) denotes "for all," and the existential quantifier (∃) denotes "there exists." This logic allows for more complex and expressive statements about objects and their relationships.

Learning Goals

By the end of this module unit students will be able to:

  1. Acquire foundational knowledge of formal reasoning, essential logical principles, and terminology.

  2. Comprehend the core concepts of propositional and predicate logic, enabling interpretation and explanation of logical statements and their structures.

  3. Utilize logical principles in practical contexts, such as software verification, database querying, and algorithm design and debugging.

  4. Break down complex problems to identify logical relationships and dependencies, fostering critical thinking and problem-solving skills.

  5. Assess and verify the correctness and efficiency of algorithms and systems using logical reasoning and formal methods.

  6. Develop new algorithms, software solutions, and research advancements by synthesizing logical principles with innovative approaches.

The content of this module unit prepares the students to effectively apply logical reasoning in various areas of computer science, enhancing their capability to develop, analyze, and verify complex systems and algorithms.

Pouvoir Modéliser sous forme graphique un problème (sommet, arc ou arête), et lister les principales propriétés du graphe.
Identifier le problème à résoudre, à partir du modèle graphique, et l'associer à des grandes classes de problèmes de la théorie de graphes.