
TMR LINEAR
Scientific description
|
The network deals basically with the relation between logic and theoretical
computer science. More specifically, one goal with the creation of the LINEAR network has been to gather the main european research groups working on linear
logic and its relations with computer science (see
here
for an introduction to linear logic).
The network research work is organized along four main axes which as described
below.
Linear logic was invented by Girard as a refinement of classical and
intuitionistic logic, characterized by the splitting of standard connectives
(``and'' and ``or'') in two classes (additive and multiplicative) and the
introduction of new connectives (exponentials) which give a logical
status to the operations of erasing and copying (corresponding to the
``structural rules'' of classical and intuitionistic sequent calculi). This
change of viewpoint on structural operations has many striking consequences in
proof theory, among which one of the most important is the introduction of
proof-nets, a graph-theoretic presentation that gives a more geometric account
of proofs. Our main goals in the theme ``proof theory of linear logic'' can be
summarized as follows:
- Additive proof-nets.
- The theory of multiplicative-exponential
proof nets is well established, but its extension to the additive fragment
has been for a long time a challenging problem. Partial, and thus
unsatisfying, solutions have been proposed by Girard. The recent development
of the theory of free bicompletion of categories by Joyal suggests
that new advances are now possible on this topic.
- Feasible arithmetics.
- By adding some logical constraints to
linear logic, one can obtain subsystems in which only polynomial time (LLL)
or elementary time functions (ELL) can be programmed. This result has
enormous potential for theoretical applications. One idea is to formulate
arithmetic inside these systems in order to obtain refinements of usual
results in proof theory and complexity.
- Non commutative linear logic.
- Non commutative linear logic
appears for the moment as a topic in which very little is understood. Fleury
showed that the analysis of the exchange rule can use tool from algebraic
topology (knot theory, braided groups, ...). This needs further
improvements, particularly in relation with, e.g., Abrusci's work on non
commutative proof-nets.
The goal of semantics is to give a ``mathematical'' counterpart to syntactical
devices such as proofs and programs, thus bringing to the fore their essential
properties: it expresses the meaning of syntax. It maps the concrete
syntactical objects to an algebraic, geometric, categorical... description,
which is easier to grasp, stresses basic invariants and, sometimes, eventually
results in improvements of the syntax: linear logic itself comes from a
denotational model of second order intuitionistic propositional logic.
Semantics of proofs and programs divides in two parts: static models where
proofs are basically interpreted by functions and cut-elimination by
composition, and dynamic models which give a much more informative account of
cut-elimination.
- Unification, static vs. dynamic.
- It seems now at hand that
static and dynamic models be classified in a uniform framework. Such an
achievement would greatly clarify the theory, and possibly would also have
some resonance in the concurrency field. Two approaches will be developped:
- Game semantics. The connection between game semantics and the
geometry of interaction is now almost completely clarified. Some results
already exist relating games and denotational models (e.g.,
sequential algorithms and hypercoherences) which lead to think that a more
general framework could be set.
- Linear algebra. From the beginning linear logic has privileged
connections with linear algebra. Current work in progress tries to exploit
this relation for building a model, which would be both denotational and
dynamical, using techniques from functional analysis.
- Denotational semantics.
- This is a wide field of research. Let
us mention a few important issues. In domain theory and the semantics of
programming languages, linear logic has been influential in drawing the focus
away from cartesian closed category of domains to the more finely tuned
categories which model linear logic. The basic goal here is the development
of a theory of categories with duality, providing general tools for
constructing models and comparing them. Another important issue is the use of
the linear decomposition of intuitionistic implication for building models of
call-by-value lambda-calculus. Last example: Girard has proposed the use of
Banach spaces for modelling linear logic. This is an interesting track to
follow for connecting linear logic to more traditional fields of mathematics.
- Game semantics.
- Since the invention of game models that
solved the full abstraction problem for PCF, game semantics has proved to be
a very flexible tool for modelling the dynamics of programming languages.
However a lot of questions remain unanswered and particularly it has to be
understood how this semantics which works so well for intuitionistic linear
logic can be extended to the classical case.
- Abstract geometry of interaction.
- The geometry of interaction
was originally designed for non-additive proof-nets. A
crucial notion in the definition of the latter is that of a boxe, a kind of
synchronization device in the syntax for manipulating arbitrarily big pieces
of code as a whole. In some sense the geometry of interaction is a
localization of the cut-elimination procedure. An interesting question is to
generalize the geometry of interaction to other frameworks than proof-nets
with boxes, e.g., Milner's action calculi. The goal would be to characterize
those syntaxes for which abstract geometry of interaction models can be
built.
The problem of finding a convincing mathematical theory of concurrent processes
is one of the most important and challenging in computer science. Linear logic
is thought from the very beginning as having some connections with this
problem, but its contributions are still to be developped. Here are three
directions of research.
- Categorical models for concurrency.
- Linear logic is coming to
play an important role in a categorical approach to models for concurrency.
Work of Winskel, Joyal and Nielsen on a general approach to bisimulation
through open maps led to a model of classical linear logic which might be
central in extending bisimulation to higher-order features (such as process
passing in process calculi).
- Proof-nets and concurrency.
- Since the invention of proof-nets,
it has been clear that the cut-elimination procedure, especially when
described by the geometry of interaction, is sufficiently local to be
performed asynchronously. This idea is fundamental in the invention of
interaction nets by Lafont. At this point it is natural to ask whether
proof-nets and geometry of interaction might be realistically turned into a
fundational theory of concurrent calculi.
More concrete goals will be aimed at:
- Linearity analysis and type synthesis.
- Work of Danos, Joinet
and Schellinx has initiated the use of linear logic as a kind of ``typing
system'' for intuitionistic or classical proofs: the idea here is to decorate
the proofs by as few exponential connectives as possible in order to gain the
best possible control on memory management. On the other hand, Bierman,
Bräuner, Ronchi della Rocca,... have proposed linear versions of typed
lambda-calculi aiming at controlling the use of resources by means of linear
typing constraints. We want to derive from this work some applications
towards the synthesis of linear types for functional languages, in the spirit
of ML, but more informative from the operational point of view.
- Analysis of the complexity of sharing reductions.
- The geometry
of interaction has proved to be a useful tool in applied topics, e.g., sharing
reductions, interaction nets. In particular some implementations have already
been realised, e.g., an algorithm for sharing reduction due to Asperti
(Bologna). However a lot of optimization work remains to be done, from the
theoretical point of view in refining the design of the algorithm, as well as
from the practical point of view, for example in the choice of the
implementation language.
- Logic programming.
- It is a long standing paradigm of
computation to consider formulae as processes and proof search as execution.
The fine grain decomposition of connectives provided by linear logic allows
for the design of logic programming languages that are much more expressive
than those based on traditional logic. Applications to parallel programming,
database query languages, AI and linguistics have been investigated and have
to be developped further.