Logic
Objectives
- To handle the formal syntax of Propositional Logic and First Order Logic
- To use formulas of First Order Logic to represent sentences in natural language
- To give meaning to formulas and to decide their truth value in the context of an interpretation
- To construct formal proofs in Natural Deduction
- To state some of the consequences of the Theorems of Correction and Completeness
- To know the basic mechanisms of Logic Programming
- To understand how Logic Programming constitutes a tool for the automation of reasoning
Program
- Propositional Logic: syntax (formulas) and semantics (valuations, tautologies, normal forms, consistency, consequence)
- Natural Deduction for Propositional Logic (derivability, correction, completeness)
- First Order Logic: syntax (terms, formulas) and semantics (models, validity, normal forms, consistency, consequence)
- Natural Deduction for First Order Logic (derivability, correction, completeness)
- Introduction to Logic Programming: syntax (Horn clauses, facts, rules, programs, queries) and operational semantics (unification, resolution, algorithmic aspects of resolution)
Bibliography
- Logic and Structure (5th ed.), D. van Dalen, Springer, 2013.
- Language, Proof and Logic, J. Barwise e J. Etchemendy, CSLI Publications, 2003.
- Mathematical Logic for Computer Science (3rd ed.), M. Ben-Ari, Springer, 2012.
- Essentials of Logic Programming, C. Hogger, Oxford University Press, 1990.
- Principles of Logic and Logic Programming, G. Metakides e A. Nerode, Elsevier, 1996.