Post on 14-Aug-2021
< > - +
Logique linéaire et complexité polynomiale
Patrick Baillot
CNRS-Laboratoire d’Informatique de Paris-Nord
pb@lipn.univ-paris13.fr
2/2/2005
MPRI : LL et paradigmes logiques du calcul
Logique lineaire et complexite polynomiale – p.1/30
< > - +
Introduction
la LL est née de la décomposition de ⇒ en ( et ! :
analyse.
un statut logique est ainsi donné à la duplication d’argument
−→ synthèse: moduler les règles du ! pour avoir une discipline plusstricte:duplication modérée et via élimination des coupures caractériserclasses de complexité.
Logique lineaire et complexite polynomiale – p.2/30
< > - +
Introduction (2)
pourquoi faire ...?
un modèle logique, implicite, structuré, de caractérisation de lacomplexité, alternatif aux machines de Turing, circuits booléns. . .
étendre la correspondance de Curry-Howard à Ptime et auxclasses de complexité, avec tous les bénéfices associés:
langage de programmation ptime, ou types pour la vérificationde complexité
systèmes pour preuves de terminaison ptime
sémantique: compréhension mathématique du calcul ptime:catégories, jeux ?
Logique lineaire et complexite polynomiale – p.3/30
< > - +
Plan du cours
1. Logique linéaire élémentaire (ELL) et complexité élémentairementrécursive:un premier pas, un système simple . . .
2. Logique linéaire light (LLL) et complexité Ptime:la complexité Ptime, via les réseaux de preuves.
3. types light simplifiés (DLAL):la complexité Ptime, dans le λ-calcul.
4. conclusion et directions
Logique lineaire et complexite polynomiale – p.4/30
< > - +
Logique linéaire élémentaire (ELL)
correspond aux fonctions élémentairement récursives : temps
22...
2n
, à hauteur fixée. . .
des applications en réduction optimale: simplification del’algorithme,
GoI/ algèbre dynamique plus simples.
Logique lineaire et complexite polynomiale – p.5/30
< > - +
ELL : définition
on considère ici la version intuitionniste, du 2nd ordre (à la système F).le langage de formules est celui de ILL (sans additifs)
A, B ::= α | A ( B | A ⊗ B | !A | ∀α.A
on enlève une règle: déreliction,
et on remplace la promotion par une version (multi-)fonctorielle:
B1, . . . , Bn ` A
!B1, . . . , !Bn ` !A
les autres règles sont inchangées.
Logique lineaire et complexite polynomiale – p.6/30
< > - +
ELL : remarques
les principes !A ( A (déreliction) et !A ( !!A (digging) ne sontpas valides dans ELL;
contrairement à ILL/CLL : un nombre infini de modalités (suites de!, ?) à équivalence près;
traduction ELL → ILL, compatible avec élimination descoupures (simulation de ELL vers ILL);
pour avoir plus de souplesse, on peut ajouter l’affaiblissementgénéral : logique affine élémentaire (EAL);
pour l’intuition calculatoire : on peut voir ELL/EAL comme unsystème de types pour le λ-calcul.
Logique lineaire et complexite polynomiale – p.7/30
< > - +
EAL et λ-calcul
x :A ` x :AId
Γ1 ` u :A x :A, Γ2 ` t :C
Γ1, Γ2 ` t[u/x] :CCut
Γ1 ` u :A1 x :A2, Γ2 ` t :C
Γ1, y :A1 −◦ A2, Γ2 ` t[(y)u/x] :C−◦l
x :A1, Γ ` t :A2
Γ ` λx.t :A1 −◦ A2
−◦r
x :A[B/α], Γ ` t :C
x :∀α.A, Γ ` t :C∀l
Γ ` t :AΓ ` t :∀α.A
∀r (α non libre dans Γ)
Γ ` t :C∆, Γ ` t :C
Weakx : !A, y : !A,Γ ` t :C
z : !A,Γ ` t[z/x, z/y] :CCntr
Γ ` t :A!Γ ` t : !A
!r
Logique lineaire et complexite polynomiale – p.8/30
< > - +
Types de données EAL
entiers unaires
système F: ILL: EAL:
NF NEAL
∀α.(α → α) → (α → α) ∀α.!(α ( α) ( (α ( α) ∀α.!(α ( α) ( !(α ( α)
Exemple: 2, dans F:
2 = λf : (α → α).λx : α.(f)(f)x .
listes binaires
système F: EAL:
W F W EAL
∀α.(α → α) → (α → α) → (α → α) ∀α.!(α ( α) ( !(α ( α) ( !(α ( α)
Exemple: w = [1, 0, 0], dans F:
w = λz : (α → α).λu : (α → α).λx : α.(u)(z)(z)x .
Logique lineaire et complexite polynomiale – p.9/30
< > - +
Élimination des coupures
réduction dans les réseaux : cas boîte-boîte= fusion
Proposition 1 (simulation ELL-Λ) Si R est un réseau ELLcorrespondant à une preuve de conclusion Γ ` t : A et si R → R′ parréduction, alors R′ correspond à une preuve de conclusion Γ ` t′ : A,
avec tβ?−→ t′.
Logique lineaire et complexite polynomiale – p.10/30
< > - +
Élimination des coupures (suite)
R réseau ELL. e arête de R.profondeur de e, d(e): nombre de boîtes qui contiennent e.profondeur de R, d(R): maximum des profondeurs de ses arêtes.taille de R, |R|: nombre de noeuds de R.
Proposition 2 (Stratification) La profondeur d’une arête d’un réseauELL ne change pas après une étape de réduction.
Noter que ceci n’est pas vrai dans LL: la profondeur peut diminuer
(étape déreliction) ou augmenter (étape boîte-boîte).
Logique lineaire et complexite polynomiale – p.11/30
< > - +
Borne de complexité sur la réduction
Theorem 3 Si R est un réseau de ELL, alors la réduction de R en saforme normale peut être faite en un nombre d’étapes inférieur à
22...
2O(n)
, où n = |R| et la hauteur est 2d(R).
Remarques:
hauteur de la tour ne dépend que de la profondeur, et pas de lataille;
aucune référence aux formules apparaissant sur le réseau;
cette borne est obtenue en appliquant une stratégie par niveaux.
exercice: mq si R est normal jusqu’à profondeur i (pas de coupure),
alors l’élimination d’une coupure à profondeur i + 1 n’introduit pas de
nouvelle coupure à profondeur j ≤ i.
Logique lineaire et complexite polynomiale – p.12/30
< > - +
Représentation de fonctions
Π preuve de x : !kN ` t : !lN , où !kA = ! . . . !A.on dit que π représente la fonction f : N → N si: pour tout entier n lapreuve obtenue en coupant ` n : !kN avec Π se réduit en ` n′ : !lN , oùn′ = f(n).
Definition 1 une fonction f est élémentairement récursive s’il existeun entier h et une machine de Turing M qui calcule f en un temps
majoré par 22...
2n
, de hauteur h.
Theorem 4 les fonctions représentables dans EAL sont exactementles fonctions élémentairement récursives.
Logique lineaire et complexite polynomiale – p.13/30
< > - +
Réduire la complexité ?
comment passer de EAL à une complexité polynomiale ?
essayons de limiter la propagation des contractions. . .
idée: on va distinguer dans les réseaux entre
des boîtes non dupliquables,
des boîtes dupliquables, mais à 1 seule entrée.
pour cela on considère une nouvelle modalité: §.
Logique lineaire et complexite polynomiale – p.14/30
< > - +
Logique linéaire light (LLL)
langage de formules
A, B ::= α | A ( B | A ⊗ B | !A | §A | ∀α.A
règles:B ` A!B `!A
` A`!A
Γ, ∆ ` A
!Γ, §∆ ` §A
les autres règles sont inchangées.
on considérera la version affine : light affine logic (LAL);
comme pour EAL on utilisera LAL comme un système de typespour le λ-calcul.
Logique lineaire et complexite polynomiale – p.15/30
< > - +
LAL: remarques
la règle § peut être vue comme une sorte de déreliction multiple,avec un marqueur §;
d’un point de vue typage: !A sous-type de §A;
d’un point de vue sémantique:!, § sont des foncteurs, et on a les principes!A ( (!A ⊗ !A)
!A ( §A §A ⊗ §B ( §(A ⊗ B)
Logique lineaire et complexite polynomiale – p.16/30
< > - +
LAL et λ-calcul
x :A ` x :AId
Γ1 ` u :A x :A, Γ2 ` t :C
Γ1, Γ2 ` t[u/x] :CCut
Γ1 ` u :A1 x :A2, Γ2 ` t :C
Γ1, y :A1 −◦ A2, Γ2 ` t[(y)u/x] :C−◦l
x :A1, Γ ` t :A2
Γ ` λx.t :A1 −◦ A2
−◦r
x :A[B/α], Γ ` t :C
x :∀α.A, Γ ` t :C∀l
Γ ` t :AΓ ` t :∀α.A
∀r (α non libre dans Γ)
Γ ` t :C∆, Γ ` t :C
Weakx : !A, y : !A,Γ ` t :C
z : !A,Γ ` t[z/x, z/y] :CCntr
x :B ` t :Ax : !B ` t :!A
!r` t :A` t :!A
!r
Γ, ∆ ` t :A
!Γ, §∆ ` t :§A§r
Logique lineaire et complexite polynomiale – p.17/30
< > - +
Traduction LAL -> EAL
traduction (.)o : LAL −→ EAL:
(!A)o = (§A)o = !Ao,
(.)o commute aux autres connecteurs.
Ceci donne une traduction des preuves LAL vers les preuves EAL.En fait il s’agit même d’une simulation.Bien sûr, toutes les preuves EAL ne sont pas dans l’image de (.)o.
exercice: mq toute preuve EAL sans coupure est l’image d’une preuveLAL par (.)o.
Logique lineaire et complexite polynomiale – p.18/30
< > - +
Types de données LAL
entiers unaires
EAL: LAL:
NEAL NLAL
∀α.!(α ( α) ( !(α ( α), ∀α.!(α ( α) ( §(α ( α) .
listes binaires
EAL: LAL
W EAL W LAL
∀α.!(α ( α) ( !(α ( α) ( !(α ( α), ∀α.!(α ( α) ( !(α ( α) ( §(α ( α) .
Logique lineaire et complexite polynomiale – p.19/30
< > - +
Élimination des coupures (LLL)
réduction des réseaux: similaire à ELL.
Proposition 5 (simulation LLL-Λ) Si R est un réseau LLLcorrespondant à une preuve de conclusion Γ ` t : A et si R → R′ parréduction, alors R′ correspond à une preuve de conclusion Γ ` t′ : A,
avec tβ?−→ t′.
Logique lineaire et complexite polynomiale – p.20/30
< > - +
Borne de complexité sur la réduction
Comme les réseaux ELL, les réseaux LLL vérifient la ppté destratification.
Theorem 6 Si R est un réseau de LLL, alors la réduction de R en saforme normale peut être faite en un nombre d’étapes en O(n2
d+1
), oùn = |R| et d = d(R).
Remarques:
si la profondeur est fixée, alors le nombre d’étapes est polynomialen |R| ;
cette borne est obtenue avec une stratégie par niveaux.
Logique lineaire et complexite polynomiale – p.21/30
< > - +
Représentation de fonctions
pour le calcul Ptime le choix de la représentation des données estimportante: listes binaires.
dans LAL on peut faire des changements de type sur les données:coercion: N ( §N , qui transforme ` n : N en ` n : §N .plus généralement: N ( §i+1!jN , avec i, j ≥ 0.Même chose pour le type W . Ceci nous permet de nous ramener àdes types de la forme W ( §kW .
On dit qu’une fonction f : {0, 1}? → {0, 1}? est représentable dans LALs’il existe une preuve Π d’un x : W ` t : §kW telle que :pour tout w de {0, 1}?, la preuve obtenue en coupant ` w : W avec Π
se réduit en ` w′ : !kW , où w′ = f(w).
Logique lineaire et complexite polynomiale – p.22/30
< > - +
Complexité de LAL
Theorem 7 Les fonctions représentables dans LAL sont exactementles fonctions Ptime, c’est-à-dire calculables en temps polynomial surune machine de Turing.
Remarques:
même si un terme t est typable dans LAL, pour l’exécuter avec laborne de complexité attendue on doit le compiler en un réseau depreuve;
attention: un terme peut représenter une fonction Ptime et ne pasêtre typable dans LAL.
Logique lineaire et complexite polynomiale – p.23/30
< > - +
Un système de types light plus simple : DLAL
langage de types de DLAL:
A, B ::= α | A ( B | A ⇒ B | §A | ∀α.A
traduction (.)∗
: DLAL −→ LAL:
(A ⇒ B)∗
= !A∗( B∗,
(.)∗ commute aux autres connecteurs.
Remarquer que les types suivants ne sont pas dans l’image de DLAL :
A ( !B, §!A ( B, !A .
Pour typer dans DLAL : jugements mixtes Γ; ∆ ` t : C,
où ∆ contexte affine-linéaire, Γ non linéaire.
Logique lineaire et complexite polynomiale – p.24/30
< > - +
DLAL
; x :A ` x :A(Id)
Γ1;∆1 ` u :A Γ2; x :A, ∆2 ` t :C
Γ1, Γ2;∆1, ∆2 ` t[u/x] :C(Cut)
Γ1;∆1 ` u :A Γ2; x :B, ∆2 ` t :C
Γ1, Γ2; y :A −◦ B, ∆1, ∆2 ` t[(y)u/x] :C(−◦l)
Γ; x :A, ∆ ` t :B
Γ;∆ ` λx.t :A −◦ B(−◦r)
; z :D ` u :A Γ; x :B, ∆ ` t :C
z :D, Γ; y :A ⇒ B, ∆ ` t[(y)u/x] :C(⇒ l)
x :A, Γ;∆ ` t :B
Γ;∆ ` λx.t :A ⇒ B(⇒ r)
Γ; x :A[B/α], ∆ ` t :C
Γ; x :∀α.A, ∆ ` t :C(∀l)
Γ;∆ ` t :A
Γ;∆ ` t :∀α.A(∀r), α non libre dans Γ, ∆
Γ;∆ ` t :C
Σ, Γ;Π, ∆ ` t :C(Weak)
x :A, y :A, Γ; ∆ ` t :C
z :A, Γ;∆ ` t[z/x, z/y] :C(Cntr)
; Γ, x1 :B1, . . . , xn :Bn ` t :A
Γ; x1 :§B1, . . . , xn :§Bn ` t :§A(§)
Logique lineaire et complexite polynomiale – p.25/30
< > - +
Dérivations de type dans DLAL
Proposition 8 si Γ; ∆ `DLAL t : A et x ∈ ∆, alors x a au plus 1occurrence dans t (x linéaire).
Proposition 9 si Γ; ∆ `DLAL t : A alors !Γ∗, ∆∗ `LAL t : A∗.On obtient ainsi une simulation de DLAL dans LAL.
La profondeur d’une dérivation DLAL est la profondeur de la dérivationLAL correspondante.
Logique lineaire et complexite polynomiale – p.26/30
< > - +
Types de données DLAL
entiers unaires
LAL: DLAL
NLAL NDLAL
∀α.!(α ( α) ( §(α ( α), ∀α.(α ( α) ⇒ §(α ( α) .
listes binaires
LAL: DLAL
W LAL W DLAL
∀α.!(α ( α) ( !(α ( α) ( §(α ( α), ∀α.(α ( α) ⇒ (α ( α) ⇒ §(α ( α) .
Logique lineaire et complexite polynomiale – p.27/30
< > - +
Types dans DLAL
exemples de types:
` addition : N ( N ( N
` double : N ⇒ §N
Les fonctions représentables dans DLAL sont données par les types
W ( §kW .
Logique lineaire et complexite polynomiale – p.28/30
< > - +
DLAL: bornes de complexité
DLAL satisfait la propriété de préservation du typage.
Theorem 10 (borne polynomiale forte) Si t est typable dans DLALavec une dérivation de profondeur d, alors toute suite de β-réduits de t
est de longueur majorée par O(|t|2d+1
).
Remarques:
il s’agit ici de β-réduction, et plus de réduction des réseaux;
cette borne s’applique pour toutes les stratégies de réduction;
en particulier, si ` t : W ( §kW alors on peut normaliser (t)w enun nombre d’étapes polynomial en longueur(w).
Theorem 11 Les fonctions représentables par des termes typablesdans DLAL sont exactement les fonctions Ptime.
Logique lineaire et complexite polynomiale – p.29/30
< > - +
Conclusion
la LL offre une approche logique de la complexité;
cette approche fait un lien entrethéorie de la complexité d’une part,et programmation fonctionnelle, typage, preuve formelle del’autre. . .
d’autres caractérisations de programmation Ptime ont étéproposées (domaine de la complexité implicite) :réécriture, ordres de terminaison, théorie de la récursion . . .les liens entre ces approches sont encore assez peu connus.
Logique lineaire et complexite polynomiale – p.30/30
References
[ACM00] A. Asperti, P. Coppola, and S. Martini. (Optimal) du-
plication is not elementary recursive. In Proceedings of
POPL’00, pages 96–107, 2000.
[AR02] A. Asperti and L. Roversi. Intuitionistic light affine logic.
ACM Transactions on Computational Logic, 3(1):1–39,
2002.
[Bai04] P. Baillot. Type inference for light affine logic via
constraints on words. Theoretical Computer Science,
328(3):289–323, 2004. available from http://www-
lipn.univ-paris13.fr/∼baillot/
[BM04] P. Baillot and V. Mogbil. Soft lambda-calculus: a language
for polynomial time computation. In Proceedings of FOS-
SACS’04, LNCS, Springer.
[BT04b] P. Baillot and K. Terui. Light types for polynomial time com-
putation in lambda-calculus. In Proceedings of LICS’04,
pages 266–275, 2004.
[DJ03] V. Danos and J.-B. Joinet. Linear logic & elementary time.
183(1):123–137, 2003. Information and Computation.
[Gir98] J.-Y. Girard. Light linear logic. Information and Computa-
tion, 143:175–204, 1998.
[GSS92] J.-Y. Girard, A. Scedrov, and P. Scott. Bounded linear logic:
A modular approach to polynomial time computability. The-
oretical Computer Science, 97:1–66, 1992.
[Laf04] Y. Lafont. Soft linear logic and polynomial time. Theoretical
Computer Science, 318(1–2):163–180, 2004.
30-1
[Ter01] K. Terui. Light Affine Lambda-calculus and polytime strong
normalization. In Proceedings of LICS’01, pages 209–220,
2001.
[Ter02] K. Terui. Light logic and polynomial time computa-
tion. PhD thesis, Keio University, 2002. available from
http://research.nii.ac.jp/∼terui/
[Ter04] K. Terui. Light affine set theory: a naive set theory of poly-
nomial time. in Studia Logica, Vol. 77, pp. 9-40, 2004
30-2