Logic
A.Y. 2018/2019
Learning objectives
The course has the main purpose to provide the basic knowledge and reasoning skills of mathematical logic. The first part of the course has the aim of describing the main concepts of classical logic: propositional logic and first-order logic. The second part provides a brief introduction to some applications of logic to computer science.
Expected learning outcomes
The principal skills acquired are the logical reasoning, the knowledge of classical logic and the knowledge of some computer science applications.
Lesson period: Second semester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.
Course syllabus and organization
Single session
Responsible
Lesson period
Second semester
Course syllabus
PROPOSITIONAL AND PREDICATE LOGIC. Syntax, semantics, and calculus (natural deduction and sequent calculus).
RESOLUTION AND LOGIC PROGRAMMING. Unification algorithm and theory of logic programming.
FUZZY LOGIC. Fuzzy sets. Brief introduction of syntax and semantics of fuzzy logic.
BINARY DECISION DIAGRAMS. Representation of Boolean functions using OBDDs. Boolean operations with OBDDs.
PROGRAM VERIFICATION. Hoare triples. Verification rules.
MODAL LOGIC. Syntax, semantics of modal logics.
LOGIC FOR SECURITY. BAN logic.
RESOLUTION AND LOGIC PROGRAMMING. Unification algorithm and theory of logic programming.
FUZZY LOGIC. Fuzzy sets. Brief introduction of syntax and semantics of fuzzy logic.
BINARY DECISION DIAGRAMS. Representation of Boolean functions using OBDDs. Boolean operations with OBDDs.
PROGRAM VERIFICATION. Hoare triples. Verification rules.
MODAL LOGIC. Syntax, semantics of modal logics.
LOGIC FOR SECURITY. BAN logic.
Professor(s)
Reception:
By appointment only
Dipartimento di Informatica - Via Celoria 18 - 20135 - Milano (MI)