Geometry of Computation 06

Week 2 (Feb 6 - Feb 10), Winter School: Logic and Computation

Scientific organizers: Patrick Baillot (LIPN), Thomas Ehrhard (IML and PPS) and Laurent Regnier (IML).

Programme

Monday February 6
  • 9h30 - 10h30: Complexity and logic: From Primitive recursion to complexity classes. Rewriting systems and quasi-interpretation by Jean-Yves Marion.
  • 11h - 12h30: Complexity and logic: From Primitive recursion to complexity classes. Rewriting systems and quasi-interpretation by Jean-Yves Marion.
  • 14h - 15h30: Complexity and logic: From Primitive recursion to complexity classes. Rewriting systems and quasi-interpretation by Jean-Yves Marion.
  • 16h - 17h30: Complexity and logic: Linear logic, lambda-calculus and polynomial time complexity by Patrick Baillot.
Tuesday February 7
  • 9h30 - 10h30: Complexity and logic: Linear logic, lambda-calculus and polynomial time complexity by Patrick Baillot.
  • 11h - 12h30: Complexity and logic: Linear logic, lambda-calculus and polynomial time complexity by Patrick Baillot.
Wednesday February 8
Thursday February 9
Friday February 10
  • 9h30 - 10h30: Complexity and logic: Non-size increasing computation and linear types by Martin Hofmann .
  • 11h - 12h30: Complexity and logic: Non-size increasing computation and linear types by Martin Hofmann.
  • 14h - 15h30: Realizability: a machine for Analysis by Jean-Louis Krivine.
  • 16h - 17h30: Constructive algebra by Thierry Coquand.

Abstracts

Constructive algebra by Thierry Coquand

This course will be an introduction to some recent development in constructive algebra. This approach can be seen as an application of some basic results in proof theory, the main one being the completeness of cut-free provability. It can be seen also as a partial realisation of Hilbert's program in abstract algebra, and uses the idea of "replacing" an infinite ideal object by a syntactical one: a logical theory which describes this object. It has also close connection with formal topology: cut-elimination can be expressed as forcing/topological semantics over a formal space. We show how this approach, besides revealing the computational content implicit in some abstract arguments in algebra, can lead to new concepts, new simple proofs of classical theorems, but also to new results in algebra.

Realizability: a machine for Analysis by Jean-Louis Krivine

The slides of this lecture are available here.

Complexity and logic by Patrick Baillot, Martin Hofmann and Jean-Yves Marion

More details on this lecture, as well as references and links to relevant documents and articles, can be found there.

This lecture will present logical approaches to ensure complexity bounds on lambda-calculus or functional programs, with a particular emphasis on polynomial time complexity.

This line of research can be traced back to work by Leivant on restrictions of system F, and by Girard who showed that controling the logical rules responsible for duplication in Linear logic proofs made it possible to tame the complexity of the associated programs: he obtained in this way a logical characterization of elementary complexity (ELL system) and of polynomial time complexity (LLL system). Later Lafont proposed another variant of Linear logic also characterizing polynomial time. This course will also present the typed lambda-calculi that have been designed from these systems.

Another approach is based on restrictions of the primitive recursion scheme that lead to characterizations of polynomial time functions as well as of other complexity classes. This line was developed by Bellantoni and Cook and by Leivant and Marion. Later Marion adapted these ideas to the setting of first-order rewriting systems and showed that new criteria, based on termination orderings and quasi-interpretations provided flexible techniques to control the complexity of a large class of programs.

Finally Hofmann designed a type system for a functional language based on a fragment of Linear logic and ensuring that the typed programs are non-size-increasing and can be run in polynomial time.

This course will try to stress and discuss the issue of algorithmic expressivity: even if various systems characterize polynomial time functions, it is desirable that the languages obtained are expressive enough so as to be able to write some standard algorithms.