• Aucun résultat trouvé

Un Résultat de Complétude pour les Types $\forall^+$ du Système F

N/A
N/A
Protected

Academic year: 2021

Partager "Un Résultat de Complétude pour les Types $\forall^+$ du Système F"

Copied!
9
0
0

Texte intégral

(1)

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�

(2)

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

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

(3)

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 notationuf 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 connecteurset∀. ´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 (1in).

(2) Si Γ, x:BF t:C, alors ΓFλxt:BC.

(3) Si ΓF u:BC, 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.

(4)

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´eeGG, en posant : u(GG)(u)tG quel que soittG. SiG est satur´ee, alorsGG 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 ; -|AB|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.

SiFt: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 :

(5)

t∈ |A| ⇔(tβ t etF 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 tf 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, alorstf λ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])vf u[u1/x1, ..., un/xn, v/x], doncλxu[u1/x1, ..., un/xn]∈ |BC|I, par cons´equentt[u1/x1, ..., un/xn]

|A|I.

Si c’est la r`egle (3), commet est normal, alorst = (u)v, ΓFu:BA et ΓF v : B, avec u= (xr)v1...vm−1 et v =vm . Or tβ (xr)v1...vm , donctf (xr)v1...vm, avecviβ vi(1im), d’o`u, d’apr`es l’hypoth`ese d’induction,

(ur)v1[u1/x1, ..., un/xn]...vm−1[u1/x1, ..., un/xn]∈ |BA|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,

(6)

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 (n0) ouλxθ.

Cas 1: Siτβ(x)τ1...τn, avecn0, 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 (1in) etΓ(x)τ ...τny F

y:F. Oryest d´eclar´ee de typeB, qui est, dans le contexteΓ(x)τ ...τny,

(7)

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:BFy: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, commeGestetCest+, alors deΓ(x)τ ...τnyF(x)τ...τny:C et Γ(x)τ ...τny F (x)τ...τny :G, on d´eduit queG =C. Par cons´equent ΓF (x)τ...τn :BC, 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 =BC, o`u B est+ etC est , alors supposons queΓ +F τ : BC, doncτ βτetΓτ F τ:B C. Siu∈ |B|I, alors d’apr`es (i), Γ+F u:B, doncuβuetΓ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

(8)

(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, alorsFt: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 etF0t: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 : uG 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 etFI:A).

Remerciement. Nous remercions le rapporteur et C. Raffalli pour leurs re- marques.

(9)

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.

Références

Documents relatifs

Un premier essai de transf´erer la r´esolution propositionnelle vers la lo- gique du premier ordre est comme suit : ´ Etant donn´e un ensemble fini S de formules, on peut le

Mais cette preuve repose sur le lemme 9.3.1, dont la preuve est elle-mˆeme effectu´ee dans une meta-th´eorie, puisque nous com- men¸cons par dire : “ou bien P est r´ecursif, ou bien

La deuxi` eme partie qui d´ emontre le th´ eor` eme de Cantor-Bernstein est facultative, moins dans l’esprit du programme ECS (mais bien dans l’esprit d’une ´ epreuve maths 2

Autrement dit, on consid` ere des tirages de p ´ el´ ements de E avec remise, mais sans tenir compte de l’ordre.. Le nombre de r´ esultats possible est

En alg` ebre lin´ eaire, une matrice de Vandermonde est une matrice avec une progression g´ eom´ etrique dans

en d´eduire une valeur approch´ee du p´erim`etre du triangle ABC au mm pr`es.. Quelle est la nature du

Dans ce cours sont r´ eunis trois r´ esultats fondamentaux d’analyse, connus respectivement sous le nom d’´ egalit´ e de accroissements finis, d’in´ egalit´ e des

Pour chacune des valeurs propres, d´ eterminer un vecteur propre associ´ e.. b) D´ eterminer une matrice P et une matrice diagonale D telles que C = P