> Home > Metz's Campus > Degree Courses > Option IIC > Core Curriculum Modules
Option IIC
 
Metz's campus
Presentation
Staff
Degree Courses
Continuing Education
Research
Library
 
 
Logic and Computation
 
18h L / 6h R / 1WE / 2 ECTS credits / IIC_LRR
 
Didier GALMICHE
 
The aim of this course is to study the relationships between logic, computation models and some programming paradigms. We study the first-order logic both from proof theory and semantics or model theory perspectives. We consider the foundations of logic programming (resolution) and of functional programming (reduction) from (typed) lambda-calculus. Some non-standard logics (intuitionistic and modal logics) are considered in the context of modelling and verification.
 
Logic and languages
 
Truth (models) and provability (proofs). Goedel theorem and its consequences.
Formal systems (sequent calculi, natural deduction), classical logic and intuitionistic logic, links between logic and languages
(propositions-as-types). Curry-Howard isomorphism.
 
Functions and computations (reduction)
 
Lambda-calculus: introduction, formal system, operational semantics (reduction), properties (Church-Rosser, normalisation). Representation in lambda-calculus, extensionality, non-decidability, denotational semantics.
Typed lambda-calculus: types, type inference, strong normalisation, type systems, functional programming.
 
Logic and computations (resolution)
 
Propositional logic, predicate logic, semantics and axiomatisation.
Formal systems and proofs: calculi à la Hilbert, sequent calculi, natural deduction, tableaux method.
Formula transformations, clauses, Herbrand theorem.
Resolution, strategies, logic programming.
Non-standard logics and applications (modelling and verification).
 
 
 
 
References
R. David, K. Nour, C. Raffali, Introduction à la Logique (théorie de la démonstration), Dunod.
J.Y. Girard, Y. Lafont, P. Taylor, Proofs and Types, Cambridge University Press (Tracts in TCS).