Projet Calligramme

previous up next contents
Précédent : Présentation générale et objectifs Remonter : Projet CALLIGRAMME, Logique Linéaire, Réseaux Suivant : Grands domaines d'application



Fondements scientifiques

Panorama

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 ; $\lambda$-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.


Calcul des séquents, réseaux de démonstration et d'interaction



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.


Les réseaux multiplicatifs

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 $\beta$ du calcul lambda.

Les variantes multiplicatives

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.

Extension aux autres connecteurs

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 $\lambda$-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

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.

Logique linéaire et parallélisme



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.


Deux paradigmes opérationnels

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 $\lambda$-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.

Le paradigme fonctionnel

Il est possible de coder les $\lambda$-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 $\lambda$-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 ?

Le paradigme logique

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 ?

Logique linéaire et grammaires formelles



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.


Logique linéaire et grammaires catégorielles

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 :


*il Pierre présente à Marie à Paul


est incorrecte parce qu'elle viole un principe sous-jacent aux langues naturelles selon lequel les valences verbales doivent être réalisées une et une seule fois. Les grammaires catégorielles formalisent cette idée en spécifiant qu'un verbe tel que présente est une ressource qui donnera une phrase p en présence d'un syntagme nominal sujet sn, d'un syntagme nominal objet sn, et d'un objet indirect Acomp. Ceci donne lieu à l'assignation de type qui suit :

Pierre : sn;     présente : ((sn\p)/Acomp)/sn;
Marie : sn;     à : Acomp/sn;     Paul : sn.


où l'oblique (/) et la contre-oblique (\)s'interprètent respectivement comme des paires de fractions se simplifiant à gauche et à droite :

sn.((sn\p)/Acomp)/sn.sn.Acomp/sn.sn=p


Cependant, on s'aperçoit très vite que ce schéma de simplification, qui est à la base des grammaires de Bar-Hillel,[BH50] n'est pas suffisant. Par exemple, l'assignation :

qui: (n\n)/(sn\p),


qui interprète le pronom relatif qui comme une ressource transformant une phrase sans sujet (sn\p) en un modificateur à droite de nom (n\n), nécessite d'autre principes pour être mise en oeuvre. Lambek résout ce problème en proposant d'interpréter les obliques et contre-obliques comme connecteurs implicatifs.[Lam58,Lam61] Ceux-ci obéissent alors à la loi du modus ponens, qui n'est autre que le schéma de simplification de Bar-Hillel :

\begin{displaymath}\frac{\Gamma \, \mathrel{\vrule height 1ex width 0.3ex dept... ...h 0.3ex depth -.1ex\mathrel{\mkern-3mu}\mathrel{\smash-}}\, B}\end{displaymath}


mais également à des règles d'introduction:

\begin{displaymath}\frac{A, \Gamma \, \mathrel{\vrule height 1ex width 0.3ex d... ...0.3ex depth -.1ex\mathrel{\mkern-3mu}\mathrel{\smash-}}\, B/A}\end{displaymath}

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.

Construction d'un modèle linguistique

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.

Lambda calculs typés, sémantique, complexité



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.


Logique classique et opérateurs de contrôle

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 $\lambda$-calcul en sémantique des langues naturels[Mon73] présente de nombreuses analogies avec la notion de continuation et de contrôle.

Polymorphisme

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.

Complexité

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.

Sémantique dénotationnelle et sémantique des jeux

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.



previous up next contents Précédent : Présentation générale et objectifs Remonter : Projet CALLIGRAMME, Logique Linéaire, Réseaux Suivant : Grands domaines d'application