Précédent : Présentation générale et
objectifs Remonter : Projet CALLIGRAMME, Logique Linéaire, Réseaux
Suivant : Grands domaines d'application
Résumé : L'intérêt que porte le projet CALLIGRAMME à la logique linéaire tient aux propriétés de celle-ci en tant qu'outil d'analyse : elle permet une décomposition fine des connecteurs logique ; elle peut-être interprétée en tant que calcul sensible à la notion de ressource ; elle présente un parallélisme inhérent ; elle rend possible une étude géométrique de la notion même de preuve, par le biais de la théorie des réseaux de démonstration.
Cet intérêt se traduit au sein de quatre modules ou actions de recherche : Calcul des séquents, réseaux de démonstration et d'interaction ; Logique linéaire et parallélisme ; Logique linéaire et grammaires formelles ;
-calculs typés et sémantique.
Ces quatre actions présentent à la fois un caractère théorique et appliqué. Cependant, du point de vue strictement applicatif, l'action << Logique linéaire et grammaires formelles >> est la plus saillante. Un des objectifs premier du projet CALLIGRAMME est le développement et la mise au point d'un modèle linguistique computationnel, basé sur la logique linéaire.
Participant : Denis Bechet , Kheireddine Bessafi ,
Philippe de Groote, François Lamarche , Jean-Yves Marion , Guy
Perrier , Christian Retoré .
Mots-clés : calcul des séquents, réseaux de
démonstration, réseaux d'interaction
Réseaux de démonstration: Représentations graphiques
(au sens de la théorie des graphes) des démonstrations de la
logique linéaire.
Réseaux d'interaction: Modèle universel de calcul basé
sur une généralisation du processus d'élimination des coupures au
sein des réseaux de démonstration.
Résumé : Le but de cette action est d'étudier la théorie des réseaux de démonstration et d'interaction, et de contribuer à son développement. Nous nous intéressons à la généralisation du concept de connecteur multiplicatif, en particulier dans le cas non commutatif (réseaux ordonnés, calculs de Lambek et d'Abrusci). Une autre direction de recherche concerne l'addition des opérateurs de la logique linéaire ordinaire (quantificateurs, additifs et modalités) aux réseaux multiplicatifs. Les réseaux d'interaction, une variante des réseaux multiplicatifs, beaucoup plus lâche du point de vue du typage, retiennent également notre attention.
La théorie des réseaux est en fait un de nos outils principaux, et ses techniques sont employées dans les autres actions de recherche.
Le coeur de la théorie des réseaux de démonstration[Gir87] correspond au fragment multiplicatif de la logique linéaire.
Dans un premier temps, on définit la notion de structure de démonstration. Etant donné un séquent de la logique linéaire, une structure de démonstration est un graphe comprenant deux composantes :
Dans un deuxième temps, on distingue parmi les structures de démonstration, les réseaux. Ceux-ci correspondent à des démonstrations correctes. Cette distinction s'opère au moyen de critères géométriques globaux. C'est là tout l'intérêt de cette théorie des réseaux, qui éclaire d'une lumière nouvelle la notion de démonstration.
La découverte de nouveaux critères de correction reste un thème de recherche important. Certains critères sont mieux adaptés que d'autre à telle ou telle application. En particulier, en démonstration automatique, les critères de correction peuvent être utilisés comme invariants au cours de la construction inductive d'une démonstration.
La théorie des réseaux de démonstration présente également un
caractère dynamique : l'élimination des coupures. Cette dynamique
correspond à une notion de normalisation (ou d'évaluation)
apparentée à la notion de réduction du calcul
lambda.
La logique linéaire, du fait de sa grande souplesse, permet de nombreuses variations. Par exemple en rejetant (partiellement) la règle structurelle d'échange, on obtient des variantes (partiellement) non commutatives. Il est également possible de se restreindre à des séquents intuitionistes, ce qui correspond à une vision fonctionnelle (en termes d'entrées/sortie) de la logique linéaire. En particulier, le calcul syntaxique de Lambek,[Lam58,Lam61] qui joue un rôle central en théorie des grammaires catégorielles, correspond exactement au fragment intuitionnniste, non commutatif de la logique linéaire multiplicative. Citons également d'autres variantes qui nous intéressent au premier chef : le calcul non commutatif d'Abrusci[Abr91] et le calcul ordonné de Retoré.[Ret93] Pour chacune de ces variantes, nous étudions et développons la théorie des réseaux de démonstration associée.
Dès que l'on s'éloigne du fragment multiplicatif, de nombreuses difficultés émergent (caractère non-local des réductions dû à la présence des boîtes, non-confluence due aux règles de commutation, etc.). De ce fait, en dehors du fragment multiplicatif, la théorie des réseaux correspond plus à un domaine de recherche actif qu'à une théorie établie.
Or le pouvoir d'expression du fragment multiplicatif est trop
faible pour de nombreuses applications. Dans le cadre de
l'isomorphisme de Curry-Howard,[How80] par
exemple, il est indispensable d'utiliser les exponentielles si
l'on veut récupérer la puissance de la logique intuitionniste et
donc, du -calcul. Les additifs, quant à eux, permettent
d'exprimer des opérateurs de choix. Finalement, les
quantificateurs jouent également un rôle important dans de
nombreuses applications, qu'il s'agisse des quantificateurs du
premier ordre permettant d'exprimer des dépendances, ou des
quantificateurs du second ordre permettant d'exprimer le
polymorphisme.
Les réseaux d'interaction[Laf90] sont un modèle de calcul directement inspiré des réseaux de démonstrations. Leur mécanisme de calcul est une généralisation du mécanisme d'élimination des coupures du fragment multiplicatif. Les réseaux d'interaction ne représentent pas, en général, des démonstrations. Leur théorie correspond plutôt à celle d'une machine abstraite permettant d'implanter, entre autres, les réseaux de démonstration. Du fait qu'ils correspondent à un modèle de calcul parallèle, les réseaux d'interaction jouent un rôle important dans notre étude des aspects parallèles de la logique linéaire.
Participant : Alessio Guglielmi , Guy Perrier .
Mots-clés : calcul parallèle, calcul de processus
Résumé : Certains aspects de la logique linéaire sont intrinsèquement liés au parallélisme. Elle permet, d'une part, une meilleur compréhension des processus de parallélisation de l'exécution d'un programme séquentiel. D'autre part, elle jette un jour nouveau sur l'interprétation logique que l'on peut donner à des concepts tels que la composition parallèle, la communication entre processus, l'indéterminisme, etc.
La réflexion sur la pertinence de la logique intuitionniste en informatique a donné lieu à deux paradigmes permettant d'interpréter une logique constructive donnée de manière calculatoire.
Le premier de ces paradigmes, que nous appelerons le
paradigme fonctionnel, est désigné, en anglais, par
l'expression proofs-as-programs. Il est basé sur
l'isomorphisme de Curry-Howard[How80] qui établit
une correspondance entre -calcul typé et logique
intuitionniste et ce, à trois niveaux : aux types, correspondent
les formules ; aux termes, correspondent les démonstrations ; au
processus de réduction des termes, correspond le processus de
normalisation des démonstrations.
Le second de ces paradigmes, que nous appelerons le paradigme logique, correspond à l'expression anglaise proof-search-as-computation. Ici ce n'est plus une démonstration qui correspond à un programme, mais un ensemble de formules ; son exécution, en présence d'une formule logique appelée requête, consiste alors à construire une démonstration normale du séquent intuitionniste dont les hypothèses correspondent au programme et la conclusion à la requête. Ce paradigme permet de définir de manière abstraite la notion de langage de programmation logique.[MNPS91]
Qu'il s'agisse de l'un ou de l'autre de ces deux paradigmes, la logique linéaire présente de nombreux aspects opérationnels liés au parallélisme.
Il est possible de coder les -termes (ou,
plus généralement, les programmes fonctionnels) sous la forme de
réseaux de démonstration.[Dan90] Cette représentation
est telle que l'évaluation d'un
-terme donné
revient à éliminer les coupures au sein du réseau correspondant.
Or les différentes coupures existant dans un réseau sont
indépendantes les unes des autres et se réduisent de manière
essentiellement locale, ce qui ouvre la porte à une
parallélisation de l'exécution.
Cette observation est à la base du formalisme des réseaux d'interaction.[Laf90] Ceux-ci correspondent à un modèle universel de calcul dont la dynamique s'exprime en terme de réécritures locales et indépendantes au sein d'un graphe. Un typage très souple assure la cohérence des calculs quel que soit l'ordre dans lequel ils sont effectués.
Il est à noter que les travaux exploitant les possibilités de parallélisation de l'élimination des coupures en logique linéaire s'inscrivent pour la plupart dans un cadre intuitionniste, donc fonctionnel. Une question fondamentale reste ouverte : quel est le paradigme calculatoire sous-jacent à la logique linéaire classique ?
J.-M. Andreoli et R. Pareschi,[AP91] D. Miller,[Mil93] N. Kobayashi et A. Yonezawa,[KY92] ainsi que G. Perrier[Per95] ont montré comment on pouvait concevoir un langage de programmation parallèle reposant sur la construction de démonstrations en logique linéaire. Les formules logiques représentent des processus et la construction d'une démonstration est alors vue comme l'exécution d'un calcul de processus.
Ces travaux permettent d'interpréter les connecteurs de la logique linéaire en termes d'opérateurs de composition de processus : parallélisme, communication asynchrone, non-déterminisme interne, non-déterminisme externe, etc.
La question qui se pose alors est double : que peut nous apprendre la logique linéaire sur les calculs de processus ? que peuvent nous apprendre les calculs de processus sur la logique linéaire ?
Participant : Denis Bechet , Philippe de Groote, François
Lamarche , Alain Lecomte , Guy Perrier , Christian Retoré .
Mots-clés : grammaires catégorielles, analyse
syntaxique des langues naturelles, sémantique des langues
naturelles
Grammaire catégorielle: formalisme logique basé sur une
notion fonctorielle de catégorie syntaxique, permettant la
description formelle de langages.
Résumé : Le calcul syntaxique de Lambek, qui joue un rôle central dans la théorie des grammaires catégorielles, apparaît a posteriori comme un fragment de la logique linéaire. De ce fait, celle-ci fournit un cadre mathématique permettant d'étendre ledit calcul et la notion de grammaire catégorielle. Le but de cette recherche est le développement d'un modèle de linguistique computationnelle plus souple et plus efficace que les modèles catégoriels existant actuellement.
La pertinence de la logique linéaire en ce qui concerne le
traitement de la langue tient à sa sensibilité à la notion de
ressource. Un langage (naturel ou formel) peut, en effet, être
interprété comme un système de ressources. Par exemple, une
phrase telle que :
Le calcul de Lambek a également ses limites. Il ne permet pas, entre autres, de rendre compte de phénomènes syntaxiques tels que l'extraction médiane ou les dépendances croisées. Se pose alors la question : comment étendre le calcul syntaxique de Lambek ? C'est ici qu'intervient la logique linéaire en offrant un cadre mathématique adéquat, au sein duquel il est possible de s'attaquer à cette question. En particulier, les réseaux de démonstration apparaissent comme la structure d'analyse syntaxique la plus adaptée à l'approche catégorielle.
De la logique linéaire à un modèle linguistique, c'est-à-dire, un modèle computationnel adapté au traitement automatique de la langue, il reste une distance importante à franchir.
La construction d'un tel modèle est un des objectifs premiers du projet CALLIGRAMME. Outre les questions purement techniques liées, par exemple, au choix de tel ou tel fragment de la logique linéaire, se posent également de nombreuses questions extra-logiques. Citons, entre autres, les limites entre morphologie, syntaxe et sémantique, l'opposition entre lexique et grammaire, l'opposition entre ordre des mots et ordre d'évaluation, le choix des catégories syntaxiques de base, etc.
A terme, l'élaboration du modèle linguistique donnera lieu à l'implémentation d'un analyseur syntaxico-sémantique adapté au français. Cet analyseur est vu comme un outil générique permettant le prototypage rapide de diverses applications.
Participant : Philippe de Groote, François Lamarche ,
Sophie Malecki , Jean-Yves Marion , Catherine Pilière , Christian
Retoré .
Mots-clés : lambda-calcul, théorie des types,
sémantique dénotationnelle, sémantique des jeux, complexité
Résumé : Jusqu'à l'invention des réseaux de démonstration, l'outil principal de représentation des démonstrations dans les logiques constructives était le lambda-calcul. Il n'est pas surprenant que certains aspects de la théorie du lambda-calcul et de ses extensions continuent à intéresser les membres du groupe : citons le lien existant entre la logique classique et les opérateurs de contrôle séquentiel (par le biais du lambda-mu calcul), l'étude du polymorphisme, et l'emploi de systèmes de types pour l'expression de classes de complexité. Nous utilisons également la capacité de la sémantique dénotationelle à inspirer des progrès syntaxiques. En particulier, la sémantique des jeux, qui est liée directement à la théorie des réseaux de démonstration retient notre attention.
L'isomorphisme de Curry-Howard, qui doit son existence au caractère fonctionnel de la logique intuitionniste, peut être étendu à des fragments de la logique classique. En fait, certaines constructions qu'on rencontre dans les langages de programmation fonctionnels, tels les opérateurs de contrôle, n'ont pu être expliquées que par l'emploi de règles de déductions qui s'apparentent à la preuve par contradiction.[Gri90].
Cette extension de l'isomorphisme de Curry-Howard à la logique classique, qui ne suit pas une voie tracée d'avance, reste présent comme thème de recherche au sein du projet.
Bien que cela reste encore spéculatif, il à noter que l'emploi
que fait Montague du -calcul en sémantique des langues
naturels[Mon73]
présente de nombreuses analogies avec la notion de continuation
et de contrôle.
L'interprétation informatique des quantificateurs du second ordre donne lieu à des programmes polymorphes, c'est-à-dire, des programmes prenant certains types de données comme paramètres. Cette idée, au niveau des grammaires catégorielles, à été promue et exploitée par M. Emms[Emm89] : le polymorphisme s'avère utile pour exprimer le type d'un mot comme << et >>, qui peut coordonner plusieurs sortes de syntagmes.
En général, la logique intutionniste et la logique linéaire (même restreinte au fragment correspondant au calcul de Lambek) sont indécidables au second ordre. Un thème de recherche important consiste à découvrir des fragments décidables, dont le pouvoir d'expression est suffisant pour telle ou telle application.
Un application intéressante du lambda-calcul typé est la capacité de certain systèmes de types à caractériser de classes de complexité. On sait depuis Gödel que les fonctions sur les entiers expressibles dans l'arithmétique de Peano sont exactement celles qu'on obtient en ajoutant au lambda-calcul simplement typé un type des nombres naturels, doté d'un principe de récursion simple. Cette approche peut être étendue par l'emploi de schémas de récursion plus subtils, et on peut alors caractériser certaines des classes de fonctions les plus fondamentales de la théorie de la complexité, comme PTIME ou PSPACE.
La sémantique dénotationnelle est la recherche d'interprétations de la syntaxe dans l'univers des mathématiques << ordinaires >>, soit les ensembles, relations et fonctions. Son importance dans le développement de la théorie des types modernes a été très grande, et ceci depuis les premiers modèles, dus à Scott, qui datent de la fin des années soixante. En particulier l'invention de la logique linéaire est due à l'étude poussée par Girard d'un modèle particulièrement simple du lambda-calcul, soit les espaces cohérents.
La sémantique des jeux est un nouveau type de sémantique dénotationnelle qui a la capacité de conserver beaucoup plus d'information syntaxique que les sémantiques traditionnelles. L'idée de base est très simple : on considère un type comme un jeu à deux personnes, et un terme/élément qui habite ce type comme une stratégie de jeu pour un des joueurs. Si certaines versions de la sémantique des jeux sont conçues spécifiquement pour le lambda-calcul, il reste néanmoins que le terrain naturel pour en exprimer les constructions de base est la logique linéaire, vu le rapport très étroit avec les réseaux de démonstration. La sémantique des jeux apporte certaines intuitions au niveau opérationnel, et permet par exemple la conception de machines abstraites pour le lambda-calcul. Dans une direction similaire elle ouvre aussi des perspectives pour la modélisation de l'analyse syntaxique pour les formalismes catégoriels.