REQUIREMENTS AND PRIOR KNOWLEDGE
The student is supposed to dominate basic concepts about logic, usually adquired in a Formal Logic
course (which is offered in the same EMCL). In particular, familiarity
with the syntax and semantics of propositional and first-order logic is assumed, as well as acquaintance with some proof method (axiomatic, natural deduction, etc.).
An acceptable skill level in mathematics is also welcome, especially
as regards the manipulation of symbolic languages, as well as some
background in computer science (theory, programming, formal methods).
GENERAL DESCRIPTION OF THE SUBJECT
This course is about the computational part of Mathematical Logic. Here, "computational" refers to what is amenable to be computed by means of an automatic process. In this sense, the goal of Computational Logic is to automatize the operation of proving a fact as a theorem given some prior knowledge (axioms or premises).
OBJECTIVES: KNOWLEDGE AND SKILLS
The student will get in touch with the essential, underlying ideas of computational logic,
and methods for automatically proving theorems (semantic trees,
Davis-Putnam method, resolution). The course also serves as an
introduction to Logic Programming and to state-of-the-art ideas in Automated Theorem Proving.
The teaching material includes class slides, together with some exercises about the whole content.
EVALUATION ACTIVITIES OR PRACTICAL TASKS
The evaluation consists of a written exam which includes a series of exercises.