**Master in Philosophical Sciences
Curriculum in Reasoning, Analysis and Modelling
This course is taught jointly with Marcello D’Agostino and Hykel Hosni**

**Learning objectives **

Logic, in its broad sense, can be seen on the one hand as a set of unifying languages for the systematization of scientific knowledge, on the other as a set of tools for any practical application based on information processing. This course will provide students with an overview of logical methods useful for both theoretical and practical applications. Students will learn how to design formal languages and compute with them for the resolution of theoretical and practical problems. The approach is thus at the same time abstract and practically oriented, so as to make the course useful for science as well as philosophy students.

**Expected learning outcomes**

Students are expected to acquire a full understanding of the formal notions presented and master basic knowledge of the following topics:

– Formal Methods and their applications

– Classical logic and its applications

– Non-classical logics and their applications

Students are also expected to develop an ability to apply this basic knowledge to solve simple problems and to engage in further research within more advanced projects in specific applications of their interest.

Notions and methods will be introduced in a problematic way so as to stimulate a critical, rather than passive, attitude towards knowledge. We also expect that training students in the use of formal languages and logical tools will improve their capability of communicating ideas, both at a theoretical and practical level, with the required precision and a sufficient amount of rigour.

**Course syllabus**

Module 1. Formal methods:

- Basic mathematical notions (sets and their operations, relations, functions)
- Basic data structures (lists, trees, graphs)
- Regular Expressions
- Finite State Machines

Module 2. Classical logic

- The semantics of classical logic
- Proof systems for classical logic
- Main applications of classical logic (automated theorem proving, logic programming)

Module 3. Non-classical logics:

- Modal and epistemic logics
- Many-valued logics
- Logics for vagueness and uncertainty

**Prerequisites for admission**

None

**Teaching methods**

Frontal lectures and assignments. The approach will be problem-oriented and students will be trained to learn by solving basic problems and exercises.

**Bibliography**

One handout for each module provided by the lecturers.

**Examination: Written**

**For attending students: **

Learning assessment will be through a written exam at the end of the course. Students attending the course can opt-in for partial examinations, one at the end of each teaching unit: in this case the overall score is determined by a weighted average of the results of each exam. The text of the exam includes open questions (30%), exercises (50%) and multiple choices tests (20%). These proportions broadly reflect their contribution to the composition of the final score. Multiple choice tests and open questions are aimed to broadly verify the understanding of concepts and definitions taught during the course whereas exercises are designed to evaluate problem solving skills.

**For non attending students:**

A written exam covering topics from the whole program.

**Notes**

The exam for students with (learning) disabilities must be agreed with the lecturer and with the competent office.