Aims: To explore the world of formal logics from the perspectives of truth, proof and computation. To gain an overview of both the foundational and applicative roles of logics in the computational sciences.
1. To understand the interaction between syntax and semantics for several significant systems of logic, covering classical, intuitionistic and sub-structural ideas.
2. To know how logics may be adapted to describe computational phenomena and how to build computational tools, such as programming languages or theorem provers, from systems of logic.
3. To address issues such as philosophical questions related Goedel's incompleteness theorems, and/or related applied topics such as expert systems or neural networks.
Problem Solving (F), Communication (F), Application of Number (F).
Classical logic: models and proof systems. Intuitionistic logic: models and proof systems, computational significance. Lambda calculus and its semantics, normalization. Sequent calculi as a basis for logic programming, algorithmic questions. Modality and program logics. Fuzzy logic. Sub-structural logics: semantics, proof theory, computational significance. Related foundational and applied topics.