HAL Id: hal-00381215
https://hal.archives-ouvertes.fr/hal-00381215
Submitted on 5 May 2009
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de
Un Résultat de Complétude pour les Types ∀
+du Système F
Karim Nour, Samir Farkh
To cite this version:
Karim Nour, Samir Farkh. Un Résultat de Complétude pour les Types∀+ du Système F. Comptes Rendus de l’Académie des Sciences - Series I - Mathematics, Elsevier, 1998, 326, pp.275-279. �hal- 00381215�
Un R´ esultat de Compl´ etude pour les Types ∀
+du Syst` eme F
Samir FARKH et Karim NOUR
LAMA - Equipe de Logique - Universit´e de Savoie - 73376 Le Bourget du Lac.
E-mail sfarkh,knour@univ-savoie.fr
R´esum´e. Nous pr´esentons dans cette note un r´esultat de compl´etude pour les types `a quantificateurs positifs du syst`emeF de J.-Y. Girard. Ce r´esultat g´en´eralise un th´eor`eme de R. Labib-Sami (voir [3]).
A Completeness Result for the ∀
+Types of System F
Abstract. We presente in this note a completeness result for the types with positive quantifiers of the J.-Y. Girard type systemF. This result generalizes a theorem of R. Labib-Sami (see [3]).
Abridged English Version. The F type system have been introduced by J.-Y. Girard (see [1]). This system is based on the second order intuitionistic propositional calculus, and thus it gives the possibility to quantify on types.
In addition to strong normalisation theorem which certifies the termination of programs, the systemF has two more properties :
It allows to write programs for all the fonctions whose termination can be proved in the Peano’s second order arithmetics.
- It allows to define all the usual data types : booleans, integers, lists, etc.
The semantics of the systemF proposed by J.-Y. Girard and J.-L. Krivine (see [1] and [2]) consists in associating to each typeAa set ofλ-terms|A|, in order to obtain the following result: if aλ-termt is of typeA, then it belongs to the set |A|. This result is known as the adequation lemma, and it allows to prove the strong normalisation of systemF and the unicity of data representation.
The converse of the adequation lemma (a completeness result) is not true. The difficulty comes from the interpretation of second order quantifier. R. Labib- Sami proved a completeness result for the types with positive quantifiers and for a semantic based on the sets stable by the βη-equivalence (see [3]). In this
note we prove a refined result by indicating that week-head-expansion suffices.
Hence, it presents a generalisation of R. Labib-Sami’s result. In the end of this note, we deduce some consequences among which the fact that for each type with positive quantifiersA, the set|A| is stable byβ-equivalence.
1 Notations et d´ efinitions
On d´esignera par Λ l’ensemble des termes duλ-calcul pur, dits aussi λ-termes.
Etant donn´es des´ λ-termest, u, u1, ..., un, l’application det`a usera not´ee (t)u, et (...((t)u1)...)un sera not´e (t)u1...un. Si t est un λ-terme, on d´esigne par F v(t) l’ensemble de ses variables libres. On note par →β la β-r´eduction, et par≃β laβ-´equivalence. Unλ-termet soit poss`ede un redex de tˆete faible [i.e.
t= (λxu)vv1...vm, le redex de tˆete faible est (λxu)v], soit est en forme normale de tˆete faible [i.e. t= (x)v1...vm out=λxv]. La notationu≻f v signifie quev est obtenu `a partir deupar r´eduction de tˆete faible.
Nous utilisons comme syst`eme de typage le syst`emeFde J.-Y. Girard. Les types de ce syst`eme sont les formules construites `a l’aide d’un ensemble d´enombrable de variables propositionnellesX, Y,..., et deux connecteurs→et∀. ´Etant donn´es unλ-termet, un typeA, et un contexte Γ ={x1:A1, ..., xn:An}, on d´efinit au moyen des r`egles suivantes la notion “t est typable de typeA dans le contexte Γ”. Cette notion est not´ee Γ⊢Ft:A.
(1) Γ⊢Fxi:Ai (1≤i≤n).
(2) Si Γ, x:B⊢F t:C, alors Γ⊢Fλxt:B→C.
(3) Si Γ⊢F u:B→C, et Γ⊢F v:B, alors Γ⊢F (u)v:C.
(4) Si Γ⊢F t:A, etX ne figure pas dans Γ, alors Γ⊢F t:∀XA.
(5) Si Γ⊢F t:∀XA, alors, pour tout typeC, Γ⊢Ft:A[C/X].
Il est facile de voir que : Si Γ ⊢F t : A et Γ ⊆ Γ′, alors Γ′ ⊢F t : A. Et si Γ ⊢F t : A, alors Γ′ ⊢F t : A, o`u Γ′ est la restriction de Γ aux d´eclarations contenant les variables libres det.
Le syst`emeF poss`ede les propri´et´es suivantes (voir [2]):
Th´eor`eme 1 (i) SiΓ⊢Ft:A, ett→βt′, alorsΓ⊢F t′:A.
(ii) SiΓ⊢Ft:A, alors t est fortement normalisable.
Une partie Gde Λ est dite satur´ee si, quels que soient les termes t et u, on a : (u∈ Get t ≻f u)⇒t ∈G. Il est clair que l’intersection d’un ensemble de parties satur´ees de Λ est satur´ee. ´Etant donn´ees deux partiesGet G′ de Λ, on d´efinit une partie de Λ, not´eeG→G′, en posant : u∈(G→G′)⇔(u)t∈G′ quel que soitt∈G. SiG′ est satur´ee, alorsG→G′ est satur´ee pour toute par- tieG⊂Λ. Une interpr´etationI est, par d´efinition, une applicationX → |X|I
de l’ensemble des variables de type dans l’ensemble des parties satur´ees de Λ.
X ´etant une variable de type, et G une partie satur´ee de Λ, on d´efinit une interpr´etationJ =I[X ←G] en posant|X|J =G, et|Y|J =|Y|I pour toute variableY 6=X. Pour chaque typeA, sa valeur|A|I dans l’interpr´etationIest une partie satur´ee d´efinie comme suit, par induction surA:
- SiA est une variable de type,|A|I est d´ej`a d´efinie ; -|A→B|I =|A|I → |B|I ;
-|∀XA|I =∩{|A|I[X←G] pour toute partie satur´eeG}.
Il est facile de v´erifier que : si A, F sont deux types,X une variable, etI une interpr´etation, alors|A[F/X]|I =|A|I[X←|F|I].
Pour tout type A, on note|A|=∩{|A|I ;I interpr´etation}.
Th´eor`eme 2 [lemme d’ad´equation]Soient Aun type, ett unλ-terme clos.
Si⊢Ft:A, alors t∈ |A|.
2 Le r´ esultat de compl´ etude
On d´efinit de la fa¸con suivante les types `a quantificateurs positifs (resp. `a quan- tificateurs n´egatifs), not´es en abr´eg´e∀+ (resp. ∀−) :
- Une variable propositionnelleX est ∀+ et∀− ;
- SiAest∀+(resp. ∀−) etB est∀− (resp. ∀+), alorsB →Aest∀+(resp. ∀−)
;
- SiA est∀+ et X est libre dans A, alors∀XAest∀+.
On se propose de d´emontrer le th´eor`eme suivant :
Th´eor`eme 3 Soient A un type∀+ du syst`eme F, ett unλ-terme, alors :
t∈ |A| ⇔(t→β t′ et⊢F t′:A).
Pour la preuve, nous avons besoin de deux lemmes (lemme 1 et lemme 2).
Lemme 1 Soient I une interpr´etation, et t′ un λ-terme normal. Si Γ = x1 : B1, ..., xn : Bn ⊢F t′ : A, t ≃β t′, et ui ∈ |Bi|I (1 ≤ i ≤ n), alors t[u1/x1, ..., un/xn]∈ |A|I.
Preuve: Par induction sur le typage. On consid`ere la derni`ere r`egle utilis´ee.
• Si c’est la r`egle (1), alors t′ = xi (1 ≤ i ≤ n) et Bi = A. Comme t≃β xi, alors t≻f xi, ett[u1/x1, ..., un/xn] ≻f ui. Orui ∈ |Bi|I, donc t[u1/x1, ..., un/xn]∈ |Bi|I, car|Bi|I est une partie satur´ee.
• Si c’est la r`egle (2), alorst′ = λxu′, A= B → C et Γ, x: B ⊢F u′ :A.
Commet≃βλxu′, alorst≻f λxuavecu≃βu′, ett[u1/x1, ..., un/xn]≻f
λxu[u1/x1, ..., un/xn]. Donc, d’apr`es l’hypoth`ese d’induction,u[u1/x1, ..., un/xn, v/x]∈
|C|Ipour toutv∈ |B|I. D’autre part (λxu[u1/x1, ..., un/xn])v≻f u[u1/x1, ..., un/xn, v/x], doncλxu[u1/x1, ..., un/xn]∈ |B→C|I, par cons´equentt[u1/x1, ..., un/xn]∈
|A|I.
• Si c’est la r`egle (3), commet′ est normal, alorst′ = (u)v, Γ⊢Fu:B→A et Γ⊢F v : B, avec u= (xr)v1′...v′m−1 et v =vm′ . Or t≃β (xr)v′1...vm′ , donct≻f (xr)v1...vm, avecvi≃β v′i(1≤i≤m), d’o`u, d’apr`es l’hypoth`ese d’induction,
(ur)v1[u1/x1, ..., un/xn]...vm−1[u1/x1, ..., un/xn]∈ |B→A|I, etvm[u1/x1, ..., un/xn]∈
|B|I. Par cons´equent (ur)v1[u1/x1, ..., un/xn]...vm−1[u1/x1, ..., un/xn]vm[u1/x1, ..., un/xn]∈
|A|I, et donct[u1/x1, ..., un/xn]∈ |A|I.
• Si c’est la r`egle (4), alors Γ ⊢F t′ : B et A = ∀XB avec X ne figure pas dans Γ. SoitGune partie satur´ee etJ =I[X ←G]. Par hypoth`ese d’induction,t[u1/x1, ..., un/xn]∈ |B|J, et donct[u1/x1, ..., un/xn]∈ |A|I.
• Si c’est la r`egle (5), alors Γ⊢Ft′ :∀XB et A=B[C/X]. Par hypoth`ese
d’induction,t[u1/x1, ..., un/xn]∈ |∀XB|I, d’o`ut[u1/x1, ..., un/xn]∈ |B|I[X←|C|I] =
|A|I. ♠
Soient Ω = {xi/i ∈ N} une ´enum´eration d’un ensemble infini de variables du λ-calcul, et {Ai/i ∈ N} une ´enum´eration des types ∀− du syst`eme F,
o`u chaque type ∀− se r´ep`ete une infinit´e de fois. On d´efinit alors l’ensemble Γ− ={xi : Ai/i∈ N}. Soit u un λ-terme, tel que F v(u) ⊆Ω, on d´efinit le contexte Γu− comme ´etant la restriction de Γ− aux d´eclarations contenant les variables deF v(u). La notationΓ− ⊢F u: B exprime que Γu− ⊢F u:B. On poseΓ− ⊢+F u:A ssi il existe unλ-terme u′, tel que u→βu′ et Γ− ⊢Fu′ :A.
On d´efinit ensuite une interpr´etationI en posant|X|I={τ∈Λ :Γ−⊢+Fτ:X}
pour toute variable de typeX. Les parties|X|I sont ´evidemment satur´ees.
Lemme 2(i) Si S est un type∀+, etτ∈ |S|I, alors Γ−⊢+F τ:S.
(ii) SiS est un type∀−, etΓ−⊢+F τ:S, alors τ∈ |S|I.
Preuve: Par induction simultan´ee sur les types∀+ et∀−.
Preuve de (i)
• SiSest une variable, alors le r´esultat d´ecoule imm´ediatement de la d´efinition deI.
• SiS =∀XB, o`u B est ∀+, alors soit τ ∈ |∀XB|I, et soitY une variable propositionnelle qui ne figure pas dansΓτ− etB. Doncτ∈ |B|I[X←|Y|I]=
|B[Y /X]|I, d’o`u par hypoth`ese d’induction Γ− ⊢+F τ : B[Y /X], donc τ →β τ′ et Γτ−′ ⊢F τ′ : B[Y /X]. Comme F v(τ′) ⊆ F v(τ), alors par le choix de Y, on d´eduit que Γτ−′ ⊢F τ′ : ∀Y B[Y /X] = ∀XB, et donc Γ−⊢+F τ:S.
• Si S =B → C, o`u B est ∀− et C est ∀+, alors soit τ ∈ |B → C|I et soit y une variable du λ-calcul telle que y : B appartient `a Γ−. On a y : B ⊢F y : B, donc d’apr`es (ii) y ∈ |B|I, par suite (τ)y ∈ |C|I, et donc, d’apr`es l’hypoth`ese d’induction,Γ− ⊢+F(τ)y:C. D’o`u (τ)y→βτ′, et Γτ−′ ⊢F τ′ : C. Il en r´esulte que (τ)y est normalisable, et donc τ est normalisable. La forme normale deτ est (x)τ1...τn (n≥0) ouλxθ.
Cas 1: Siτ→β(x)τ1...τn, avecn≥0, alors (τ)y→β(x)τ1...τny. Comme Γτ−′ ⊢F τ′ : C, on aura Γτ−′ ⊢F (x)τ...τny : C. Or F v((x)τ1...τny) ⊆ F v(τ′), donc Γ(x)τ− ...τny ⊢F (x)τ...τny :C. Donc xest d´eclar´ee de type E dans le contexteΓ(x)τ− ...τny. Comme E est∀−, alorsE =C1 →(...→ (Cn →(F →G)...)), Γ(x)τ− ...τny ⊢F τi :Ci (1≤i≤n) etΓ(x)τ− ...τny ⊢F
y:F. Oryest d´eclar´ee de typeB, qui est∀−, dans le contexteΓ(x)τ− ...τny,
donc on ne peut pas appliquer la r`egle de typage (5) `a y : B ⊢F y :B. D’autre part, si on applique la r`egle de typage (4) `ay:B⊢Fy:B,F sera le typeB devant lequel on a quantifi´e sur une variable qui n’est pas libre dansB, ce qui contredit le fait queF est∀+. D’o`u F =B. De la mˆeme fa¸con, commeGest∀−etCest∀+, alors deΓ(x)τ− ...τny⊢F(x)τ...τny:C et Γ(x)τ− ...τny ⊢F (x)τ...τny :G, on d´eduit queG =C. Par cons´equent Γ−⊢F (x)τ...τn :B→C, et doncΓ− ⊢+Fτ :S.
Cas 2: Siτ→β λxθ, alors, comme l’ensemble Γ− contient une infinit´e de d´eclarations pour chaque type∀−, soity une variable d´eclar´ee de type B dans Γ−, n’appartenant pas `a F v(θ). Alors (τ)y →β (λxθ)y →β θ[y/x].
On aΓτ−′ ⊢F τ′ :C, donc Γτ−′ ⊢F θ[y/x] :C, et Γθ[y/x]− ⊢F θ[y/x] :C, car F v(θ[y/x]) ⊆ F v(τ′). Donc Γλyθ[y/x]− ⊢F λyθ[y/x] : B →C. Comme y n’est pas libre dansθ, alorsλyθ[y/x] =λxθ, par cons´equentΓ−⊢F λxθ: S etΓ− ⊢+Fτ :S.
Preuve de (ii)
• SiSest une variable, alors le r´esultat d´ecoule imm´ediatement de la d´efinition deI.
• SiS =B→C, o`u B est∀+ etC est ∀−, alors supposons queΓ− ⊢+F τ : B→C, doncτ →βτ′etΓτ−′ ⊢F τ′:B →C. Siu∈ |B|I, alors d’apr`es (i), Γ−⊢+F u:B, doncu→βu′etΓu−′ ⊢Fu′:B. D’o`uΓ(τ−′)u′ ⊢F(τ′)u′:C, et comme (τ)u→β (τ′)u′, alorsΓ− ⊢+F (τ)u:C. D’o`u, d’apr`es l’hypoth`ese d’induction, (τ)u∈ |C|I. Par cons´equentτ∈ |B →C|I. ♠ Preuve du th´eor`eme 3
⇐) D’apr`es le lemme 1.
⇒) Sit∈ |A|, alorst∈ |A|I pour toute interpr´etationI associ´ee `a un ensemble Γ−. Or on peut supposer queΓ− ne contient pas de d´eclarations de variables libres de t, d’o`u, d’apr`es le (i) du lemme 2 et le fait que F v(t′)⊆F v(t), on a
t→βt′ et ⊢Ft′:A. ♠
Corollaire 1SoientA un type∀+ du syst`eme F, ett unλ-terme.
(i) Si t∈ |A|, alors test normalisable etβ-´equivalent `a un terme clos.
(ii) |A| est stable parβ-´equivalence (i.e sit∈ |A| ett≃βt′, alors t′ ∈ |A|).
Preuve: La partie (i) est une cons´equence directe du th´eor`eme 3 et la partie
(ii) se d´eduit du th´eor`eme 3 et du lemme 1. ♠
On consid`ere le syst`eme de typageF0 qui n’est autre que le syst`emeF, o`u on remplace la r`egle de typage (5) par la r`egle : Γ⊢F0t:∀XA⇒Γ⊢F0t:A[Y /X] o`uY est une variable.
Il ´etait d´emontr´e dans [4] que si A est un type ∀+ du syst`eme F, et t est un λ-terme normal clos, alors⊢Ft:A⇒ ⊢F0t:A. On a donc le th´eor`eme suivant :
Th´eor`eme 4 SoientAun type∀+ du syst`emeF, ett unλ-terme, alors : t∈ |A| ⇔(t→β t′ et⊢F0t′:A).
Remarques. (1) Si on interpr`ete les types par des ensembles β-satur´es [un ensembleGest ditβ-satur´e si, quels que soient les termestet u, on a : u∈G et t →β u⇒ t ∈ G], alors le lemme 2 reste vrai ainsi que le th´eor`eme 3. On peut donc d´eduire que les interpr´etations (satur´ee et β-satur´ee) d’un type∀+ sont ´egales.
(2) Les types de donn´ees peuvent ˆetre d´efinis dans le syst`eme F par des types
∀+ clos. Par exemple : le type bool´een est la formule : Bool=∀X{X→(X → X)}, le type des entiers est la formule Ent =∀X{(X → X) → (X → X)}, et le type des listes d’´el´ements de typeEnt est donn´ee par la formuleLEnt=
∀X{(Ent →(X → X))→ (X →X)}. On peut donc d´eduire du th´eor`eme 4 que : pour tout type de donn´ees D du syst`eme F, |D| = {t ∈ Λ, t →β t′ et
⊢F t′ :D}.
(3) Pour obtenir son r´esultat, R. Labib-Sami a autoris´e la quantification sur une variable mˆeme si elle ne figure pas dans le type. Dans ce cas le th´eor`eme 3 n’est plus vrai. Par exemple si on prend le typeA=∀X{(X → ∀Y X)→(X →X)}, alors on peut remarquer facilement que le terme I = λxx ∈ |A| et 6⊢F I : A (maisI≃βηI′=λxλy(x)y et⊢FI′:A).
Remerciement. Nous remercions le rapporteur et C. Raffalli pour leurs re- marques.
References
[1] J.-Y. Girard, Y. Lafont et P. Taylor.Proofs and types. Cambridge Univer- sity Press, 1986.
[2] J.-L. Krivine.Lambda-calcul, types et mod`eles. Masson, Paris 1990.
[3] R. Labib-Sami.Typer avec (ou sans) types auxiliaires. Manuscrit, 1986.
[4] K. Nour. Op´erateurs de mise en m´emoire en lambda-calcul pur et typ´e.
Th`ese de doctorat, Universit´e de Savoie, 1993.