• Aucun résultat trouvé

Une réponse négative à la conjecture de E. Tronci pour les systèmes numériques typés

N/A
N/A
Protected

Academic year: 2021

Partager "Une réponse négative à la conjecture de E. Tronci pour les systèmes numériques typés"

Copied!
20
0
0

Texte intégral

(1)

HAL Id: hal-00381049

https://hal.archives-ouvertes.fr/hal-00381049

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

Une réponse négative à la conjecture de E. Tronci pour les systèmes numériques typés

Karim Nour

To cite this version:

Karim Nour. Une réponse négative à la conjecture de E. Tronci pour les systèmes numériques typés.

Informatique Théorique et Applications, 1998, 31 (6), pp.539-558. �hal-00381049�

(2)

Une r´ eponse n´ egative ` a la conjecture de E.Tronci pour les syst´ emes num´ eriques typ´ es

Karim NOUR LAMA - Equipe de Logique

Universit´e de Savoie 73376 Le Bourget du Lac e-mail nour@univ-savoie.fr

R´esum´e Un syst`eme num´erique est une suite de λ-termes normaux clos distincts pour laquelle il existe des λ-termes clos pour les fonctions successeur et test `a z´ero. Un syst`eme num´erique est dit ad´equat ssi il existe un λ-terme clos pour la fonction pr´ed´ecesseur. Un op´erateur de mise en m´emoire pour un syst`eme num´erique est un λ-terme clos qui simule

“l’appel-par-valeur” dans le cadre de “l’appel-par-nom”. E. Tronci a conjectur´e le r´esultat suivant : un syst`eme num´erique est ad´equat s’il poss`ede un op´erateur de mise en m´emoire.

Nous donnons, dans cet article, une r´eponse n´egative `a la conjecture de E. Tronci mais uniquement pour les syst`emes num´eriques typable dans le syst`eme F. La conjecture de E.

Tronci reste sans solution en λ-calcul pur.

Mots cl´es : Syst`eme num´erique ; λ-calcul ; Successeur ; Test `a z´ero ; Pr´ed´ecesseur ; Op´erateur de mise en m´emoire ; Syst`eme num´erique ad´equat ; Appel-par-valeur ; Appel- par-nom ; Syst`emeF.

Abstract A numeral system is a sequence of an infinite different closed normal λ-terms which has closedλ-terms for successor and zero test. A numeral system is said adequate iff it has a closed λ-term for predecessor. A storage operator for a numeral system is a closed λ-term which simulate “call-by-value” in the context of a “call-by-name” strategy. E. Tronci conjectured the following result : a numeral system is adequate if it has a storage opera- tor. This paper gives a negative answer to this conjecture for the numeral systems typable in the J.-Y. Girard type systemF. The E. Tronci’s conjecture remains open in pureλ-calculus.

Keywords : Numeral system ; λ-calculus ; Successor ; Zero test ; Predecessor ; Storage operator ; Adequate numeral system ; Call-by-value ; Call-by-name ; Type systemF.

1 Introduction

Un syst`eme num´erique est une suite deλ-termes normaux clos distinctsd=d0, d1, ..., dn, ...

pour laquelle il existe des λ-termes clos Sd et Zd pour les fonctions successeur et test `a z´ero. Un syst`eme num´erique est dit ad´equat ssi il existe unλ-terme closPdpour la fonction pr´ed´ecesseur. H. Barendregt a d´emontr´e dans [1] qu’un syst`eme num´erique est ad´equat ssi toutes les fonctions r´ecursives totales sont repr´esentables dans le syst`eme.

(3)

La diff´erence entre notre d´efinition d’un syst`eme num´erique et celle propos´ee par H. Baren- dregt (voir [1]) est le fait d’imposer auxλ-termes di d’ˆetre normaux et distinctes. En effet ces conditions permettent, pour des strat´egies de r´eduction gagnantes, de trouver la valeur exacte d’une fonction num´erique totale calcul´ee sur des entiers.

Une des strat´egies de r´eduction gagnantes est la r´eduction gauche (it´eration de la r´eduction de tˆete not´ee ≻). Mais pour cette strat´egie l’argument d’une fonction est calul´e le nombre de fois o`u la fonction l’utilise. Les op´erateurs de mise en m´emoire ont ´et´e introduits par J.-L. Krivine pour rem´edier `a ce d´efaut.

Un λ-terme clos Od est dit op´erateur de mise en m´emoire pour un syst`eme num´erique d ssi pour tout n ∈ N, il existe un λ-terme clos τnβ dn tel que pour tout θnβ dn, (Od θn f)≻(f τn) (o`uf est une nouvelle variable).

Nous allons justifier cette d´efinition. Soit F un λ-terme (pour une fonction), et θn unλ- terme β-´equivalent `adn. Durant la r´eduction gauche de (F θn), θn sera r´eduit chaque fois qu’il arrive en tˆete. Au lieu de r´eduire (F θn), effectuons la r´eduction de tˆete de (Odθn F).

La r´eduction de (Od θn F) ={(Odθn f)}[F/f] commence par amener (Od θn f) `a sa forme normale de tˆete qui est (f τn), et puis r´eduire (F τn). Dans la r´eduction de (Od θn F), θn est calcul´e le premier, et le r´esultat est donn´e `a F comme argument. Od a donc mis en m´emoire le r´esultat τn, avant de le donner `a la fonction F. Donc la r´eduction de tˆete (Od θn F)≻(F τn) d´epend seulement deθn et pas deF.

J.-L. Krivine a d´emontr´e dans [4] que, dans le syst`eme de typageF de J.-Y. Girard, le type N*→ ¬¬N convient pour les op´erateurs de mise en m´emoire pour le syst`eme num´erique de Church : o`uN est le type des entiers de Church, et l’op´eration∗est la simple traduction de G˝odel qui associe `a chaque formuleF la formuleF* obtenue en remplacant dansF chaque variable de type par sa n´egation.

Nous d´emontrons dans ce papier que chaque syst`eme num´erique ad´equat poss`ede un op´erateur de mise en m´emoire. E. Tronci a conjectur´e qu’un syst`eme num´erique est ad´equat s’il poss`ede un op´erateur de mise en m´emoire.

Nous donnons, ensuite, une r´eponse n´egative `a la conjecture de E. Tronci mais uniquement pour les syst`emes num´eriques typable dans le syst`eme F. Nous construisons donc un type clos E, une suite de λ-termes normaux clos distincts e =e0, e1, ..., en, ..., et des λ-termes clos Se,Ze, et Oetels que :

– Sitest unλ-terme normal clos, alors⊢F t:Essit=eio`ui∈N.

–⊢FSe:E→E et (Se en)≃βen+1 pour toutn∈N.

– ⊢F Ze :E →B (B est le type des Bool´eens du syst`emeF), (Ze e0)≃β λxλyx et (Zeen+1)≃βλxλyy pour toutn∈N.

(4)

– ⊢FOe:E*→ ¬¬E, et, pour tout n∈N, il existe unλ-terme closτnβen tel que pour toutθnβen, (Od θn f)≻(f τn).

– Il n’existe pas unλ-terme clos Pe tel que⊢F Pe:E →E et (Pe en+1)≃β en pour toutn∈N.

La conjecture de E. Tronci reste sans solution enλ-calcul pur.

2 Notations et d´ efinitions

2.1 Le λ -calcul pur

Notations:

1) Laβ-´equivalence est not´eeu≃βv.

2) Siuet vsont deux λ-termes, alors on note< u, v > leλ-terme λx(x u v).

3) On noteT (pour True) leλ-termeλxλyx etF (pour False) leλ-termeλxλyy.

4) Pour tousλ-termesu, v, on d´efinit (un v) par induction : (u0 v) =v et (un+1v) = (u(un v)). Pour chaque entiern, on d´efinitl’entier de Churchn=λxλf(fn x).

5) La notation σ(t) repr´esent le r´esultat d’une substitution simultan´eeσsur les vari- ables libres det apr`es un r´enommage de ses variables li´ees.

6) On note Θ = (U U) o`uU =λxλf(f (x x f)). Leλ-terme Θ est appel´ele point fixe de Turing.

D´efinitions: Unλ-termetsoit il poss`ede unredex de tˆete[i.e. t=λx1...λxn(λxu v v1...vm), le redex de tˆete est (λxu v)], soit il est enforme normale de tˆete[i.e. t=λx1...λxn(x v1...vm)].

La notationu≻vsignifie quev est obtenue `a partir deuapr`es quelques pas de r´eductions de tˆete. Un λ-terme est ditr´esoluble si sa r´eduction de tˆete termine.

Les r´esultats suivants sont bien connus (voir [3] et [4]).

Th´eor`eme 1

1) Si t estβ-´equivalent `a une forme normale de tˆete, alorst est r´esoluble.

2) Si u≻v, alors, pour toute substitutionσ,σ(u)≻σ(v).

3) Siu≻v, alors, pour toute suitew1, ..., wn, il existe unλ-termewtel que(u w1...wn)≻w et (v w1...wn)≻w.

D´efinition: On d´efinit sur les λ-termes une relation d’´equivalence∼ par : u∼ v ssi il existe unλ-termet, tel queu≻t, etv≻t.

Donc, si t est r´esoluble, alorsu∼t ssiu est r´esoluble, et poss`ede la mˆeme forme normale de tˆete que t. Si u est une forme normale de tˆete, alorst ∼ usignifie que uest la forme

(5)

normale de tˆete de t.

D’apr`es le th´eor`eme 1, on obtient les r´esultats suivants (voir [4]).

Th´eor`eme 2

1) Si u∼v, alors, pour toute substitutionσ,σ(u)∼σ(v).

2) Si u∼v, alors, pour toute suitew1, ..., wn,(u w1...wn)∼(v w1...wn).

2.2 Le syst` eme F

D´efinition: Les types du syst`emeFsont construits `a partir des variables de typeX, Y, Z, ...

et une constante⊥(pour l’absurde) en utilisant les op´erations suivantes : – SiU etV sont des types, alorsU →V est un type.

– SiV est un type, etX est une variable de type, alors∀XV est un type.

On d´efinit d’une mani`ere usuelle les variables libreset lesvariables li´eesd’un type.

D´efinition: Soientt unλ-terme,A un type, et Γ =x1 :A1, ..., xn :An un contexte. On d´efinit par les r`egles suivantes la notion “t est de type A dans Γ” ; cette notion est not´ee Γ⊢F t:A.

(1) Γ⊢F xi:Ai (1≤i≤n) (2) Γ, x:A⊢F t:B

Γ⊢F λxt:A→B (3) Γ⊢F u:A→B Γ⊢Fv:A

Γ⊢F (u)v:B (4) Γ⊢Ft:A

Γ⊢F t:∀XA (*) (5) Γ⊢Ft:∀XA

Γ⊢F t:A[G/X] (**) Avec les conditions suivantes :

(*) X n’est pas libre dans Γ.

(**)Gest un type.

Le syst`eme F poss`ede les propri´et´es suivantes (voir [2] et [3]).

Th´eor`eme 3

1) Un type est pr´eserv´e durant uneβ-r´eduction.

2) Unλ-terme typable est fortement normalisable.

Le type F1 →(F2→(...→(Fn →G)...)) est not´eF1, F2, ..., Fn →Get le type F →⊥est not´e¬F.

Les lemmes 1 et 2 seront tr`es utiles pour nos d´emonstrations. Le lemme 1 (resp. le lemme 2) a ´et´e d´emontr´e dans [5] (resp. dans [2] et [3]).

(6)

Lemme 1

1) Soit X une variable de type. Si Γ⊢F t:X, alors t ne commence pas parλ.

2) Si Γ⊢Fλxt:A→B, alors Γ, x:A⊢Ft:B.

3) Si Γ, x:A→B ⊢F(x u1...un) :C, alors Γ, x:A→B⊢F u1:A.

4) Si Γ, x:A1, ..., Am→X ⊢F (x u1...un) :C, alors X est libre dansC.

Lemme 2 Si x1 : A1, ..., xn : AnF t : A, alors, pour toute variable X et tout type G, x1:A1[G/X], ..., xn:An[G/X]⊢Ft:A[G/X].

Dans le syst`emeF on a la possibilit´e de d´efinir les types de donn´ees. SoitB=∀X{X, X→ X} (le type des Bool´eens) et N =∀X{X,(X → X)→ X} (le type des entiers). On a les r´esultats suivants (voir [2] et [3]).

Th´eor`eme 4 Soit t unλ-terme normal clos.

1)Ft:B ssit=T out=F.

2)Ft:N ssi il existe n∈N tel quet=n.

D´efinition: On note encoreF le syst`eme logique sousjacent au syst`eme de typageF, et on ´ecrit Γ⊢F A siA est d´emontrable `a partir des formules de Γ en utilisant les r`egles du syst`eme logique F.

Il est claire que : A1, ..., AnF Assi il existe unλ-termet tel quex1:A1, ..., xn :AnFt: A. Ce r´esultat est connu sous le nom de “la corresponce du Curry-Howard”.

2.3 Le syst` eme F

C

et la traduction de G˝ odel

D´efinition: On ajoute au syst`eme logiqueF la r`egle : (0) Γ⊢ ¬¬A

Γ⊢A

Cette r`egle axiomatise la logique classique au dessus de la logique intuitionniste.

On note FC ce nouveau syst`eme et on ´ecrit Γ ⊢FC A si A est d´emontrable `a partir des formules de Γ dans le syst`eme FC. On a le r´esultat suivant (voir [2]).

Th´eor`eme 5 Le syst`emeFC est non contradictoire (i.e. 6⊢FC ∀XX).

D´efinition: Pour chaque formuleAdeFC, on d´efinit la formuleA* par : - SiA=⊥, alorsA*=A ;

- SiA=X, alorsA*=¬X ;

- SiA=B →C, alorsA*=B*→C* ; - SiA=∀XB, alorsA*=∀XB*.

(7)

A* est appel´eela traduction de G˝odeldeA.

On a le r´esultat suivant (voir [3]).

Th´eor`eme 6 SiFC A, alors ⊢FA*.

3 Les syst` emes num´ eriques

3.1 Les syst` emes num´ eriques en λ -calcul pur

D´efinition: Unsyst`eme num´erique est une suite deλ-termes normaux clos distinctsd= d0, d1, ..., dn, ...pour laquelle il existe desλ-termes closSd etZd tels que :

(Sddn)≃βdn+1 pour toutn∈N et

(Zd d0)≃βT

(Zd dn+1)≃βF pour toutn∈N Lesλ-termesSdet Zd sont appel´essuccesseuret test `a z´eropour d.

Chaque syst`eme num´erique peut ˆetre consid´erer comme un codage des entiers enλ-calcul et donc on peut repr´esenter les fonctions num´eriques totales de la mani`ere suivante.

D´efinition : Une fonction num´erique totale φ : Np → N is dite λ-d´efinissable dans le syst`eme num´erique dssi il existe unλ-termeFφ tel que pour toutn1, ..., np∈N

(Fφ dn1...dnp)≃β dφ(n1,...,np)

D´efinition: Un syst`eme num´eriquedis ditad´equatssi il existe unλ-terme closPd tel que (Pd dn+1)≃β dn pour toutn∈N.

Le λ-terme Pd est appel´epr´ed´ecesseurpourd.

H. Barendregt a d´emontr´e que (voir [1]) :

Th´eor`eme 7 Un syst`eme num´erique d est ad´equat ssi toutes les fonctions num´eriques r´ecursives totales sont λ-d´efinissables dansd.

Exemples:

1) Un exemple simple d’un syst`eme num´erique ad´equat est lesyst`eme num´erique de Church n= 0,1, ..., n, .... Il est facile de v´erifier que :

S=λnλxλf(f (n f x)), Z=λn(n T λxF),

(8)

P =λn(n U <0,0> T) o`u U =λx <(S (x T)),(x F)>.

sont desλ-termes pour le successeur, le test `a z´ero, et le pr´ed´ecesseur pourn.

2) Nous avons donn´e dans [6] un exemple d’un syst`eme num´erique non ad´equat. 2 D´efinition: Soient d un syst`eme num´erique et Od unλ-terme clos. On dit que Od est un op´erateur de mise en m´emoire pour d ssi pour tout n ∈ N, il existe un λ-terme clos τnβdn, tel que, pour toutθnβ dn, (Od θnf)≻(f τn) o`u f est une nouvelle variable.

Exemple : SoitON =λnλf(n f J 0) o`u J =λxλy(x (S y)). Il est facile de v´erifier que pour toutθnβn, (ON θnf)≻(f (Sn0)). DoncON est un op´erateur de mise en m´emoire

pour n. 2

Remarque : J.-L. Krivine autorise, dans sa d´efinition des op´erateurs de mise en m´emoire, leλ-terme τn de contenir des variables libres qui peuvent ˆetre remplac´ees par des λ-termes qui ne d´ependent que de θn. Avec cette d´efinition on garde aussi tous les r´esultats de ce

papier. 2

Th´eor`eme 8Chaque syst`eme num´erique ad´equat poss`ede un op´erateur de mise en m´emoire.

PreuveSoitdun syst`eme num´erique ad´equat.

SoitOd= (ΘHd) o`uHd=λhλnλf((Zd n) (f d0) (h(Pd n)λx(f (Sd x)))).

D´emontrons (par r´ecurrence sur i) que, pour touti∈Net pour toutθiβdi, (Od θi f)∼ (f (Sdi

d0)).

• Pouri= 0,

(Od θ0 f) ∼ (Hd (ΘHd0 f)

∼ ((Zd θ0) (f d0)((ΘHd) (Pd θ0)λx(f (Sd x))))

Comme (Zdd0)≃βT, alors (Zdθ0)≻T, et, d’apr`es le th´eor`eme 1, (Odθ0f)∼(f d0).

• Supposons le r´esultat vrai pouri, et prouvons le pouri+ 1.

(Od θi+1f) ∼ (Hd (ΘHdi+1 f)

∼ ((Zd θi+1) (f d0) ((ΘHd) (Pd θi+1))λx(f (Sd x)))) Comme (Zd di+1)≃βF, alors (Zd θi+1)≻F, et, d’apr`es le th´eor`eme 1,

(Odθi+1f)∼(Od(Pd θi+1)λx(f (Sdx))). Mais (Pdθi+1)≃β di, alors, par hypoth`ese d’induction, (Od (Pd θi+1)f)∼(f (Sdi

d0)), et

(Od (Pd θi+1)λx(f (Sd x))) ∼ (λx(f (Sdx)) (Sdi

d0))

∼ (f (Sdi+1d0)) D’o`u, pour touti∈Net pour toutθiβdi, (Od θi f)≻(f (Sdi

d0)). 2

(9)

E. Tronci a conjectur´e le r´esultat suivant :

ConjectureUn syst`eme num´erique est ad´equat s’il poss`ede un op´erateur de mise en m´emoire.

Nous donnons dans ce papier une r´eponse n´egative `a cette conjecture mais uniquement pour les syst`emes num´eriques typable dans le syst`emeF.

3.2 Les syst` emes num´ eriques typ´ es

D´efinition: Unsyst`eme num´erique typ´eest une paireD=< D,d>o`uD est un type clos du syst`emeF, etd=d0, d1, ..., dn, ... est une suite deλ-termes normaux clos tels que :

– Sitest unλ-terme normal, alors⊢F t:D ssi il existei∈Ntel que t=di. – Il existe desλ-termes closSd etZd tels que:

*⊢F Sd:D→D et (Sd dn)≃βdn+1 pour toutn∈N ;

*⊢F Zd:D→B et (Zd dn)≃β

T sin= 0

F sin≥1 .

Lesλ-termesSdet Zd sont appel´essuccesseuret test `a z´eropour D.

D´efinition: Un syst`eme num´erique typ´eDest ditead´equat ssi il existe unλ-terme closPd

tel que ⊢F Pd : D → D et (Pd dn+1)≃β dn pour tout n∈ N. Le λ-terme Pd est appel´e pr´ed´ecesseurpour D.

Exemple: Il est facile de v´erifier que N =< N,n>est un syst`eme num´erique typ´e. 2 D´efinitions:

1) SoientD, E deux types clos. On dit queD⊆E ssi pour toutλ-terme clost, si⊢Ft:D, alors⊢F t:E.

2) SoitD=< D,d>un syst`eme num´erique typ´e tel queD⊆D*. SoitOdunλ-terme clos.

On dit queOd est unop´erateur de mise en m´emoirepourDssi⊢FOd:D*→ ¬¬D, et pour tout n ∈N, il existe unλ-terme clos τnβ dn et ⊢F τn : D tel que, pour tout θnβ dn, (Od θnf)≻(f τn) o`uf est une nouvelle variable.

Exemple : On peut v´erifier que N ⊆ N* et ⊢F ON : N*→ ¬¬N. Donc ON est un

op´erateur de mise en m´emoire pour N. 2

4 Le contre exemple

SoitP =∀X∀Y{((X →Y)→X)→X}(P est la loi de Pierce) etQ=P → ∀XX.

Lemme 3 1) ⊢FCP.

(10)

2) Il existe un λ-terme clostP tel queF tP :P*.

Preuve

1) C’est un r´esultat connu. Faisons la d´emonstration.

¬X, X,¬Y ⊢FC⊥ =⇒ ¬X, X ⊢FC ¬¬Y

=⇒ ¬X, X ⊢FC Y

=⇒ ¬X,(X→Y)→X ⊢FC X→Y

=⇒ ¬X,(X→Y)→X ⊢FC X

=⇒ ¬X,(X→Y)→X ⊢FC

=⇒ (X →Y)→X ⊢FC¬¬X

=⇒ (X →Y)→X ⊢FCX

=⇒ ⊢FC P.

2) D’apr`es 1) et le th´eor`eme 6, on a⊢F P*, donc il existe unλ-termetP tel que⊢F tP :P*.

Un exemple d’un telλ-terme esttP =λxλy(x λzλα(z y)y). En effet : z:¬X, y:X, α:Y ⊢F(z y) :⊥ =⇒ y:X⊢Fλzλα(z y) :¬X → ¬Y

=⇒ x: (¬X → ¬Y)→ ¬X, y:X⊢F(x λzλα(z y)y) :⊥

=⇒ ⊢Ftp:P.

2 Lemme 4

1) 6⊢FQ→P.

2) 6⊢FC (Q→P)→Q.

Preuve

1) Un contexte Γ est ditbon ssi Γ est de la forme [α:Q,{xi : (Xi →Yi)→Xi}1≤i≤n,{yj : Xj}1≤j≤m] o`u :

–Xi6=Xj (1≤i < j ≤n) ; –Yi6=Yj (1≤i < j≤m) ;

–Xi6=Yj (1≤i≤n) et (1≤j≤m).

Il suffit de d´emontrer que pour tout contexte bon Γ il n’existe pas de λ-terme u tel que Γ⊢F u:P. Nous d´emontrons ceci par induction suru.

une peut pas ˆetre une variable. Siu= (z u1...um) (m≥1), alorsz=α, et Γ⊢Fu1:P. Ce qui est impossible par hypoth`ese d’induction. Donc u=λxv, et Γ, x : (X →Y)→X ⊢F

v :X o`uX, Y sont des nouvelles variables diff´erentes. v ne peut pas ˆetre ni une variable ni unλ-terme qui commence parλ. Doncv= (z v1...vm) (m≥1) etz6=xi, yj. Il reste, donc, deux cas `a voir :

– Siz=α, alors Γ, x: (X →Y)→X ⊢F v1:P. Ce qui est impossible par hypoth`ese d’induction.

(11)

– Siz=x, alorsm= 1, et Γ, x: (X →Y)→X ⊢Fv1:X →Y. v1 ne peut pas ˆetre une variable. Donc on a de nouveau deux cas `a voir :

– Siv1= (z v1...vk) (k≥1), alorsz=α, et Γ, x: (X →Y)→X ⊢Fv1:P. Ce qui est impossible par hypoth`ese d’induction.

– Siv1=λyw, alors Γ, x: (X →Y)→X, y:X ⊢F w:Y. wne peut pas ˆetre ni une variable ni unλ-terme qui commence parλ. Doncw= (z w1...wr) (r≥1) etz6=x, y, xi, yj. Doncz=α, et Γ, x: (X →Y)→X, y:X ⊢Fw1:P. Ce qui est impossible par hypoth`ese d’induction.

2) Si ⊢FC (Q → P), P → ∀XX, alors ⊢FC ∀XX (puisque ⊢FC P). Ce qui contredit le

th´eor`eme 5. 2

Lemme 5Soit wun λ-terme normal. Si α:Q→P, x:X, f :X →X ⊢F w:X, alors il existe un n∈N tel quew= (fn x).

PreuvePar induction surw.

Le λ-termew ne peut pas commencer par un λ. Siw est une variable, alorsw=x. Donc w= (y w1...wm) (m≥1), et on a deux possibilit´es pour la variabley.

– Siy=α, alorsα:Q→P, x:X, f:X→X ⊢F w1:Q, etQ→P, X, X→X ⊢F Q.

SoitU une formule close d´emontrable dans le syst`eme logique F. D’apr`es le lemme 2, on a {Q→ P, X, X → X}[U/X]⊢F Q[U/X], donc Q →P ⊢F Q (puisque U et U →U sont d´emontrables). Ce qui contredit 2) du lemme 4.

– Si y =f, alorsm= 1 et α:Q→P, x :X, f :X →X ⊢F w1 :X. Par hypoth`ese d’induction, il existe unn∈Ntel que w1= (fn x), doncw= (fn+1 x). 2 SoitD= (Q→P)→N et, pout toutn∈N,dn=λαn.

Lemme 6 Soitt unλ-terme normal clos. ⊢F t:D ssi il existe unn∈N tel quet=dn. Preuve⇐=) Facile `a v´erifier.

=⇒) Commet est clos, alors t =λαu et α : Q → P ⊢F u : N. u ne peut pas ˆetre une variable et si u= (α u1...um) (m≥1), alorsα:Q→P ⊢F u1:Q, doncQ→P ⊢F Q. Ce qui contredit 2) du lemme 4. Donc u=λxv, etα:Q→P, x:X ⊢F v: (X →X)→X. v ne peut pas ˆetre une variable, donc on a deux cas `a voir.

– Si v = (y v1...vm) (m ≥ 1), alors y = α, α : Q → P, x : X ⊢F v1 : Q, et Q→ P, X ⊢F Q. Soit U une formule close d´emontrable dans le syst`eme logiqueF. D’apr`es le lemme 2, on a {Q→ P, X}[U/X]⊢F Q[U/X], doncQ→ P ⊢F Q. ΛCe qui contredit 2) du lemme 4.

– Si v=λf w, alorsα:Q→P, x:X, f :X →X ⊢F w:X. Donc, d’apr`es le lemme

5, il existe unn∈Ntel quew= (fn x) ett=dn. 2

(12)

Lemme 7 SoitSd =λnλα(S (n α)).

1) Pour tout n∈N,(Sd dn)≃βdn+1. 2) Pour tout n∈N,(Sdn d0)≃βdn.

PreuveFacile `a v´erifier. 2

Lemme 8 SoitOd=λn(n TP0d)o`u

TP =λαtP,0=λf(f d0), etSˆd =λxλy(x λz(y (Sd z))).

Od est un op´erateur de mise en m´emoire pour le syst`eme num´erique typ´e < D,d>.

PreuveOn va d´emontrer que : 1) D⊆D* et⊢F Od:D*→ ¬¬D.

2) Pour tout θnβdn, (Od θn f)≻(f (Sdn

d0)).

1) Il est facile de v´erifier queD⊆D*.

On a :

F d0:D =⇒ ⊢F0:¬¬D et

F Sd:D→D =⇒ y:¬D, z:D⊢F(y (Sd z)) :⊥

=⇒ x:¬¬D, y:¬D ⊢F(x λz(y(Sd z))) :⊥

=⇒ ⊢Fd:¬¬D→ ¬¬D.

De plus, d’apr`es le lemme 3, on a ⊢FtP :P*, donc⊢F TP : (Q→P)*=P*→Q*.

D’o`u

n:DF(n TP) :N =⇒ n:DF(n TP) :¬¬D,(¬¬D→ ¬¬D)→ ¬¬D

=⇒ ⊢FOd:D→ ¬¬D.

2) Soitθnβdn.

– Sin= 0, alorsθn≻d0.

– Sin6= 0, alorsθn≻λαλxλg(g tn−1),tn−k≻(g tn−k−1) (1≤k≤n−1), ett0≻x.

Si n= 0, alors

(Od θn f) ∼ ( ˆd0 f)

∼ (f d0).

Si n6= 0, alors

(Od θn f) ∼ ( ˆSd tn−1[ ˆSd/g,dˆ0/x]f)

∼ (tn−1[ ˆSd/g,dˆ0/x]λz(f (Sd z))).

On d´efinit deux suites de λ-termes (τi)1≤i≤n :

(13)

τ1=λz(f (Sd z))

et τk+1 =λz(τk (Sd z)) pour tout (1≤k≤n−1) D´emontrons (par r´ecurrence sur k) que, pour tout (1≤k≤n), on a :

(Od θn f)∼(tn−k[ ˆSd/g,dˆ0/x]τk) – Pourk= 1, le r´esultat est vrai.

– Supposons le r´esultat vrai pourk, et d´emontrons le pourk+ 1.

(Od θn f) ∼ (tn−k[ ˆSd/g,dˆ0/x]τk)

∼ ( ˆSd tn−k−1[ ˆSd/g,dˆ0/x]τk)

∼ (tn−k−1[ ˆSd/g,dˆ0/x]λz(τk (Sd z)))

= (tn−k−1[ ˆSd/g,dˆ0/x]τk+1).

Donc, en particulier, pourk=non a :

(Od θn f) ∼ (t0[ ˆSd/g,dˆ0/x]τk)

∼ ( ˆd0 τn)

∼ (τn d0).

D´emontrons (par r´ecurrence sur k) que, pour tout (1≤k≤n), on a : τk∼λz(f (Sdk

z))

– Pourk= 1, le r´esultat est vrai.

– Supposons le r´esultat vrai pourk, et d´emontrons le pourk+ 1.

τk+1 = λz(τk (Sd z))

∼ λz(λz(f (Sdk z)) (Sd z))

∼ λz(f (Sdk+1

z)).

Donc, en particulier, pourk=non a : τn∼λz(f (Sdn

z)).

Et

(Od θn f) ∼ (λz(f (Sdn

z))d0)

∼ (f (Sdn

d0)).

D’o`u (Od θn f)≻(f (Sdn d0)). 2

Lemme 9 SoitOB=λn(n λf(f T)λf(f F)).

1)FOB:B*→ ¬¬B.

2) Pour tout ǫ=T ouF et pour tout θǫβǫ,(OB θǫ f)≻(f ǫ).

(14)

Preuve 1) On a :

FT :B =⇒ ⊢Fλf(f T) :¬¬B et

FF :B =⇒ ⊢Fλf(f F) :¬¬B.

Donc

n:BF n:¬¬B,¬¬B → ¬¬B =⇒ ⊢F OB:B→ ¬¬B.

2) Siθǫβǫ, alorsθǫ≻ǫ, et donc

(OB θǫ f) ∼ (θǫλf(f T)λf(f F)f)

∼ (ǫ λf(f T)λf(f F)f)

∼ (f ǫ).

D’o`u (OB θǫ f)≻(f ǫ). 2

Lemme 10Soit t unλ-terme normal clos. ⊢Ft:D→B ssi t=λαT out=λαF. Preuve⇐=) Facile `a v´erifier.

=⇒) Commet est clos, alorst=λαuet α:D ⊢F u:B. une peut pas ˆetre une variable, donc on a deux cas `a voir.

– Siu= (α u1...um) (m≥1), alorsα:D⊢F u1:Q→P, donc⊢FQ→P (carDest d´emontrable dans le syst`eme logiqueF). Ce qui contredit 1) du lemme 4.

– Siu=λxv, alors α:D, x:X ⊢F v:X →X. vne peut pas ˆetre une variable, donc on a de nouveau deux cas `a voir.

– Si v = (z v1...vm) (m ≥ 1), alors y = α, α : D, x : X ⊢F v1 : Q P, et D, X⊢F Q→P. SoitU une formule close d´emontrable dans le syst`eme logique F. D’apr`es le lemme 2, on a{D, X}[U/X]⊢F{Q→P}[U/X], donc⊢F Q→P. Ce qui contredit 1) du lemme 4.

– Si v = λyw, alorsα : D, x: X, y : X ⊢F w : X. w ne peut pas commencer par un λ et si w est une variable, alors w = x ou w = y, donc t = λαT or t = λαF. Il reste donc le cas o`u w = (α w1...wm) (m ≥ 1). Dans ce cas on a α : D, x : X, y : X ⊢F w1 : Q → P, et D, X ⊢F Q → P. Soit U une formule close d´emontrable dans le syst`eme logiqueF. D’apr`es le lemme 2, on a {D, X, X}[U/X]⊢F {Q→ P}[U/X], donc ⊢F Q →P. Ce qui contredit 1) du

lemme 4. 2

Lemme 11Soittunλ-terme normal.

1) Si x:B, D→X, y:X ⊢F t:B, alorst=T out=F.

(15)

2) Si x:B, D→X, y:X ⊢F t:D, alors il existe n∈N tel quet=dn.

Preuves Mˆeme preuve que celles des lemmes 5 et 6. 2 SoitE=∀X{((B, D→X), X→X}.

Pour tousλ-termesu, v, on note<<u, v>>leλ-termeλxλy(x u v).

Lemme 12Soit tunλ-terme normal clos. ⊢F t:E ssi (t=F) ou il existen∈N tel que (t=<<b, dn>>o`ub=T ouF).

Preuve⇐=) Facile `a v´erifier.

=⇒) Soitt unλ-terme normal clos tel que⊢Ft:E. Alors t=λxuetx:B, D→X ⊢F u: X →X. une peut pas ˆetre une variable, donc on a deux cas `a voir.

- Si u= (x u1...um) (m≥ 1), alorsx: B, D →X ⊢F (x u1) :D →X. Ce qui est impossible.

- Siu=λyv, alorsx:B, D→X, y:X ⊢Fv:X. v ne peut pas commencer par unλ, donc on a de nouveau deux cas `a voir.

- Siv est une variable, alorsv=y et u=F.

- Siv= (z v1...vm) (m≥1), alorsz=x, n= 2,x:B, D→X, y:X ⊢F v1:D, etx:B, D→X, y:X ⊢F v2:B. Donc, d’apr`es le lemme 11, il existen∈Ntel quet=<<b, dn>>o`u b=T oub=F. 2 Th´eor`eme 9 Il existe un syst`eme num´erique typ´e non ad´eaquat qui poss`ede un op´erateur de mise en m´emoire.

PreuveSoitE=< E,e>o`u :

e0 = F

e2n+1 = <<F, dn>> (n≥0) e2n+2 = <<T, dn>> (n≥0) Le test `a z´ero

SoitZe=λn(n λxλyF T).

Typage de Ze

On a :

x:B, y:D⊢F F :B =⇒ ⊢F λxλyF :B, D→B

(16)

donc

n:E⊢Fn: (B, D→B), B→B =⇒ n:E⊢F(n λxλyF T) :B

=⇒ ⊢F Ze:E→B.

Fonctionnement de Ze

Sin= 0, alors :

(Zeen) ≃β (F λxλyF T)

β T.

Sin6= 0, alors :

(Ze en+1) ≃β (en+1 λxλyF T)

β (λxλyF b dm)

β F.

Le successeur

SoitSe=λn((Ze n)e1 ((n T T)<<F,(Sd (n F d0))>> <<T,(n F d0)>>)).

Typage de Se

On a :

n:E⊢Fn: (B, D→D), D→D =⇒ n:E⊢F(n F d0) :D

=⇒ n:E⊢F<<T,(n F d0)>>:E et

n:E⊢F n: (B, D→D), D→D =⇒ n:E⊢F (Sd (n F d0)) :D

=⇒ n:E⊢F <<F,(Sd (n F d0))>>:E.

Donc

n:E⊢Fn: (B, D→B), B→B =⇒ n:E⊢F(n T T) :B

=⇒ n:E⊢F(n T T) :E, E→E

=⇒ n:E⊢F((n T T)<<F,(Sd (n F d0))>>

<<T,(n F d0)>>) :E.

D’o`u

n:E⊢F(Ze n) :B =⇒ n:E⊢F(Ze n) :E, E→E

=⇒ ⊢F Se:E→E.

(17)

Fonctionnement de Se

On a trois cas :

(See0) ≃β (T e1((e0 T T)<<F,(Sd (e0 F d0))>> <<T,(e0 F d0)>>))

β e1.

(Se <<F, dn>>) ≃β (F e1 ((<<F, dn>> T T)<<F,(Sd (e0F d0))>>

<<T,(<<F, dn>> F d0)>>))

β ((<<F, dn>> T T)<<F,(Sd (e0 F d0))>>

<<T,(<<F, dn>> F d0)>>)

β (F <<F,(Sd (e0 F d0))>> <<T,(<<F, dn>> F d0)>>)

β <<T,(<<F, dn>> F d0)>>

β <<T, dn>>.

(Se <<T, dn>>) ≃β (F e1 ((<<T, dn>> T T)<<F,(Sd (<<F, dn>> F d0))>>

<<T,(<<T, dn>> F d0)>>))

β ((<<T, dn>> T T)<<F,(Sd (<<F, dn>> F d0))>>

<<T,(<<T, dn>> F d0)>>)

β (T <<F,(Sd (<<T, dn>> F d0))>> <<T,(<<T, dn>> F d0)>>)

β <<F,(Sd (<<T, dn>> F d0))>>

β <<F,(Sd dn)>>

β <<F, dn+1>>.

L’op´erateur de mise en m´emoire

Il est facile de v´erifier queE⊆E*.

SoitOe=λn(nSˆe0) o`u ˆSe=λxλyλz((OBx)λu((Ody)λv(z <<u, v>>))) et ˆe0=λf(f e0).

Typage de Oe

On a :

F e0:E =⇒ ⊢F0:¬¬E.

D’autre part, en utilisant les lemmes 8 et 9, on a :

u:B, v:D⊢F<<u, v>>:E =⇒ u:B, z:¬E⊢F λv(z <<u, v>>) :¬D

=⇒ y:D, z:¬E⊢F λu((Od y)λv(z <<u, v>>)) :¬B

(18)

=⇒ x:B, y:DF λz((OB x)λu((Od y) λv(z <<u, v>>))) :¬¬E

=⇒ ⊢Fe:B, D→ ¬¬E.

D’o`u

n:EF n: (B, D→ ¬¬E),¬¬E ¬¬E =⇒ ⊢F Oe:E→ ¬¬E.

Fonctionnement de Oe

Soitθnβen, alors :

– Sin= 0, alorsθn≻e0.

– Sin6= 0, alorsθn≻λxλy(x αn βn) o`uαnβǫetβnβdmsien=<<ǫ, dm>>.

Sin= 0, alors

(Oe θn f) ∼ (e0e0 f)

∼ ( ˆe0 f)

∼ (f e0).

Sin6= 0, alors

(Oeθn f) ∼ ( ˆSeαn βn f)

∼ ((OB αn)λu((Od βn)λv(f <<u, v>>))).

D’apr`es le Lemma 9, on a : pour toutλ-termeU, ((OB αn)U)∼(U ǫ).

Donc

(Oeθn f) ∼ (λu((Od βn)λv(f <<u, v>>))ǫ)

∼ ((Od βn)λv(f <<ǫ, v>>)).

D’apr`es le Lemma 8, on a : pour toutλ-termeV, ((Od βn)V)∼(V (Sdm

d0)).

Donc

(Oeθn f) ∼ (λv(f <<ǫ, v>>) (Sdmd0))

∼ (f <<ǫ,(Sdmd0)>>).

D’o`u (Oe θn f)≻(f <<ǫ,(Sdm

d0)>>) L’in´existance d’un pr´ed´ecesseur

(19)

Supposons qu’il existe unλ-terme normal closPepour le pr´ed´ecesseur.

SoitP=λn(Pe <<F, n>> T F).

On a

n:D⊢F <<F, n>>:E =⇒ n:D⊢F(Pe<<F, n>>) :E

=⇒ n:D⊢F(Pe<<F, n>>) : (B, D→B), B→B

=⇒ n:D⊢F(Pe<<F, n>> T F) :B

=⇒ ⊢FP:D→B.

Donc, d’apr`es le lemme 10, on obtientP=λαT ouP=λαF. Mais on a :

(P d0) ≃β (Pe e1 T F)

β (e0T F)

β F

et

(P d1) ≃β (Pe e3 T F)

β (e2T F)

β (T T d0)

β T.

D’o`u une contradiction. 2

Remarque : Il est facile de v´erifier que leλ-terme

Pe=λn((Zen)e0((n T T)<<F,(n F d0)>>(Z(n F d0T))<<T,(λα(P(n F d0α)))>> F))) est un pr´ed´ecesseur (non typable dans le syst`eme F de type E → E) pour le syst`eme num´erique e.

5 Conclusion

Suite `a cette ´etude, deux questions se posent :

• Est-il vrai que chaque syst`eme num´erique typ´e ad´equat poss`ede un op´erateur de mise en m´emoire? En effet l’op´erateur de mise en m´emoire qu’on a construit pour un syst`eme num´erique ad´equat quelconque (voir la preuve du th´eor`eme 6) utilise un op´erateur de point fixe et donc il est non typable dans le syst`emeF.

• Quelles sont les fonctions qu’on peut repr´esenter dans un syst`eme num´erique typ´e ad´equat?

(20)

References

[1] H. Barendregt.The lambda calculus, its syntax and semantics.

North Holland, 1984

[2] J.-Y. Girard, Y. Lafont, P. Taylor.Proofs and types.

Cambridge University Press, 1986.

[3] J.-L. Krivine.Lambda calcul, types et mod`eles.

Masson, 1990

[4] J.-L. Krivine.Op´erateurs de mise en m´emoire et traduction de G˝odel Archive for Mathematical Logic 30 (1990), pp. 241-267.

[5] K. Nour.Op´erateurs de mise en m´emoire en lambda-calcul pure et typ´e Th`ese de Doctorat, Universit´e de Chamb´ery, 1993.

[6] K. Nour.An example of a non adequate numeral system.

CRAS. Paris, 323, S´erie I (1996), pp. 439-442.

[7] K. Nour.A conjecture on numeral system.

Notre Dame of Formal Logic, vol. 38 (1997), pp. 270-275.

Références

Documents relatifs

En extraire une base et exprimer les ´ el´ ements de la famille comme combinaison lin´ eaire de cette base.. Donner une combinaison lin´ eaire F de ces formes modulaires qui

Nous donnons dans ce papier une réponse négative à cette conjecture mais uniquement pour les systèmes numériques typable dans le système T... Soit Orf un À-terme clos. Donc est

La forme quadratique Q est dite fermable s’il existe une extension (semi-born´ee) ferm´ee de Q..

2 Op´ erateurs non born´ es dans un espace de Hilbert.

Le th´eor`eme suivant donne une description compl`ete des op´erateurs auto-adjoints compacts.. Th´ eor`

(c) Montrer en toute g´ en´ eralit´ e que les valeurs propres d’un op´ erateur hermitien sont r´ eelles.. Puis, montrer que les vecteurs propres (de cet op´ erateur) pour des

But : R´ esoudre un probl` eme d’optimisation num´ erique Trouver une des meilleures solution selon le crit` ere :. =

Such results are very similar to the ones known for the Hardy inequality, see [5] for some recent result and further refer- ences, or equivalently for the lower estimates for