Gilles Dowek

Théories des types

2

Septembre 2004

Gilles Dowek
INRIA-Ro quen ourt
B.P. 105
78153 Le Chesnay Cedex
Fran e

Gilles.Dowekinria.fr
http:// oq.inria.fr/~dowek

Le langage mathématique et les langages

1

de programmation

Ré emment, la onstitution d'une liste des langages de programmation a permis d'en dénombrer plus de
deux mille. Plus de deux mille langages onçus en une quarantaine d'années (depuis l'apparition de Fortran,
proposé en 1954 par John Ba kus et son équipe), ela fait, en moyenne, plus d'un langage par semaine. Bien
sûr, tous es langages ne peuvent pas être mis sur le même plan : ertains sont morts depuis longtemps,
d'autres sont réservés à des appli ations très pointues, néanmoins l'impression que donne l'informatique est
souvent elle d'une tour de Babel peu a ueillante.
Cette prolifération oûte her à l'industrie du logi iel : elle rend di ile la on eption de systèmes intégrant
des modules déjà développés dans des langages diérents, elle demande la on eption d'interfa es, passerelles
et autres tradu teurs et fait de la maintenan e de es systèmes hybrides un véritable asse-tête. Pour mettre 
n à ette a ophonie, le ministère de la défense améri ain a lan é en 1978 un on ours an de hoisir un
langage de programmation unique et de l'imposer omme langage de développement pour tous ses logi iels.
Ave ette idée d'un

esperanto

de la programmation, le ministère de la défense améri ain renouait ave le

rêve sé ulaire d'une langue arti ielle, parfaite et universelle, langue que le théologien Raymond Lulle avait
déjà tenté de onstruire au treizième siè le. Ce on ours (remporté l'année suivante par une équipe dirigée
par Jean I hbiah) a permis la réation du langage Ada, qui est aujourd'hui assez populaire, mais qui a é houé
dans sa mission d'universalité.
Pourtant, limité au domaine restreint de la programmation, e rêve d'un langage universel n'est peut-être
pas tout à fait utopique. La grande majorité des musi iens utilise le même langage pour é rire ses partitions.
De même, les mathémati iens de tous les pays utilisent un langage ommun, e qui n'empê he pas e langage
d'évoluer en fon tion des besoins, ni ha un d'utiliser un style qui lui est propre. Si dans le domaine de la
programmation nous n'avons pas en ore atteint ette unité, 'est peut-être le signe que nous n'avons pas
en ore omplètement ompris e que sont un programme ou un langage de programmation.

Qu'est- e qu'un programme ?
Les manuels d'initiation à la programmation ommen ent souvent par expliquer qu'un ordinateur est une
ma hine apable de traiter l'information de manières très diverses ( ontrairement à la ma hine de Pas al, tout
juste bonne à ee tuer immuablement des additions et des soustra tions) mais qu'il faut d'abord expliquer
à l'ordinateur e qu'il doit faire et omment il doit le faire. Cette expli ation, qui s'appelle un
est exprimée dans un langage spé ial, un

langage de programmation.

programme,

Par exemple, quand on demande à

une banque un prêt pour a heter une voiture, elle- i utilise un programme pour al uler le montant des
mensualités de e prêt en fon tion de la somme empruntée, du nombre de mensualités et du taux d'intérêt.

1 Ce hapitre introdu tif est issu d'un exposé au olloque

Voir, Entendre, Raisonner, Cal uler, Cité des s ien es et de

l'industrie, La Villette, Paris, 10-13 Juin 1997.

3

ils expriment une dénition par ré urren e. puisque le langage mathématique ordinaire onvient très bien pour ela depuis plusieurs siè les ? Les fon tions dans le langage mathématique f = x 7→ x × x C'est ainsi que les mathémati iens dénissent la fon tion qui à un nombre asso ie son arré : le terme indique la valeur asso iée par la fon tion à la valeur est obtenue en remplaçant l'argument formel x x. n. t) est le montant des mensualités. × x} n fois Ces mêmes points de suspension ont été utilisés un peu plus tard. De e 1 1− (1+t) n qui asso ie le nombre point de vue. La valeur prise par la fon tion f x×x en 3.. 0) = 1 puissance(x.. n. t) = où f (e. n + 1) = x × puissance(x. Un programme est don quelque hose qui permet d'asso ier une grandeur (la valeur de sortie) à une ou plusieurs grandeurs (les valeurs d'entrée). Cette notation existe presque littéralement dans la plupart des langages de programmation. les fon tions qu'on peut ainsi dénir expli itement forment une toute petite partie des fon tions dont on a besoin en mathématiques ou en informatique. La né essité même de on evoir des langages de programmation se trouve alors mise en question : s'il ne s'agit que de dénir des fon tions pourquoi réer un nouveau langage. un langage de programmation n'est rien de plus qu'un langage de dénition de fon tions. Par exemple. Le programme qu'utilise la banque n'est e t aux nombres e. Une puissance utilise don expli itement la ré urren e : dans elle de la fon tion d'une série alors que dans elle de la fon tion dénition plus rigoureuse de la fon tion puissance(x. begin f := x * x end. Par exemple. la fon tion puissance qui asso ie le n nombre x aux nombres x et n n'est pas dénissable expli itement. e qui donne 3 × 3. ils expriment une dénition omme limite puissance. par l'argument réel 3 dans e terme. n 7→ |x × x × {z . par exemple. n) .. quand nous avons appris que la dénition de la fon tion sinus était sinus = x 7→ x − x3 x5 x7 + − + . e et 1− 1 (1+t)n la somme empruntée. Un tel objet qui permet d'asso ier une grandeur à d'autres grandeurs est e que les mathémati iens appellent une don peut-être rien de plus que la fon tion f fon tion. dans le langage Pas al onçu en 1970 par Niklaus Wirth et son équipe. n et t. n le nombre de mensualités et t le taux d'intérêt mensuel. on dénit ette même fon tion par le texte fun tion f (x:integer) : integer. Sur les ban s de l'é ole. 3! 5! 7! Les points de suspension qui sont utilisés dans es deux dénitions n'ont pas tout à fait la même signi ation : sinus.. Hélas. nous avons appris que ette fon tion avait la urieuse dénition puissance = x.4 Ce programme utilise la formule bien onnue f (e.

−3}.5  On donne les propriétés que la fon tion doit vérier : ∀x f (x) ≥ 0 ∀x f (x) × f (x) = x  On montre qu'une fon tion unique vérie es propriétés. Pour attribuer un nom à la fon tion on utilise en général une phrase de la forme on appellera puissance l'unique fon tion vériant les propriétés . il ne sut pas de donner un système d'équations pour dénir une fon tion. On ommen e par donner un système d'équations. L'utilisation de l'opérateur de des riptions est en général prohibée dans e as. la formation de l'expression e as le nombre x tel que x × x = 9 mais plutt un nombre x tel que riptions est alors appelé opérateur de hoix. D'un point de vue plus formel (qui est elui de eux qui her hent à on evoir des langages de programmation) on peut noter note {f | P (f )} [f | P (f )] l'unique objet vériant la propriété objet en en donnant une des ription est appelée La fon tion P de la même manière qu'on l'ensemble des objets vériant ette propriété. On omprend mieux alors le mé anisme véritablement utilisé pour dénir des fon tions en mathématiques. par exemple. n)] 1 0 qui n'a pas de sens. opérateur ε de Hilbert [x | x × x = 9] vaut ou bien 3 ou bien -3. La dénition de la ra ine arrée Autrement dit. et on donne enn un nom à ette fon tion. . Le nombre ette utilisation et permet. que doit vérier la fon tion. se dénit don à présent ainsi puissance = [f | ∀x f (x. De même que la grammaire du langage mathématique interdit de former l'expression Il est. elle interdit l'utilisation de l'opérateur de des riptions ave une propriété qui n'est vériée par au un objet. la fon tion puissance est dénie omme l'unique fon tion vériant es deux équations.. on montre ensuite qu'il existe une fon tion unique vériant ette propriété. Hormis e nom.  On attribue le nom √ à la fon tion. démontrer . La dénition de la fon tion puissance n'est don orre te que par e qu'on peut démontrer qu'il existe une fon tion unique vériant es équations. mais une règle plus libérale autorise [x | x × x = 9] qu'on ne lit plus dans x × x = 9.. diérentes onventions peuvent être adoptées. ou plus généralement une propriété. le 1 nombre 0. il n'y a pas d'expression désignant la fon tion en question. il n'est pas essentiel que es expressions dénuées de sens soient prohibées par la grammaire. par exemple. impossible de former l'expression [f | ∀x f (x) = 1 + f (x)]. Ainsi l'équation f (x) = f (x) n'est pas une dénition orre te ar elle est vériée par de nombreuses fon tions. L'opérateur de desou opérateur τ de Bourbaki. Cette notation qui permet d'exprimer un puissance opérateur de des riptions. Quand plusieurs objets vérient la propriété utilisée. e qui est important est la propriété x × x = 1 soit vraie uniquement quand x est diérent de 0). n + 1) = x × f (x.. On peut aussi adopter la onvention 1 selon laquelle l'expression 0 est orre te et désigne un objet mathématique quel onque : l'ensemble vide. De même l'équation f (x) = 1 + f (x) n'est pas non plus une dénition orre te ar elle n'est vériée par au une fon tion. (En fait. Pourtant. sans qu'on sa he s'il vaut 3 ou -3. on ne peut pas [x | x × x = 9] = 3 ni [x | x × x = 9] = −3 mais on peut démontrer [x | x × x = 9] ∈ {3. 0) = 1 et ∀x ∀n f (x.. Ainsi.

Ainsi.0064) = f (30000. Un ensemble où tout élément à une valeur est appelé un type de données. Il semble qu'on ne puisse pas asso ier ainsi une expression unique aux nombres réels. Du point de vue dénotationnel. à la [f | ∀M f (M ) × M = I] est un programme d'inversion de devient très fa ile : le programme Par exemple.0064) = 1353 La valeur de sortie du programme est don une expression E (dans et exemple 1353) telle que la proposition f (30000. 0. sa représentation dé imale. 0. 0. 24. Une expression. 24.0064). Programmer en langage mathématique est don . on attend le résultat 35 et non 10+25. Pourtant on serait bien en peine de dire si on a epte un prêt en sa hant que le montant des 3 × 11 × 41 F. 24. au ours . 24. 24. il faut pouvoir l'exé uter. les expressions 12 + 23 et 35 désignent le même objet. 0. Un abîme sépare l'expression 1353 (qui fournit une information utilisable) 3 × 11 × 41 ou f (30000. Le drame de l'informatique est que le point de vue opérationnel. 24. De plus.0064) = 3 × 11 × 41 est également vraie. Par exemple. Dans jouent des rles symétriques. L'exé ution des programmes Quand un programme est terminé. quand on demande à un é olier d'ee tuer l'addition 12 + 23. Si on adopte le langage mathématique omme langage de programmation. Pourtant. aux ensembles ou aux suites de nombres entiers. 0. quand un industriel ommande à une so iété de servi e un programme d'inversion de matri es. En revan he. la spé i ation tient en une ligne f (M ) × M = I alors que le programme peut être beau oup plus long. La valeur d'un nombre entier est. qui est elui des mathématiques de l'Antiquité entrées autour des méthodes opératoires. Cette expli ation s'appelle le ahier des harges ou en ore la spé i ation du programme. omme 1353. ou sous forme d'une des ription de son développement dé imal périodique par une partie initiale et une période. Les mathématiques entretiennent une position ambiguë par rapport à ette notion de valeur. a peu à peu été étoué. En eet f (30000. puisqu'il n'est qu'une reformulation de sa spé i ation.6 Les spé i ations et les programmes Quand un lient ommande un programme à un informati ien. du point de vue opérationnel il y a une dissymétrie totale entre l'expression 12 + 23 qui est une question et 35 qui est la réponse à ette question. 0. en utilisant le signe = qui est parfaitement symétrique. La valeur d'un nombre rationnel peut être son é riture sous forme d'une fra tion irrédu tible. on sait le faire pour les suites et les ensembles nis. dans laquelle il n'y a plus mensualités est de des expressions rien à al uler est e qu'en informatique on appelle une valeur. D'un ertain point de vue. Mais ela est-il susant ? La proposition f (30000. e qu'on exprime par la proposition ette proposition les expressions 12 + 23 et 35 12 + 23 = 35. par exemple. En revan he. et f (30000. le même é olier é rit 12+23 = 35. par dénition.64% ( e qui orrespond à un taux annuel de 8%). un moyen de on evoir des programmes zéro-défaut. le programme évoqué i-dessus doit indiquer que les mensualités seront de 1353 F. P [f | P (f )] répond. entre autres.0064) = E soit vraie. si on emprunte 30 000 F sur 24 mois au au taux mensuel de 0. e programme est automatiquement un programme zéro-défaut. il doit lui expliquer e que doit faire e programme. la onstru tion d'un programme à partir d'une spé i ation spé i ation P.0064) tout autant. le programme matri es. Il y a en fait deux traditions qui oexistent dans les mathématiques.

. qui fait que nous avons eu besoin d'inventer des langages de programmation. une valeur supplémentaire l'indéni et de voir les dénitions ré ursives omme des dénitions de fon tions sur et espa e de valeurs étendu.. Contrairement aux bou les. La règle est utilisée pour les fon tions dénies expli itement. en ML.. y 7→ x)(3. Le problème. par le point de vue dénotationnel. y par 4 dans l'expression x. 'est-à-dire feignant d'utiliser la fon tion dénie dans sa propre dénition.. omme le langage Lisp ( onçu en 1962 par John M Carthy et son équipe) ou son su esseur le langage ML (suggéré en 1966 par Peter Landin et onçu en 1978 par Robin Milner et son équipe) proposent l'utilisation de dénitions ré ursives.. Par exemple. en Pas al. Comme il est in orre t de dénir un objet en utilisant l'objet déni lui-même. Ainsi. x . y 7→ x aux nombres 3 et 4. Exé uter un tel programme demande d'exé uter le orps de la en appelant la fon tion elle-même quand elle est utilisée dans sa propre dénition. x .. Cela se traduit f (0) demande de al uler par le fait que l'exé ution de es programmes mène à des al uls innis ( al uler au préalable f (0) qui demande de al uler . par 3 et on obtient l'expression (x. Quelques langages de programmation Les langages de programmation traditionnels ne proposent don pas dire tement d'opérateur de des riptions. Ainsi quand on applique la fon tion en remplaçant x x. .. La grammaire du langage mathématique ne doit pas uniquement donner des règles de raisonnement. n fois l'opération qui se trouve dans la bou le. les deux . mais ils proposent des onstru tions plus restreintes orrespondant à des as parti uliers de l'utilisation de et opérateur. on dénit la fon tion puissance ainsi : let re puissan e = fun x n -> if n = 0 then 1 else x * (puissan e x (n-1)). Pour donner un sens à es dénitions ré ursives in orre tes. un tel programme doit se omprendre omme une dénition impli ite utilisant l'opérateur de des riptions : puissance = [f | f = (x. let re f = fun x -> 1 + (f x).7 de l'Histoire. Quasiment tous les langages de programmation permettent de dénir des fon tions par ré urren e à l'aide de bou les. 4) qui se al ule donnant le résultat 3. e mé anisme permet de sortir des limites de l'utilisation de l'opérateur de des riptions autorisées par la grammaire du langage mathématique (qui impose qu'il existe un unique objet vériant la propriété). orrespondent aux dénitions illégales [f | f = x 7→ f (x)] et [f | f = x 7→ 1 + f (x)]. n 7→ if n=0 then 1 else x × f (x. est que nous ne onnaissons pas de règle similaire pour les fon tions dénies impli itement à l'aide de l'opérateur de des riptions. Le développement de l'informatique nous oblige aujourd'hui à renouer ave ette tradition opérationnelle. Il nous faut don on evoir un langage mathématique qui permette non seulement de démontrer que 12 + 23 = 35 12 + 23 mais aussi de transformer l'expression en l'expression 35.. 'est-à- D'autres langages. Elle onsiste à rempla er les arguments formels par les arguments réels. for i := 1 to n do r := x * r L'exé ution d'un tel programme demande de répéter 1 2 n dire à al uler su essivement x . mais aussi des règles de al ul. Dana S ott a proposé en 1970 d'ajouter à l'espa e des valeurs. es règles qui permettent de transformer une expression en une autre sont appelées de réé riture la plus simple (bien qu'elle porte le nom barbare de β -rédu tion) règles de réé riture.). Ainsi les programmes ML let re f = fun x -> f x. n − 1))] Dénir ainsi des fon tions ré ursivement revient à utiliser l'opérateur de des riptions dans le as parti ulier où les propriétés ont la forme dénition G(f ) f = G(f ). on peut dénir la fon tion puissance par la bou le : r := 1.

n 7→ [y | Q(x. Par exemple la fon tion puissance n'est plus dénie par un terme de la forme [f | P (f )] où ara téristique de ette fon tion. intuitionnistes ou onstru tivistes. à ette question est apportée par la théorie de la al ulabilité : un résultat dû à Alan Turing et indépendamment à Alonzo Chur h et Stephen Kleene. Pour que ette dénition soit orre te. 1) et P est une propriété Q est une propriété ∀a ∀p ∀r (e(a. ni que non h(p) si on ne sait fon tion h i-dessus est P est vraie ? De même. Ce fait est lui-même établi par une règle de raisonnement. e(A. l'exé ution de es deux programmes sur n'importe quelle entrée mène toujours à des al uls innis. Derrière Luitzen Egbertus Jan Brouwer. on peut envisager sa résolution de manière assez systématique. e(A. Comment peut-on prétendre savoir que la proposition  P ou non P est vraie. p − 1. en 1936. Un langage de programmation est toujours un ompromis entre la puissan e d'expression et la possibilité d'exé ution. Autrement dit.1. a × r))) ⇒ e(x.P. il faut démontrer qu'une unique fon tion vérie la spé i ation. ou bien p termine ou bien p ne termine pas.Q. Les fon tions non al ulables On peut don voir les langages de programmation traditionnels omme des restri tions du langage mathématique. La propriété Q(x. L'avantage de ette restri tion est qu'elle permet d'exé uter les programmes. Son in onvénient est qu'elle limite l'expression des programmeurs. n. La réponse. L'exé ution du programme demande de résoudre l'équation Q(x. le langage Prolog ( onçu en 1973 par Alain Colmerauer et son équipe) utilise l'opérateur de des riptions uniquement pour dénir la valeur prise par la fon tion. 0. 'est-à-dire pour l'opérateur de des riptions dans toute sa généralité. S is A * R. Cette équation portant sur une valeur et non sur une fon tion. montre. a vivement ritiqué ette règle de raisonnement. si p termine alors f (p) = 0 sinon mais il n'y a pas de règle de al ul donnant systématiquement la valeur de f (p) = 1] h(p). y)] où n ara téristique du nombre x .0. p. appelés P . qui indique que pour toute proposition P on peut démontrer  P ou non P sans avoir à démontrer  P  ni non Au début du vingtième siè le. la restri tion hoisie distinguant un langage des autres.Q is P . n. À la diéren e du langage ML qui utilise l'opérateur de des riptions pour dénir la fon tion elle même. si on ne sait ni que  P  est vraie. 'est-à-dire la valeur de sortie du programme. négative. le tiers ex lu.R). Cette démonstration utilise le fait que pour tout programme p. L'exemple le plus élèbre de fon tion non al ulable est le problème de l'arrêt : il est impossible de onstruire un programme qui prend en entrée un autre programme et indique s'il mène à des al uls nis ou innis. .8 dénitions i-dessus deviennent légales et orrespondent à la même fon tion onstamment égale à l'indéni. se sont ralliés des mathémati iens importants omme Hermann Weyl ou Andreï Kolmogorov. y) peut être par exemple : ∀e (∀a e(a. le hef de le de l'é ole intuitionniste. une é ole de mathémati iens. y) qui mène au programme Prolog e(A. L'opérateur de des riptions n'est utilisé que dans ertains as parti uliers. mais par un terme de la forme x. y) en y. Plus généralement les langages de programmation par ontraintes introduits par Joxan Jaar et JeanLouis Lassez en 1987 sont des extensions de Prolog utilisant des algorithmes spé ialisés pour la résolution de es équations. n. r) ⇒ e(a. omment peut-on prétendre avoir déni le nombre même pas si e nombre vaut 0 ou 1 ? Pour les intuitionnistes la dénition de la tout simplement in orre te. n. qu'il existe des fon tions qui ne sont pas al ulables. On peut don dénir la fon tion h = [f | pour tout p. en eet.1).S) :. La question qu'on peut alors se poser est elle de savoir s'il est possible de trouver des règles de al ul pour l'intégralité du langage mathématique.

on prend x = nombre x est irrationnel par hypothèse. il a été généralisé à bien d'autres théories. On veut montrer qu'il existe deux nombres irrationnels x et√ y tels que xy soit rationnel. √ √2 √ 2 et y = 2. . On voit alors se dessiner une nouvelle méthodologie de la programmation : on ommen e par spé ier la fon tion à programmer par une propriété P. Quand on abandonne le tiers ex lu.9 Un exemple de raisonnement rejeté par les onstru tivistes est le suivant. on peut de l'existen e d'une fon tion vériant la propriété exé uter e programme. qui est utilisée lors de l'exé ution du programme. on donne ensuite une démonstration onstru tive l'existen e d'une fon tion vériant ette propriété et on dénit ensuite le programme de e programme onsiste à éliminer les oupures dans la démonstration p. Si l'expression [f | P (f )] est in orre te quand il n'y a pas d'objet vériant la propriété P . Quand on dénit une fon tion avoir donné une démonstration onstru tive p [f | P (f )] après P . Depuis. Ce raisonnement n'est pas valable pour les intuitionnistes ar on √ √2 ne peut pas supposer que le nombre 2 est rationnel ou irrationnel sans démontrer d'abord ou bien qu'il est rationnel ou bien qu'il est irrationnel. pour les dénitions impli ites. un pro essus en trois temps qui mêle expression de la propriété. On raisonne ainsi : Le nombre √ 2 2 est rationnel ou il est irrationnel. qui est une variante de la théorie des ensembles. Le  S'il est irrationnel. [f | P (f )]. Un exemple de raisonnement non onstru tif Un théorème dû à Stephen Kleene montre que. dans le langage mathématique traditionnel. Les démonstrations omme objets Si e langage permet l'utilisation de l'opérateur de des riptions sous une forme très générale. le statut de la démonstration à l'expression traditionnel élude es questions en utilisant. on prend x = y = 2. quand on abandonne le tiers ex lu. il abandonne en revan he le prin ipe selon lequel un programme est une fon tion mathématique ordinaire : e n'est pas la fon tion [f | P (f )]. Les nombres x et y y sont irrationnels et x est rationnel par hypothèse. Jean-Yves Girard a proposé en 1971 un pro édé d'élimination des oupures pour l'arithmétique d'ordre supérieur. Le premier pro édé d'élimination des oupures a été proposé en 1934 par appelée l' Gerhard Gentzen pour les démonstrations exprimées dans l'arithmétique. il est don possible de trouver des règles de al ul pour l'opérateur de des riptions dans toute sa généralité. p par rapport [f | P (f )] n'est pas absolument lair. Pour ela on applique à la démonstration p et à la valeur d'entrée une transformation élimination des oupures. y est irrationnel et √ √ √ 2 xy = ( 2 ) 2 = 2 qui est rationnel. mais la démonstration p. quand faut-il démontrer l'existen e d'un tel objet ? à la première o urren e de ette expression ? à ha une de ses o urren es ? pour démontrer que l'objet [f | P (f )] vérie la propriété P ? après avoir utilisé ette expression dans une démonstration ? La démonstration p fait elle partie de toutes les démonstrations qui utilisent une expression de la forme [f | P (f )] ? Le langage mathématique Plus généralement. Autrement dit. √  S'il est rationnel. p de L'exé ution Cette appro he est à la base du langage AF2 suggéré par Daniel Leivant et onçu par Jean-Louis Krivine et Mi hel Parigot en 1987. démonstration de l'existen e de l'objet et attribution d'un nom. Ce théorème prend naturellement des formes diérentes en fon tion de la théorie dans laquelle on se pla e pour démontrer l'existen e et l'uni ité de la fon tion dé rite. toutes les fon tions qu'on peut dénir ave l'opérateur de des riptions sont al ulables. En parti ulier. le tiers ex lu est indispensable pour montrer l'existen e d'une fon tion non al ulable.

en utilisant des noms symboliques pour désigner les variables du programme. Un avantage est que si ette démonstration est orre te ( e qui est une propriété dé idable). Si on se ontente de démontrer l'existen e d'une fon tion asso iant une permutation triée à haque liste. ontenant la démonstration p. whisky. Ce sentiment est d'autant plus vif que le langage utilisé est de haut niveau. par exemple la liste : permute. whisky. Dès l'apparition des premiers langages de programmation. whisky. es questions. Comment transformer un programme développé en langage mathématique en un programme en langage ma hine équivalent mais qui gère e a ement ses ressour es et n'ee tue pas de al uls inutiles ? Un outil essentiel pour résoudre es questions est sans doute la logique linéaire. P donnée par le lient et à lui rendre Bien sûr. ela demande de onstruire la démonstration p de l'existen e d'une fon tion vériant la spé i ation. la programmation en langage mathématique devra sans doute en ore résoudre le problème de la gestion des ressour es. vodka. vodka. On retrouve ainsi à la fois la possibilité de dénir des programmes omme des fon tions ordinaires et elle d'exé uter es programmes en éliminant les oupures dans la démonstration p. p]. la fon tion [f | P (f ). les programmeurs ont eu le sentiment d'être dépossédés du ontrle des opérations ee tuées dans leurs ma hines. Tous les programmeurs savent que la première liste est devenue inutile dès que la deuxième est onstruite et don qu'ils peuvent trier en pla e 'est-à-dire utiliser la même zone de la mémoire pour sto ker les états su essifs de la liste. p] vérie. p]. p] quand p n'est pas une démonstration de l'existen e d'un objet P . omme le p. mais également à partir d'une démonstration de l'existen e d'une fon tion vériant ette [f | P (f ). Dans es théories. p]. 'est don un programme zéro-défaut. par exemple. de l'analyse statique et de la transformation de programme. un programme whisky et gin pour onstruire la liste gin. Ainsi le statut de la démonstration p est [f | P (f ). mais ette propriété est alors dé idable et ne demande don pas à être argumentée. ette spé i ation. p]. En eet. les mots il est mal onçu. Per Martin-Löf a proposé en 1973. une fon tion n'est plus dénie uniquement à partir d'une propriété qu'elle est ensée vérier. ils ont eu le sentiment de perdre le ontrle de l'endroit où l'information était ee tivement sto kée dans la mémoire. vodka gin. les démonstrations sont des fon tions dénies expli itement. gin. omparable à elui des nombres ou des fon tions. On n'é rit don plus [f | P (f )]. La grammaire du langage mathématique interdit l'expression [f | P (f ). dans sa intuitionniste Théorie des types de donner aux démonstrations un statut d'objets mathématiques à part entière. La Théorie des types intuitionniste est une extension du langage mathématique habituel dans laquelle on peut parler non seulement du nombre 2 (par exemple. Selon ette théorie. La programmation en langage mathématique pose de nouveaux dés aux théories de la ompilation. [f | P (f ). e qui est un véritable travail de programmeur. par La gestion des ressour es Pour être réellement ompétitive ave les appro hes plus traditionnelles. vodka puis whisky et vodka pour onstruire la liste gin.10 Pour résoudre. les mathématiques ne sont pas très ons ientes de la gestion des . ontient l'information de la dé- mar he à suivre pour son exé ution. mais dans un langage étendu. whisky pour trier par ordre alphabétique une liste de mots. propriété. omment savoir si l'exé ution de e programme triera en pla e ou re opiera la liste à haque étape ? Les mathématiques ne sont pas un langage de programmation très ons ient de la gestion des ressour es. mais larié : 'est une omposante de l'expression alors la formation de vériant la propriété Dans es théories. Si le programme garde en mémoire les trois listes : whisky. le programme dénition. vodka. gin. entre autres. Programmer dans es langages onsiste à prendre la spé i ation le programme [f | P (f ). whisky. Cal ul des onstru tions proposé en 1985 par Thierry Coquand et Gérard Huet. vodka gin. développée par Jean- Yves Girard en 1987. mais il prend peut-être une forme nouvelle quand on programme en langage mathématique. pour dire que 'est un nombre pair) mais aussi de la proposition 2 est un nombre pair et de sa démonstration Dans ette théorie et dans ses extensions. Par exemple.

par rapport à la théorie des ensembles qui est le langage des mathématiques du vingtième siè le. la première partie est onsa rée à la notion traditionnelle de démonstration et la deuxième aux axiomatisations traditionnelles des mathématiques (théorie des ensembles et théorie des types simples). bien entendu. une hypothèse utilisée une unique fois révèle qu'une fois la liste utilisée. il semble que le dé soit aujourd'hui davantage de on evoir un langage mathématique qui intègre en les distinguant lairement les arguments onstru tifs des arguments non onstru tifs. Comme nous l'avons vu. dans l'expression  sinus(0)) sont devenues des objets mathématiques à part entière ave Newton et Leibniz. Il semble que le retour vers un point de vue plus opérationnel ne pose pas de véritable problème. une suggestion d'évolution du langage mathématique onnaît le su ès uniquement quand elle dépasse le adre étroit du problème qui l'a motivée et quand elle permet d'exprimer les mathématiques dans leur ensemble.  l'abandon du tiers ex lu et la restri tion aux mathématiques onstru tives. e qui est exa tement l'information né essaire pour programmer le tri en pla e. ontinue. e qui permet de les utiliser pour programmer. Réa tions sur le langage mathématique La théorie des langages de programmation permet don d'expliquer pourquoi le langage mathématique n'est pas omplètement adapté à la programmation. il semble que le développement de l'informatique suggère une nouvelle évolution du langage mathématique. Ce type d'analyse est à étendre au as de la programmation en langage mathématique. périodique. elle peut être détruite. C'est. Plutt que d'abandonner omplètement les méthodes non onstru tives. Ainsi dans les logiques traditionnelles les propositions  P  et  P et P sont équivalentes. . La logique linéaire a déjà été utilisée pour gérer les ressour es dans des ompilateurs pour le langage ML. par exemple le théorème selon lequel une fon tion ontinue sur un intervalle fermé prend une valeur maximale. en parti ulier pour on evoir des programmes zero-defaut. Au ours de leur histoire. voire ave Euler. par exemple. Abandonner le tiers ex lu revient à abandonner des résultats importants en analyse. les mathématiques ont toujours intégré les objets extramathématiques qu'elles utilisaient.). Naturellement. il semble qu'avoir les démonstrations omme des objets à part entière résolve des problèmes hors du hamp de la programmation.11 ressour es par e que les hypothèses ne s'usent pas quand on s'en sert. Ces notes de ours sont onsa rées à la Théorie des types de intuitionniste de Martin-Löf et au Cal ul des onstru tions. La prise en harge des démonstrations omme des objets mathématiques ne semble pas non plus poser de véritable problème. que 12 + 23 se al ule en 35 en plus du fait qu'il soit égal à 35 est une idée largement partagée. Ces deux axiomatisations des mathématiques intègrent les démonstrations omme des objets et omprennent une notion de al ul. les réformes que les informati iens suggèrent aujourd'hui on ernent trois points :  le retour à un point de vue plus opérationnel et la prise en ompte de la notion de al ul.  la prise en harge des démonstrations omme des objets mathématiques à part entière. En logique linéaire es deux propositions ne sont plus équivalentes. Depuis l'Antiquité. Aujourd'hui. et . De plus. supposer la première permet d'utiliser une unique fois l'hypothèse P dans une démonstration alors que supposer la se onde permet d'utiliser deux fois ette hypothèse. en quoi les langages de programmation traditionnels sont des restri tions du langage mathématique. Dans la démonstration de l'existen e d'une fon tion de tri. et en parti ulier que ertaines formes de l'axiome du hoix deviennent des théorèmes. quand il est devenu possible d'exprimer des propriétés des fon tions elles-mêmes (et de dire que la fon tion sinus est. dérivable. et omment il faut modier e dernier pour qu'il soit possible de l'utiliser pour programmer. Avant les hapitres onsa rés à es formalismes. le langage des mathématiques a énormément évolué pour répondre aux besoins des mathémati iens qui ont varié au ours de l'histoire. Les fon tions qui étaient utilisées depuis l'Antiquité pour désigner des grandeurs (par exemple. l'abandon du tiers ex lu qui pose le plus de problèmes.

12 .

types et modèles. Lambda al ul. 153-175. [2℄ Jean-Yves Girard. Information and Computation 76 (1988) p. Constru tive mathemati s and omputer programming. Paul Taylor. Paris (1990). 74-85. Martin-Löf. 13 Philo- . Yves Lafont. [4℄ Per sophy of S ien e. VI. The al ulus of onstru tions. Logi . North-Holland (1982) p. Proofs and types.Bibliographie [1℄ Thierry Coquand. 1979. Gérard Huet. Intuitionnisti type theory. Cambridge (1989). Masson. [5℄ Per Martin-Löf. Napoli (1984). Bibliopolis. Cambridge University Press. Methodology and [3℄ Jean-Louis Krivine.

14 BIBLIOGRAPHIE .

Première partie Les démonstrations 15 .

.

S(S(S(0))). x1 . S(S(0)). Pépin le bref. +(0. y0 . . S(0) (plus informellement notée 1). Les variables doivent être en nombre inni.  si f est un symbole de fon tion d'arité n et t1 . x.. On doit alors dénir les termes omme des suites nies de symboles pris dans l'ensemble onstitué des variables. 0) (plus informelle- Remarque On a. x0 .) et d'exprimer des faits (la Lune est un satellite de la Terre. bien souvent. y . 1. L'arité du symbole S est 1.1. Les symboles d'individu peuvent être vus omme des symboles de fon tion d'arité nulle. de symboles d'individu. +(x... Exemple En arithmétique. de symboles de fon tion et de symboles de prédi at. x2 . .  des symboles de fon tion S (su esseur).Chapitre 1 La logique du premier ordre 1.). .. . Dénition Un langage logique est onstitué de variables. S(S(0))). le nombre deux...1 Les termes Les termes sont formés par les deux règles suivantes :  les variables sont des termes... Une expression qui permet d'exprimer une hose est appelée un terme. 2). des symboles d'individu. Pepin le bref est le père de Charlemagne.. elle des symboles +.  les symboles d'individu sont des termes. .. d'une dénition plus rigoureuse de la notion de terme. de fon tion et de prédi at et des symboles impropres (.. 0. l'ensemble des nombres pairs est inni. ).. y). Les symboles de prédi at d'arité nulle sont parfois appelés symboles de proposition.. Une dénition alternative onsiste 17 . À haque symbole de fon tion et de prédi at on asso ie son nombre d'arguments ou arité. . tn ) est un terme. ×  de variables  du symbole d'individu Remarque et = est 2. Exemple Le langage de l'arithmétique est onstitué x. tn sont des termes alors l'expression f (t1 . . le nombre deux est pair... (plus 0 + 0). S(y))..1 Les langages du premier ordre Un langage logique permet de désigner des hoses (la Lune. +(×(x.  du symbole de prédi at =.. + et ×. les expressions suivantes sont des termes 0. Un exemple de symbole de proposition en français est le symbole pleut dans la phrase (il) pleut.. . l'ensemble des nombres pairs. une expression qui permet d'exprimer un fait une proposition. (plus informellement notée ment notée informellement notée 3).

proposition et x une variable alors ∀x A et ∃x A sont des propositions. . qui ontient des variables est dit ouvert. . Par exemple la phrase il y a un nombre entier supérieur à tout nombre entier peut signier ou bien que pour haque nombre entier. tous les nombres entiers sont supérieurs à 0. tel +(×(x.. S(0)). si propositions alors  si A est une 1. ontient pas est dit 1.. On préfère don mettre une variable omme argument du prédi at x≥0 et indiquer ensuite la signi ation et la portée de ette variable par un quanti ateur ∀x (x ≥ 0) Ainsi... et de quanti ateurs ∀ (pour tout) et ∃ (il existe). par exemple tous et quelques : tous les hommes sont mortels. est une proposition. tn sont des termes alors l'expression P (t1 . Formellement on é rirait ette dernière phrase tout ≥0 dans laquelle le symbole tout prend la pla e d'un terme omme argument du symbole de prédi at.. e mé anisme est ambigu quand plusieurs termes sont rempla és par de tels symboles. LA LOGIQUE DU PREMIER ORDRE à les dénir omme des arbres dont les n÷uds internes sont labellés par des symboles de fon tion et les feuilles par des variables et des symboles d'individu. former ainsi les propositions dire 1 + 1 = 2.. On a aussi besoin de former des propositions plus omplexes. S(S(0))). ∧ (et). . les langues naturelles. S(0)). 'est-à-dire Les quanti ateurs servent à exprimer que tous les objets du dis ours vérient une propriété. nombre de termes.. S(S(0))). omme le français. on peut. S(S(S(0)))). un terme qui n'en los. ∨ (ou). il existe un nombre entier qui lui est supérieur ( e qui est vrai) ou bien qu'il existe un nombre qui est est supérieur à tous les nombres entiers ( e qui est faux). pour ela on utilise les onne teurs ⊥ ( ontradi tion).18 CHAPITRE 1. mais sans spé ier lequel. et B sont des . S(y)). tn ) est une proposition. par exemple. utilisent des pronoms indénis. Dénition Les propositions sont formés par les règles suivantes :  si P est un symbole de prédi at d'arité n et t1 . on distingue les propositions ∀x ∃y (y ≥ x) qui est vraie et ∃y ∀x (y ≥ x) qui est fausse. ou = (+(S(0). A ∨ B . Pour exprimer de telles propositions. Hélas. Dénition Un terme.1. ⇒ (implique)..2 Les propositions Le moyen le plus simple de former une proposition est d'appliquer un symbole de prédi at à un ertain = (+(S(0). ⇔ (si et seulement si).  ⊥ A est une proposition alors ¬A est une proposition et si A A ∧ B . ou qu'au moins un objet vérie une propriété. 'est-à1 + 1 = 3. ¬ (non). A ⇒ B et A ⇔ B sont des propositions.2 Les démonstrations On veut maintenant se donner les outils qui permettent de démontrer des propositions.

1. Si 'est le as. alors y[x ← t] = y . si y est une variable distin te de x..2... il faut que y n'apparaisse pas dans t. . Un ensemble d'axiomes s'appelle une théorie.. 19 LES DÉMONSTRATIONS 1. B . (∀x A)[x ← t] = ∀x A.. .. 1. si y est une variable distin te de x. . an [x ← t]). où A.1 Les axiomes Une démonstration se onstruit à partir d' axiomes qui sont des propositions dont la vérité est admise sans argumentation. Prin ipe d'identité : ∀x (x = x) S héma d'axiome de Leibniz : pour haque proposition A ontenant une variable z l'axiome ∀x ∀y ((x = y) ⇒ (A[z ← x] ⇒ A[z ← y])) Dénition La notation A[x ← t] désigne la proposition A dans laquelle la variable x a été substituée par le terme          t. Cette proposition se dénit ainsi par ré urren e sur la stru ture de A : x[x ← t] = t... (A ⇒ B)[x ← t] = A[x ← t] ⇒ B[x ← t].. A ⇒ (B ⇒ A) (A ⇒ (B ⇒ C)) ⇒ ((A ⇒ B) ⇒ (A ⇒ C)) désignent des propositions . (∃y A)[x ← t] = ∃y A[x ← t].2. (∃x A)[x ← t] = ∃x A. . . il est né essaire de renommer variable y dans ∀y A ou ∃y A ave une nouvelle variable. Dans e as.2 Les démonstrations au sens de Frege et Hilbert Dénition Axiomes logiques Un axiome logique est une quel onques et x proposition de la forme i-dessous..2. an [x ← t]). (∀y A)[x ← t] = ∀y A[x ← t].. (A ⇔ B)[x ← t] = A[x ← t] ⇔ B[x ← t]. la théorie des ensembles. la Exemple L'arithmétique est la théorie obtenue en ajoutant à es axiomes les axiomes de Peano : ∀x ∀y (S(x) = S(y) ⇒ x = y) ∀x ¬(0 = S(x)) pour haque proposition A ontenant une variable z l'axiome (A[z ← 0] ∧ (∀x (A[z ← x] ⇒ A[z ← S(x)]))) ⇒ ∀y A[z ← y] ∀y (0 + y = y) ∀x ∀y (S(x) + y = S(x + y)) ∀y (0 × y = 0) ∀x ∀y (S(x) × y = (x × y) + y) D'autres exemples sont la géométrie élémentaire. C une variable quel onque. an )[x ← t] = P (a1 [x ← t].. ⊥[x ← t] = ⊥ (¬A)[x ← t] = ¬A[x ← t] (A ∧ B)[x ← t] = A[x ← t] ∧ B[x ← t]... (A ∨ B)[x ← t] = A[x ← t] ∨ B[x ← t]. P (a1 . Exemple La théorie de l'égalité est formée des axiomes suivants. an )[x ← t] = f (a1 [x ← t]. f (a1 .

A∈Γ ou est obtenue par l'une des A est un axiome logique stri tement inférieurs à i et une proposition stri tement inférieur à i tel que Pj = A et x n'apparaît On note ette règle n'apparaît pas dans Γ Dénition Soit Γ une liste de propositions et A une proposition. 'est-à-dire un axiome logique ou une proposition de Γ.. 'est-à-dire un ensemble de propositions. sous les axiomes P ⇒ (R ⇒ S). R .. ... Q. Exemple Dans un langage dans lequel on a quatre symboles de proposition (symboles de prédi at d'arité nulle) P . Pn tels A A si x ∀x A démonstration dans A On note ette règle A⇒B B  si Pi dont la dernière proposition Pn est A dans Γ est une A.  Axiome : Pi est un axiome. Q.. on ajoute l'axiome A ∨ ¬A Dénition (Démonstration au sens de Frege et Hilbert) Soit Γ une théorie. Pn telle que pour haque i la proposition A  Modus ponens : Pi = B que Pj = A ⇒ B et et il y a deux entiers Pk = A. il y a un entier j pas dans les axiomes de Γ. S .20 CHAPITRE 1. Q ⇒ R. (∀x (A ⇒ B)) ⇒ (A ⇒ ∀x B) (si x LA LOGIQUE DU PREMIER ORDRE n'apparaît pas dans A) (A ∧ B) ⇒ A (A ∧ B) ⇒ B A ⇒ B ⇒ (A ∧ B) A ⇒ (A ∨ B) B ⇒ (A ∨ B) (A ∨ B) ⇒ ((A ⇒ C) ⇒ ((B ⇒ C) ⇒ C)) A ⇒ (¬A ⇒ ⊥) (A ⇒ ⊥) ⇒ ¬A ⊥⇒A (A ⇔ B) ⇒ (A ⇒ B) (A ⇔ B) ⇒ (B ⇒ A) (A ⇒ B) ⇒ ((B ⇒ A) ⇒ (A ⇔ B)) ∀x A ⇒ A[x ← t] A[x ← t] ⇒ ∃x A ∃x A ⇒ ((∀x (A ⇒ B)) ⇒ B) (si x n'apparaît pas dans B) En logique lassique. Une démonstration de Γ. P1 . P.. on a la démonstration suivante . . Une démonstration dans Γ est une suite règles de dédu tion i-dessous. j et k Généralisation : Pi = ∀x A. On note ette règle nie de propositions P1 .

pour démontrer elles utilisent les axiomes Comme l'ordre de démonstration des prémisses d'une règle est indiérent. Une démonstration d'une proposition Γ A sous une liste d'axiomes Γ est une démonstration sous les axiomes A. R⇒S et R⇒S alors que la se onde démontre R.1. (A ⇒ ((A ⇒ A) ⇒ A)) ⇒ ((A ⇒ (A ⇒ A)) ⇒ (A ⇒ A)) (A ⇒ (A ⇒ A)) ⇒ (A ⇒ A) Proposition (Lemme de dédu tion) Soit Γ Γ une liste de propositions et si et seulement si B A et B est démontrable dans A ⇒ ((A ⇒ A) ⇒ A) A⇒A deux propositions. A⇒B A ⇒ (A ⇒ A) est démontrable dans .2.2. 21 LES DÉMONSTRATIONS P ⇒ (R ⇒ S) P R⇒S Q⇒R Q R S 1. A. dont la ra ine est étiquetée par la proposition Exemple P ⇒ (R ⇒ S) P R⇒S S Proposition Une Q⇒R Q R proposition est démontrable au sens de la première dénition si et seulement si elle est démontrable au sens de la se onde. R⇒S Q ⇒ R et Q. Dénition Une démonstration sous une liste d'axiomes Γ est un arbre dont haque n÷ud est étiqueté par une proposition. 1.3 Les suites et les arbres Sous es mêmes axiomes.4 Le lemme de dédu tion Proposition Soit Γ une liste quel onque de propositions et A une proposition quel onque. on préfère souvent dénir les démonstration omme des arbres.2. la proposition Γ. telle que la proposition étiquetant un n÷ud soit produite par une règle de dédu tion à partir des propositions étiquetant ses ls. La proposition A⇒A est démontrable dans Démonstration Γ. on a aussi la démonstration Q⇒R Q R P ⇒ (R ⇒ S) P R⇒S S Ces deux démonstrations pro èdent en démontrant elles utilisent les axiomes P ⇒ (R ⇒ S) et P S à partir de et pour démontrer R La seule diéren e tient dans le fait que la première démontre d'abord d'abord R.

par généralisation. . B = A. il existe des dans Γ. C ⇒ B et C par modus ponens.. π1 et π2 de A ⇒ (C ⇒ B) et A ⇒ C est une démonstration de  Si B se déduit de démonstrations A ⇒ ((A ⇒ A) ⇒ A) A⇒A alors par hypothèse de ré urren e. Royaume-Uni. . on est amené à distinguer plusieurs sortes d'objets. et un prédi at binaire langue. P ⇒ Q. Par exemple. Fran e. On peut alors former les propositions . si on a des symboles d'individu français. la démonstration suivante est une démonstration de P ⇒Q Q On peut la transformer en une démonstration de est la suivante : Q : P (P ⇒ Q) ⇒ Q sous l'axiome P.. anglais.. A.22 CHAPITRE 1. A alors il y a une démonstration de A⇒B dans  Si la ra ine de l'arbre est étiquetée par un axiome logique ou une proposition de axiome et B Γ. A ⇒ C dans Γ. Ré iproquement on montre par ré urren e sur la hauteur de l'arbre que s'il y a une démonstration de dans Γ. alors (A ⇒ ((A ⇒ A) ⇒ A)) ⇒ ((A ⇒ (A ⇒ A)) ⇒ (A ⇒ A)) (A ⇒ (A ⇒ A)) ⇒ (A ⇒ A) est une démonstration de  Si A ⇒ A. La démonstration Par de la proposition π A⇒C (∀x (A ⇒ C)) ⇒ (A ⇒ ∀x C) ∀x (A ⇒ C) A ⇒ ∀x C est une démonstration de A⇒B Exemple Sous les axiomes P. Γ alors B est un B ⇒ (A ⇒ B) B A⇒B A ⇒ B. dans Γ.3 Les langages du premier ordre multisortés Dans ertaines théories. La démonstration π1 (A ⇒ (C ⇒ B)) ⇒ ((A ⇒ C) ⇒ (A ⇒ B)) A ⇒ (C ⇒ B) (A ⇒ C) ⇒ (A ⇒ B) A⇒B est une démonstration de  Si B se déduit de C A⇒B dans A ⇒ (A ⇒ A) π2 A⇒C Γ. alors hypothèse de ré urren e il y a une preuve π B = ∀x C et x n'apparaît pas dans Γ ni dans A. ((P ⇒ Q) ⇒ (P ⇒ Q)) ⇒ (((P ⇒ Q) ⇒ P ) ⇒ ((P ⇒ Q) ⇒ Q)) (P ⇒ Q) ⇒ (P ⇒ Q) ((P ⇒ Q) ⇒ P ) ⇒ ((P ⇒ Q) ⇒ Q) (P ⇒ Q) ⇒ Q La démonstration obtenue P ⇒ ((P ⇒ Q) ⇒ P ) (P ⇒ Q) ⇒ P P 1.. Démonstration S'il y a une démonstration de π de A ⇒ B π A⇒B B est une démonstration de B dans dans LA LOGIQUE DU PREMIER ORDRE Γ alors la démonstration A Γ.

. dans e as les pays et les langues. Étrangement.. la logique du premier ordre multisortée permet alors de restreindre la grammaire du langage de manière à éviter es propositions en distinguant plusieurs sortes d'objets. ∀xn ((Ts1 (x1 ) ∧ . . . . à haque symbole de on asso ie un symbole de fon tion de même arité... |A ∧ B| = |A| ∧ |B|. sn sont les sortes de ses arguments. |P (t1 ... .. |A ∨ B| = |A| ∨ |B|. sn ) où s1 . |tn |). . |A ⇔ B| = |A| ⇔ |B|.. la seule manière d'établir qu'une proposition est vraie est de la démontrer. à haque symbole de fon tion d'arité (s1 .. 23 LA DÉDUCTION MODULO langue(Fran e.. n un rang s1 .. Remarque Une théorie du premier ordre multisortée peut toujours se relativiser en une théorie du premier c f′ ordre ordinaire. sn ..... tn )| = f ′ (|t1 |.. Les axiomes logiques sont restreints de manière à e qu'on ne puisse substituer une variable que par un terme de la même sorte. ∧ Tsn (xn )) ⇒ (Tsn+1 (f ′ (x1 . |A ⇒ B| = |A| ⇒ |B|. à haque symbole de prédi at P on asso ie ′ un symbole de prédi at P de même arité. P est démontrable dans la théorie Γ si et seulement si la proposition 1.4. tn )| = P ′ (|t1 |.4 La dédu tion modulo En arithmétique. .. .      |x| = x. On traduit une théorie en traduisant ha un des axiomes et en ajoutant pour haque sorte s l'axiome ∃x Ts (x) et pour haque symbole de fon tion f de rang (s1 .. où s est la sorte de la variable x.français) langue(Royaume-uni.Royaume-uni) qui exprime que le Royaume-uni est une langue o ielle de la Fran e... proposition qui bien plus que fausse semble dénuée de sens. l'anglais du Royaume-uni. |f (t1 . établir que la proposition 2+2=4 .. À haque symbole d'individu c′ . Pourtant. Pour haque sorte s on introduit un symbole de prédi at Ts à un fon tion f on asso ie un symbole d'individu argument. sn+1 ) l'axiome ∀x1 . . . On traduit alors ainsi les termes et les propositions : ′  |c| = c .. sn+1 ) symbole de où aussi une sorte à haque variable de manière à e qu'il y ait un nombre inni de variables de haque sorte.. sn .. .anglais) qui expriment que le français est une langue o ielle de la Fran e.. xn )))) On peut alors montrer que la proposition P ′ est démontrable sous les axiomes Γ′ . Les termes et les propositions sont alors dénis de manière à n'appliquer les symboles de fon tion et de prédi at qu'aux termes de la sorte orrespondant à leur rang...1. |∀x A| = ∀x (Ts (x) ⇒ |A|).... on peut aussi former la proposition langue(Fran e. Une variante de la logique du premier ordre.. on sent bien que si établir que la proposition ∀x ∀y ¬(x × x = 2 × y × y) est vraie demande un raisonnement. .... |tn |).. |∃x A| = ∃x (Ts (x) ∧ |A|). On asso ie À haque symbole d'individu on asso ie une sorte. sn sont les sortes de ses arguments et sn+1 elle de son résultat et à haque prédi at d'arité n un rang (s1 ..

'est-à-dire un axiome logique ou une proposition de  Γ. en arithmétique on peut ajouter la règle x×y =0x=0∨y =0 Pour toute théorie modulo (Γ..  Axiome : Pi a la même forme normale qu'un axiome. il y a un entier j stri tement inférieur à n'apparaît pas dans les axiomes de i tel Γ. 2+2 = 4 qui se démontre fa ilement ave Une théorie dans e formalisme est formée d'axiomes et de règles de réé riture formant un système onuent et terminant. Par exemple. Pn telle que pour haque i démonstration la proposition Pi dans Γ est une suite nie de pro- est obtenue par l'une des règles de dédu tion i-dessous. LA LOGIQUE DU PREMIER ORDRE est vraie ne demande qu'un al ul.. est logique du premier Pour elà on est amené à onsidérer une extension de la logique du premier ordre. Une positions P1 . les axiomes de l'addition et de la multipli ation peuvent être rempla és par les règles 0+yy S(x) + y  S(x + y) 0×y0 S(x) × y  (x × y) + y On identie les propositions qui ont même forme normales. Les règles de dédu tion sont transformées ainsi. Par exemple. Généralisation : Pi que a la même forme normale que et une proposition ∀x A. la ordre modulo. Au lieu d'utiliser laborieusement les axiomes de l'addition pour établir que la proposition vraie on aimerait pouvoir ee tuer le al ul et obtenir la proposition 4=4 les axiomes de l'égalité. 'est-à-dire telle que P ). on peut onstruire une the théorie du premier ordre est démontrable dans (Γ. . Mais si l'ensemble des propositions démontrable est le même.24 CHAPITRE 1. Par exemple. ) Γ′ si et seulement si elle est démontrable dans équivalente Γ′ . Modus ponens : Pi à i normale que  Pj A tels que Pj B a la même forme normale que a la même forme normale que A et x j et k stri tement inférieurs A ⇒ B et Pk a la même forme et il y a deux entiers a la même forme normale que A. les propositions 2+2 = 4 et 4=4 sont identiées et toute démonstration de l'une est une démonstration de l'autre.. On peut également onsidérer des règles de réé ritures qui réé rivent des propositions atomiques. la forme des démonstrations est très diérente dans un as et dans l'autre. .

on veut pouvoir supposer que n=0 puis démontrer que n + 1 = 1. le lemme de dédu tion permet de (n = 0) ⇒ (n + 1 = 1). 25 . une démonstration n'est plus un arbre de ouples (Γ. une étape de dédu tion peut modier aussi bien la proposition Γ. La dédu tion naturelle propose de prendre l'introdu tion d'une hypothèse omme l'une des règles de dédu tion. tel ouple se note est une liste de propositions et P que Γ⊢ P (lire une proposition. En dédu tion naturelle. La notion de démonstration du hapitre pré édent ne permet pas de faire ela dire tement. si peut démontrer Γ ⊢ A ⇒ (B ⇒ A) Γ est une liste de proposition quel onque. est la règle permettant de déduire un séquent On la note P propositions. on ainsi Γ. B ⊢ A Γ. les trois premiers s hémas d'axiomes logiques sont inutiles. L'utilisation du terme séquent ne doit pas introduire de onfusion : la dédu tion naturelle et le al ul des séquents sont deux formalismes très diérents. si on onnaît une démonstration de n+1 = 1 n = 0. A ⊢ B ⇒ A Γ ⊢ A ⇒ (B ⇒ A) 1 La notion de séquent est utilisée dans plusieurs formulations de la dédu tion. A ⊢ B . En revan he.Chapitre 2 La dédu tion naturelle 2. Pour démontrer que (n = 0) ⇒ (n + 1 = 1). Un 1 Gamma thèse P ) et est appelé un séquent . P ) où Γ est une liste de propositions et P une proposition. En eet. la liste Dénition Un séquent est une paire Γ ⊢ P où Γ Dénition La règle d'introdu tion d'hypothèses du séquent Γ. Si on prend ette règle. A ⊢ B Γ⊢A⇒B Remarque Quand on prend la règle d'introdu tion d'hypothèses omme une règle de dédu tion.1 L'introdu tion d'hypothèses L'introdu tion d'hypothèses paraît une étape naturelle dans l'expression d'une démonstration. A. mais un arbre de Γ⊢A⇒B Γ. mais la démonstration sous l'hypothèse transformer ette démonstration en une démonstration de obtenue est beau oup plus longue que la démonstration initiale et très peu naturelle. en parti ulier en dédu tion naturelle et en al ul des séquents.

A. P ⇒ (A∧B) C'est-à-dire avoir un axiome similaire à elui qu'on her he à rempla er. A ⇒ (B ⇒ C).26 CHAPITRE 2. le séquent Γ ⊢ (A ⇒ (B ⇒ C)) ⇒ ((A ⇒ B) ⇒ (A ⇒ C)) LA DÉDUCTION NATURELLE se démontre ainsi ∆⊢A⇒B ∆⊢A ∆ ⊢ A ⇒ (B ⇒ C) ∆ ⊢ A ∆⊢B⇒C ∆⊢B Γ. A ⊢ A ⇒ B Γ. A ⇒ B ⊢ A ⇒ C Γ. . Enn. A ⊢ B Γ. Mais qu'en est-il de la ré iproque ? Ave la règle i-dessus on peut fa ilement démontrer le séquent A ⇒ (B ⇒ (A ∧ B)). et en déduire Dans le système B ⇒ (A ∧ B) et Il est plus naturel de se donner dire tement la règle Γ⊢A Γ⊢B Γ ⊢ A∧B Dans le système du hapitre pré édent. Or. x une variable n'apparaissant pas dans Γ et A et B deux propositions telles que x n'apparaît pas dans A on peut démontrer le séquent Γ ⊢ (∀x (A ⇒ B)) ⇒ (A ⇒ ∀x B) où ainsi Γ. est-il équivalent de se donner l'axiome et la règle ? Chaque appli ation de la règle peut lairement être simulée par une utilisation de l'axiome et deux appli ations du modus ponens. A ∧ B. B ⊢ B Γ.2 Les axiomes logiques et les règles de dédu tion Quand on a démontré les propositions A et B. A. ∀x (A ⇒ B) ⊢ A ⇒ ∀x B Γ ⊢ (∀x (A ⇒ B)) ⇒ (A ⇒ ∀x B) 2. A ⊢ A Γ. A ⊢ B ⇒ (A ∧ B) Γ ⊢ A ⇒ (B ⇒ (A ∧ B)) Γ. A. Don . si Γ est un ontexte quel onque. mais pour en déduire il nous faut le lemme de dédu tion. En dédu tion naturelle. il faudrait pouvoir déduire de P ⇒A et P ⇒ B. De même. le lemme de dédu tion est-il toujours orre t quand on ajoute la règle Γ⊢A Γ⊢B Γ ⊢ A∧B ? Pour traduire une démonstration dans laquelle on utilise ette règle. on ne peut pas simplement rempla er l'axiome par la règle. ∀x (A ⇒ B). A ⊢ C Γ. A ⇒ (B ⇒ C) ⊢ (A ⇒ B) ⇒ (A ⇒ C) Γ ⊢ (A ⇒ (B ⇒ C)) ⇒ ((A ⇒ B) ⇒ (A ⇒ C)) ∆ = Γ. dans le système du hapitre pré édent. A ⇒ B. A ⊢ ∀x (A ⇒ B) Γ. A ⇒ B. ∀x (A ⇒ B). en revan he. B ⊢ A ∧ B . ∀x (A ⇒ B). A ⇒ (B ⇒ (A ∧ B)). ∀x (A ⇒ B). A. A ⊢ ∀x B Γ. B ⊢ A Γ. A ⊢ (∀x (A ⇒ B)) ⇒ (A ⇒ B) Γ. on veut en déduire la proposition du hapitre pré édent. et il est fa ile de montrer que si on se donne la règle Γ⊢A Γ⊢B Γ ⊢ A∧B on peut démontrer la proposition A ⇒ (B ⇒ (A ∧ B)) dans n'importe quel ontexte Γ. B ⊢ A ∧ B Γ. le lemme de dédu tion est donné par une règle. A. ∀x (A ⇒ B). A ⇒ (B ⇒ C). on doit utiliser l'axiome logique A∧B ave le modus ponens. A ⇒ (B ⇒ C). ∀x (A ⇒ B).

La règle d'introdu tion d'une hypothèse Γ. A ⊢ B Γ⊢A⇒B devient une règle d'introdu tion de l'impli ation. Les règles on ernant un même onne teur peuvent ensuite être lassées en fon tion de la position de e règle d'introdu tion.2. s'il apparaît dans les règle d'élimination.3 Dénition Dénition (Règles de la dédu tion naturelle) Γ⊢A axiome si A∈Γ Γ . A ⊢ C Γ⊢C A⇒B B Γ. Donnons un autre exemple. Le système ainsi obtenu est appelé la dédu tion naturelle. A ⊢ C .3. L'axiome (A ∨ B) ⇒ ((A ⇒ C) ⇒ ((B ⇒ C) ⇒ C)) peut être rempla é par la règle Γ ⊢ A∨B Mais. omme il est équivalent de démontrer Γ⊢A⇒C Γ⊢C Γ⊢A⇒C Γ ⊢ A∨B ou Γ⊢B⇒C Γ. 2. Γ. La règle de généralisation A si x ∀x A n'apparaît pas dans devient une règle d'introdu tion du quanti ateur universel. Par exemple le onne teur ∨ a deux règles d'introdu tion onne teur : s'il apparaît dans la on lusion la règles est appelée prémisses la règle est appelée Γ⊢A ∨-intro Γ ⊢ A∨B Γ⊢B ∨-intro Γ ⊢ A∨B et une règle d'élimination Γ ⊢ A∨B Le modus ponens Γ. Ce qui permet de lasser es règles en fon tion du onne teur qu'elles on ernent. B ⊢ C Dans ette règle. 27 DÉFINITION On peut ainsi supprimer tous les axiomes logiques et les rempla er par des règles de dédu tion. le seul onne teur apparaissant expli itement est le onne teur ∨. B ⊢ C ∨-élim A devient une règle d'élimination de l'impli ation. la plupart des règles la dédu tion naturelle on ernent un seul onne teur. A ⊢ C Γ⊢C la règle peut en ore se transformer en Γ. De même.

28 CHAPITRE 2. on ajoute la règle Γ ⊢ A ∨ ¬A tiers ex lu Proposition Si A est démontrable à partir des axiomes Γ dans le système du hapitre pré édent. A ⊢ B ⇒-intro Γ⊢A⇒B Γ⊢A⇒B Γ⊢A ⇒-élim Γ⊢B Γ. B ⊢ A ⇔-intro Γ⊢A⇔B Γ⊢A⇔B Γ⊢A ⇔-élim Γ⊢B Γ⊢A⇔B Γ⊢B ⇔-élim Γ⊢A Γ⊢A Γ⊢B ∧-intro Γ ⊢ A∧B Γ ⊢ A∧B ∧-élim Γ⊢A Γ ⊢ A∧B ∧-élim Γ⊢B Γ⊢A ∨-intro Γ ⊢ A∨B Γ⊢B ∨-intro Γ ⊢ A∨B Γ ⊢ A∨B Γ. A ⊢ B Γ. LA DÉDUCTION NATURELLE Γ. A ⊢ C Γ⊢C Γ. B . alors Γ ⊢ A est démontrable en dédu tion naturelle. B ⊢ C ∨-élim Γ. A ⊢ ⊥ ¬-intro Γ ⊢ ¬A Γ ⊢ A Γ ⊢ ¬A ¬-élim Γ⊢⊥ Γ⊢⊥ ⊥-élim Γ⊢A Γ⊢A ∀-intro Γ ⊢ ∀x A si x n'apparaît pas dans Γ Γ ⊢ ∀x A ∀-élim Γ ⊢ A[x ← t] Γ ⊢ A[x ← t] ∃-intro Γ ⊢ ∃x A Γ ⊢ ∃x A Γ. A ⊢ B ∃-élim Γ⊢B si x n'apparaît pas dans Γ ni dans En logique lassique.

on ommen e par démontrer la proposition ¬¬(((P ⇒ Q) ⇒ P ) ⇒ P ) . B de A⇒B et A Le système de dédu tion naturelle i-dessus. sont identiées. Le tiers ex lu peut. quant à lui. Par exemple. Cela ne signie pas pour autant qu'une proposition n'utilisant qu'un ensemble restreint de onne teurs puisse toujours se prouver uniquement ave les règles on ernant es onne teurs. le terme t doit avoir la même sorte que la variable x. Par exemple la proposition ((P ⇒ Q) ⇒ P ) ⇒ P (proposition de Peir e) ne peut pas être démontrée sans utiliser le tiers ex lu. 2. Les onne teurs apparaissant virtuellement dans les métavariables Les règles de dédu tion expriment la signi ation des onne teurs.1 La dédu tion naturelle en logique du premier ordre multisortée La dédu tion naturelle s'étend simplement à la logique du premier ordre multisortée. En eet. La seule diéren e étant que dans les règles d'élimination du quanti ateur universel et d'introdu tion du quanti ateur existentiel. Les règles de dédu tion doivent simplement tenir ompte du fait que les propositions onvertibles. 29 UNE DÉFINITION INDÉPENDANTE DES CONNECTEURS ? 2.4 Une dénition indépendante des onne teurs ? Un seul onne teur par règle Le dédu tion naturelle fait presque apparaître un seul onne teur par règle.2. bien que la négation n'apparaisse pas dans la proposition elle-même. la règle d'introdu tion de la onjon tion se trouve reformulée Γ⊢A Γ⊢B Γ⊢C où C ≡A∧B signie que C et A∧B si C ≡A∧B ∧-intro ont même forme normale. 2. être rempla é par la règle Γ ⊢ ¬¬A tiers Γ⊢A ex lu Il devient une règle supplémentaire d'élimination de la négation.2 La dédu tion naturelle en logique du premier ordre modulo La dédu tion naturelle s'étend simplement à la logique du premier ordre modulo.3.3. A ⊢ ¬B ¬-intro Γ ⊢ ¬A Γ ⊢ A Γ ⊢ ¬A ¬-élim Γ⊢B le seul in onvénient de es règles étant d'avoir une o urren e de la négation à la fois dans les prémisses et la on lusion de la règle d'introdu tion de la négation. 'est-à-dire qui ont la même forme normale. Les règles de la négation font intervenir expli itement la ontradi tion par les règles suivantes : ⊥ on peut rempla er es règles Γ. A ⊢ B Γ. Seules les règles de la négation et le tiers ex lu dérogent à e prin ipe. Pouvoir déduire fait partie de la signi ation de l'impli ation. qui fait apparaître un seul onne teur par règle semble donner une dénition indépendante de ha un des onne teurs.4.

nous verrons que si une proposition peut être démontrée. Dans le al ul des séquents. le tiers ex lu parti ipe à la signi ation de l'impli ation. dont la prémisse prin ipale ( 'est-à-dire la prémisse dans laquelle e symbole apparaît) est démontrée par une règle d'introdu tion de e symbole. si on démontre une proposition A dans le as général. si on démontre A par ailleurs pour en déduire B A x = t. même si elle n'apparaît pas expli itement dans la formulation de la règle tiers ex lu. Exemple π1 π2 Γ⊢A Γ⊢B ∧-intro Γ ⊢ A∧B ∧-élim Γ⊢A Dans et exemple.5 Les oupures 2. pour en déduire ∀x A puis A[x ← t] π Γ⊢A ∀-intro Γ ⊢ ∀x A ∀-élim Γ ⊢ A[x ← t] On peut éliminer ette oupure et transformer ette preuve en π[x ← t] Γ ⊢ A[x ← t] dans laquelle on démontre dire tement la proposition Troisième exemple.5. pour en déduire A ⇒ B . il est inutile de démontrer A et B A. LA DÉDUCTION NATURELLE avant d'en déduire par le tiers ex lu ((P ⇒ Q) ⇒ P ) ⇒ P Don . et qu'on démontre dans le as parti ulier où sous les hypothèses B π1 Γ. A ⊢ B ⇒-intro Γ⊢A⇒B Γ⊢B π2 Γ⊢A ⇒-élim . On peut don éliminer ette oupure et donner la preuve plus simple du même séquent π1 Γ⊢A De même. alors elle peut être démontrée en utilisant uniquement les règles on ernant les onne teurs présents dans ette proposition. l'impli ation apparaît dans l'instan e utilisée Γ ⊢ ¬¬(((P ⇒ Q) ⇒ P ) ⇒ P ) Γ ⊢ ((P ⇒ Q) ⇒ P ) ⇒ P Et don .30 CHAPITRE 2. Γ. 2. si notre but est de démontrer pour en déduire A∧B puis A. il va de soi que.1 La notion de oupure Dénition Une oupure est une démonstration dont la dernière règle est une règle d'élimination d'un symbole. A.

A ⇒ B ⊢ A A. Cette preuve se termine par une règle d'introdu tion.  en logique intuitionniste alors il y a un terme t tel que la proposition A[x ← t] soit démontrable. Cette dernière règle de π ne peut don pas être une règle d'élimination. ou s'il peut se poursuivre à l'inni. ar le ontexte Γ est vide. une preuve sans oupures et sans hypothèses se termine par une règle d'introdu tion. Proposition Si une proposition de la forme A ∨ B peut être démontrée  sans hypothèses. alors d'après le théorème d'élimination des oupures. A ⇒ B ⊢ B ⇒-élim A. Remarque Les deux hypothèses de ette proposition sont né essaires. ∆ ⊢ A par la preuve de Γ. Démonstration Par ré urren e sur la taille de la preuve. Ave le tiers ex lu on peut montrer Proposition Si une proposition de la forme ∃x A peut être démontrée A ∨ ¬A sans montrer  sans hypothèses. forme une oupure ave la dernière règle de π.  en logique intuitionniste alors la proposition A ou la proposition B Démonstration Si la proposition A ∨ B peut être démontrée. Si 'est une ′ règle d'élimination.5. La dernière règle de ette preuve ne peut pas être la règle d'axiome. A ⇒ B ⊢ B ⇒ B A. on aboutit à une preuve sans oupures. en itérant e pro essus.2. peut être démontrée. C'est don une règle d'introdu tion. A ⇒ B ⊢ A ⇒ B A. elle a une preuve sans oupures. A ⇒ B ⊢ B se transforme en A. A ⇒ B ⊢ A ⇒ B A. À haque fois qu'une preuve ontient un sous-arbre qui est une oupure.2 Les démonstrations sans oupures Proposition En logique intuitionniste. A ⇒ B ⊢ B On peut donner une transformation similaire pour ha un des onne teurs. on A ni ¬A. . B ⊢ B ⇒-intro A. Soit π une preuve sans oupures et sans hypothèses. En eet ave l'hypothèse A ∨ B peut montrer A∨B sans montrer A ni B . Par hypothèse de ′ ré urren e π se termine par une règle d'introdu tion. 31 LES COUPURES On peut éliminer ette oupure et transformer ette preuve en π Γ⊢B où π π1 les o urren es de A dans tous les ontextes et en Γ. ∆ ⊢ A obtenue en rajoutant est la preuve obtenue en supprimant dans remplaçant les utilisations de la règle axiome ∆ les hypothèses à haque séquent de π2 . Le théorème d'élimination des oupures (voir hapitre 7 de la partie III) montre pré isément que e pro essus termine toujours et don que toute preuve peut se transformer en une preuve sans oupures. Cette règle d'introdu tion. ette règle ne peut être que ∨-intro et don la proposition A ou la proposition B peut être démontrée. A ⇒ B. A ⇒ B ⊢ A A. La question est de savoir si. Par exemple A. Démonstration Une preuve sans oupures de ∃x A se termine né essairement par la règle ∃-intro. on peut éliminer ette oupure.5. la prémisse prin ipale de ette règle a une preuve π plus petite que π . 2. A.

P (65). P (37). P (67). P (69). P (28). P (22). P (20). P (55). P (76). P (24). P (83). P (91). P (51). P (10). P (97). P (35). P (5). P (31). de manière à intégrer des oupures liées P (0) et ∀x (P (x) ⇒ (P (S(x)))) on peut en déduire ave le s héma de ré urren e la proposition ∀x P (x). P (72). P (6). P (11). P (21). P (50). P (96). P (14). En revan he. P (66). P (4). P (56). P (44). P (49). P (33). P (87). P (39). P (23). P (3). P (63). P (59). P (2). P (8). P (80). P (40). P (43). P (17). P (25). P (84). P (60). P (27). LA DÉDUCTION NATURELLE 2. si on a démontré en arithmétique les propositions . P (13). P (74). P (36). la notion de oupure se dénit omme en logique du premier ordre ordinaire. P (15). P (61). P (89). P (26). P (98). P (57). P (42). P (58). aux axiomes de ette théorie. P (9). La notion de oupure peut s'étendre dans ertaines théories. P (90). Eliminer les oupures dans ette preuve revient à démontrer su essivement P (1). P (75).32 CHAPITRE 2. P (48). P (86). de quoi on peut déduire P (100). P (53). P (88). P (46). P (94). P (18). sa terminaison est toujours une onje ture en logique du premier ordre modulo. P (85). P (19). P (93). P (45). P (64).3 Les extensions de la notion de oupures En logique du premier ordre multisortée et en logique du premier-ordre modulo. P (68). P (54). P (81). P (95). P (70). P (34). P (79). P (16). P (12). P (47). Par exemple. P (62). P (73). P (99) et enn P (100). P (32). P (78). P (7). P (92). P (71). P (82). P (30). P (38). P (52). Le pro essus d'élimination des oupures termine en logique du premier-ordre multisortée.5. P (29). P (41). P (77).

1. Q ⊢ P don démontrable par la règle et P. on se ramène aux séquents P. P ∧Q pour Γ et P pour Il y a i i une dissymétrie profonde entre les règles d'introdu tion Γ. Ensuite. mais il présente d'autres avantages : il est utile pour la re her he automatique de preuves. Q ⊢ P P. Une preuve en dédu tion naturelle de e séquent est obtenue en appliquant la règle d'élimination de la onjon tion P ∧Q⊢P ∧Q ∧-élim P ∧Q⊢P Cette preuve est beau oup plus di ile à deviner. don il se peut que la dernière règle de la preuve soit une introdu tion de la onjon tion. Q ⊢ P ∧ Q Cette preuve est relativement fa ile à trouver : la proposition à démontrer est une onjon tion. Q ⊢ Q axiome. même si on dé ide d'utiliser ette règle Γ ⊢ A∧B ∧-élim Γ⊢A Le séquent P ∧Q ⊢ P nous suggère de prendre n'apparaît pas pas la on lusion de la règle.1 La re her he de démonstrations Supposons que nous her hions à démontrer le séquent P. mais ne suggère rien pour B qui . il est très régulier et l'idée qu'une hypothèse peut être utilisée zéro. Le al ul des séquents est un système moins intuitif que la dédu tion naturelle. D'abord la forme de la proposition à démontrer P ne nous suggère en rien la règle d'élimination de la onjon tion. Q ⊢ Q ∧-intro P. dont la on lusion gure dans la liste des hypothèses et qui sont Supposons maintenant que nous her hions à démontrer le séquent P ∧ Q ⊢ P. Q ⊢ P ∧ Q.Chapitre 3 Le al ul des séquents Le al ul des séquents est une troisième formulation de la dédu tion (après les systèmes à la Frege-Hilbert et la dédu tion naturelle). A ⊢ B ⇒-intro Γ⊢A⇒B 33 A.1 Motivations 3. 3. Si on essaie ette règle. une ou plusieurs fois y apparaît expli itement dans les règles de dédu tion. Une preuve en dédu tion naturelle de e séquent est obtenue en appliquant la règle d'introdu tion de la onjon tion P.

Alors. quasiment toutes les règles d'élimination sont utilisables et souvent de nombreuses manières. LE CALCUL DES SÉQUENTS Γ. A ⊢ ⊥ ¬-intro Γ ⊢ ¬A Γ⊢A ∀-intro Γ ⊢ ∀x A si x n'apparaît pas dans Γ Γ ⊢ A[x ← t] ∃-intro Γ ⊢ ∃x A et les règles d'élimination Γ⊢A⇒B Γ⊢A ⇒-élim Γ⊢B Γ⊢A⇔B Γ⊢A ⇔-élim Γ⊢B Γ⊢A⇔B Γ⊢B ⇔-élim Γ⊢A Γ ⊢ A∧B ∧-élim Γ⊢A Γ ⊢ A∧B ∧-élim Γ⊢B Γ ⊢ A∨B Γ. B ⊢ C ∨-élim Γ ⊢ A Γ ⊢ ¬A ¬-élim Γ⊢⊥ Γ⊢⊥ ⊥-élim Γ⊢A Γ ⊢ ∀x A ∀-élim Γ ⊢ A[x ← t] Γ ⊢ ∃x A Γ. B ⊢ A ⇔-intro Γ⊢A⇔B Γ⊢A Γ⊢B ∧-intro Γ ⊢ A∧B Γ⊢A ∨-intro Γ ⊢ A∨B Γ⊢B ∨-intro Γ ⊢ A∨B Γ. A ⊢ B Γ. peut être utilisée (sauf dans le as de la disjon tion qui a deux règles d'introdu tion) et il y a en général une seule possibilité pour instan ier les métavariables de la règle (sauf dans le as du quanti ateur existentiel. une règle unique d'introdu tion.34 CHAPITRE 3. ar il faut hoisir le terme t). que à haque étape de la re her he. A ⊢ C Γ⊢C Γ. B . elle du onne teur prin ipal de la proposition à démontrer. A ⊢ B ∃-élim Γ⊢B si x n'apparaît pas dans Γ ni dans A haque étape de la re her he.

il faut utiliser des informations qui se trouvent dans les hypothèses Pour deviner que pour démontrer le séquent onjon tion ave la proposition du séquent.1. alors qu'en dédu tion naturelle une oupure est simplement une su ession d'une introdu tion et d'une élimination. . en al ul des séquents utiliser la règle gau he pour dé omposer l'hypothèse P ∧ Q en deux hypothèses P et Q. P ∧Q⊢P ∧Q ∧-élim P ∧Q⊢P la règle axiome est utilisée ave la proposition P ∧ Q. B ⊢ C ∧-gau he Γ. A ⊢ B Γ⊢B π le fait ∧-gau he. une preuve qui omporte une oupure démontre une proposition A et indépendamment une proposition B sous l'hypothèse A pour en déduire B. Q ⊢ P π ∧-gau he Γ ⊢ P ∧ Q Γ. 35 MOTIVATIONS 3.1. A ∧ B ⊢ C Par exemple. Alors que dans la preuve en al ul des séquents P. il faut utiliser la règle d'élimination de la Q pour B .2 Les règles gau hes P ∧ Q ⊢ P . il faut remarquer qu'en al ul des séquents il y a une règle de oupure. par analogie ave la notion de oupure sur l'impli ation en dédu tion naturelle puisque dans un as omme dans l'autre. A. on sait que P ∧Q fait partie de la liste d'hypothèses du séquent. Malgré ette analogie. P ∧ Q ⊢ P Γ⊢P Cette règle est appelée règle de oupure. Dans la preuve en dédu tion naturelle. Q ⊢ P P ∧ Q ⊢ P.3 La règle de oupure Dans la preuve en dédu tion naturelle P ∧Q⊢P ∧Q ∧-élim P ∧Q⊢P dans laquelle l'utilisation de la règle d'élimination est immédiatement suivie d'une règle axiome. Pour ela on ajoute une nouvelle règle Γ ⊢ A Γ. Un exemple d'une telle règle est Γ.3. il sut d'appliquer ette règle pour dont la on lusion gure parmi les hypothèses. et don qu'on peut. L'idée du al ul des séquents est de onserver les règles d'introdu tion de la dédu tion naturelle et de rempla er les règles d'élimination par des règles d'introdu tion sur les hypothèses du séquent. En revan he. de manière à pouvoir par exemple justier par la preuve hypothèses du séquent pour pouvoir appliquer la règle d'ajouter la proposition P ∧Q parmi les Γ. Q ⊢ P ∧-gau he P ∧Q⊢P la règle axiome est utilisée ave la proposition P . P. 3. pour démontrer ave ette règle le séquent obtenir le séquent P.1. si la proposition P ∧ Q est démontrée par une preuve π quel onque la proposition π Γ⊢P ∧Q ∧-élim Γ⊢P il n'est plus aussi simple d'exprimer ette preuve en al ul des séquents.

B ⊢ A Γ. B ⊢ C ⇒-gau he Γ.1 Dénition A⊢A axiome Γ ⊢ A Γ. A ⊢ B ⇒-droite Γ⊢A⇒B Γ ⊢ A Γ. Γ. B.2. A ⇔ B ⊢ C Γ ⊢ B Γ. LE CALCUL DES SÉQUENTS 3. A ⊢ B Γ⊢B oupure Γ⊢A aaiblissement Γ.36 CHAPITRE 3. A. B. A. A ⊢ B Γ. A ⊢ B Γ. A. A. B ⊢ A Γ. A ⊢ B ontra tion Γ. ∆ ⊢ C permutation En al ul des séquents. omme en al ul des séquents on peut rempla er la règle Γ⊢A axiome si A∈Γ par une règle A⊢A axiome ainsi que deux règles permettant d'ea er et permuter des hypothèses d'un séquent Γ⊢A aaiblissement Γ. on doit en outre ajouter une règle permettant de faire une opie d'une hypothèse avant de l'utiliser. B.1. A ⇔ B ⊢ C Γ. A ⊢ B Γ. A ⊢ C ⇔-gau he Γ. B ⊢ A ⇔-droite Γ⊢A⇔B . ∆ ⊢ C Γ. A ⇒ B ⊢ C Γ. A.4 Les règles stru turelles En dédu tion naturelle. ∆ ⊢ C permutation Γ ⊢ A Γ. B. A ⊢ B ontra tion 3. A.2 Le al ul des séquents 3. pour pouvoir l'utiliser une se onde fois. ∆ ⊢ C Γ. B ⊢ C ⇔-gau he Γ.

A ∧ B ⊢ C Γ⊢A Γ⊢B ∧-droite Γ ⊢ A∧B Γ. On obtient Essayons de démontrer le séquent se ramène au séquent . ∀x A ⊢ B Γ⊢A ∀-droite Γ ⊢ ∀x A si ΓA ⊢ B ∃-gau he Γ. ¬Q ⊢ ⊥ puis d'appliquer enn la règle gau he de la négation omme i-dessus. A ∨ B ⊢ C Γ⊢A ∨-droite Γ ⊢ A∨B Γ⊢B ∨-droite Γ ⊢ A∨B Γ⊢A ¬-gau he Γ. bien plus élégante de l'exprimer. 37 LE CALCUL DES SÉQUENTS Γ. ¬A ⊢ B Γ. Si on applique la règle gau he de la négation on P ⊢ ¬(P ⇒ Q) qui n'est pas démontrable.3.2. A ⊢ C Γ. A. ∃x A ⊢ B x n'apparaît pas dans si x Γ n'apparaît pas dans Γ ni dans B Γ ⊢ A[x ← t] ∃-droite Γ ⊢ ∃x A 3. ¬¬(P ⇒ Q). le tiers ex lu est une règle spé iale qui s'ajoute aux règles d'introdu tion de la disjon tion ∨ : Γ ⊢ A ∨ ¬A on peut aussi le rempla er par la règle Γ ⊢ ¬¬A Γ⊢A En al ul des séquents aussi. L'idée est alors d'appliquer le tiers ex lu pour se ramener à ¬¬(P ⇒ Q). P ⊢ Q. A[x ← t] ⊢ B ∀-gau he Γ. B ⊢ C ∨-gau he Γ. A ⊢ ⊥ ¬-droite Γ ⊢ ¬A Γ.2. ⊥ ⊢ A ⊥-gau he Γ. P ⊢ ¬¬Q puis d'appliquer la règle droite de la négation de manière à obtenir ¬¬(P ⇒ Q). Mais il y a une autre manière.2 Le al ul des séquents lassique En dédu tion naturelle. le tiers ex lu peut se formuler omme une règle spé iale. P. B ⊢ C ∧-gau he Γ.

P ⊢ Q On peut omprendre l'utilisation du tiers ex lu dans ette démonstration. A ∧ B . axiome axiome P ⊢P P. Q P. Q ⊢ Q ⇒-gau he P. A ∨ ¬A permutation-droite ⊢ A ∨ ¬A. ⊥. A ∨ ¬A ontra tion-droite ⊢ A ∨ ¬A 3. P ⊢ ¬¬Q tiers ex lu ¬¬(P ⇒ Q). P ⇒ Q ⊢ Q ¬-gau he P. je peux a heter un ho olat on peut déduire la onséquen e paradoxale si j'ai deux fran s. Cette permanen e des hypothèses n'est pas vériée dans des situation dynamiques dans lesquelles les hypothèses s'usent quand on s'en sert.38 CHAPITRE 3. Q ⊢ Q ⇒-gau he P. De e fait. ¬Q ⊢ ⊥ ¬-droite ¬¬(P ⇒ Q). Une idée alternative onsiste à laisser la proposition Q dans la partie droite du séquent. ¬A ∨-droite ⊢ A. 'est-à-dire en partant de la on lusion). omme un moyen d'éviter la destru tion de la proposition Q lors de l'utilisation de la règle gau he de la négation. P ⇒ Q ⊢ Q ¬-droite P ⊢ ¬(P ⇒ Q). il faut également être prudent ave les ontra tions impli ites dans les règles de dédu tion. A ∨-droite ⊢ A ∨ ¬A. habituelle en al ul des séquents. P ⊢ Q Le tiers ex lu peut don s'exprimer par ette possibilité d'avoir plusieurs on lusions dans un séquent ( ette idée. Par exemple. B Γ ⊢ ∆. peut aussi être utilisée en dédu tion naturelle). A⊢A ¬-droite ⊢ A. une ou plusieurs fois est expli itement exprimée par des règles de dédu tion (aaiblissement et ontra tion).3 La logique linéaire Le al ul des séquents est le seul formalisme dans lequel l'idée qu'une hypothèse puisse s'utiliser zéro. Ainsi la démonstration i-dessus peut se réé rire et axiome axiome P ⊢ P. En logique linéaire. P ⇒ Q ⊢ ⊥ ¬-droite P. il importe de distinguer la règle droite de la onjon tion Γ ⊢ ∆. ¬Q ⊢ ¬(P ⇒ Q) ¬-gau he ¬¬(P ⇒ Q). La logique linéaire [5℄ est la formulation de la dédu tion obtenue en supprimant les règles d'aaiblissement et de ontra tion dans le al ul des séquents lassique.2. A Γ ⊢ ∆. ¬Q. je peux a heter un afé et si j'ai deux fran s. Il est également possible d'avoir zéro proposition en on lusion. Par exemple des hypothèses si j'ai deux fran s. Cela demande don de onsidérer des séquents étendus dans lesquels il y a plusieurs hypothèses aussi plusieurs on lusions. LE CALCUL DES SÉQUENTS alors la démonstration suivante (qui se omprend mieux si on la lit de bas en haut. on peut se passer du symbole Le tiers ex lu se démontre alors ainsi. dans e as il faut interpréter le séquent Γ⊢ omme Γ ⊢ ⊥. Q ¬-gau he ¬¬(P ⇒ Q). en sto kant sa négation dans la liste d'hypothèses. P. je peux a heter un afé et je peux a heter un ho olat en dupliquant l'hypothèse j'ai deux fran s par la règle de ontra tion.

). Par exemple. ∆′ . Γ′ ⊢ ∆.2. Les règles de dédu tion doivent simplement tenir ompte du fait que les propositions onvertibles. 3... Γ est utilisée exa tement une fois pour montrer de la règle dans laquelle haque hypothèse de pour montrer Γ. A Γ′ ⊢ ∆′ . avoir la proposition !A en hypothèse est équivalent A. et . sont identiées. Γ′ ⊢ ∆. Cela amène en fait à distinguer deux onjon tions diérentes & et ⊗ dont les règles droites sont Γ ⊢ ∆. le terme t doit avoir la même sorte que la variable x. on plonger la logique intuitionniste à avoir un nombre quel onque d'hypothèses logique linéaire.2.3 Tradu tions 3. Γ′ A et exa tement une fois pour Γ ⊢ ∆.. et s1 .. ∆ ⊢ B . Ainsi. 3. sn par une règle du al ul des séquents. A ∧ B est utilisée exa tement une fois ou bien pour montrer A ou bien B. a une démonstration en dédu tion naturelle. En informatique. Cette π1 . A ⊗ B Les règles stru turelles (aaiblissement et ontra tion) peuvent se réintroduire en logique linéaire en ajoutant de nouveaux onne teurs : ? et !. A Γ′ ⊢ ∆′ .. on peut démontrer et la logique lassique dans la logique linéaire qui apparaît don omme un outil pour étudier la logique intuitionniste et la logique lassique. Ave es onne teurs. B &-droite Γ ⊢ ∆. Proposition Tout séquent Γ ⊢ A qui a une démonstration Π en al ul des séquents.. elle permet de dé rire de phénomènes dynamiques (ae tation. La seule diéren e étant que dans les règles gau he du quanti ateur universel et droite du quanti ateur existentiel. sn . 'est-à-dire qui ont la même forme normale. dont les ra ines sont étiquetées par des séquents s1 .. .5 Le al ul des séquents en logique du premier ordre modulo Le al ul des séquents s'étend simplement à la logique du premier ordre modulo. . 39 TRADUCTIONS où ha une des hypothèses de montrer B.3. alors qu'on ne peut pas démontrer A ⊢ A ⊗ A en !A ⊢ A ⊗ A. Par exemple.. la règle droite de la onjon tion se trouve reformulée Γ⊢A Γ⊢B Γ⊢C où C ≡A∧B signie que C et A∧B si C ≡A∧B ∧-droite ont même forme normale. 3. intera tion. A&B et Γ ⊢ ∆. πn ..1 Du al ul des séquents en dédu tion naturelle Proposition Tous les séquents d'une preuve en dédu tion naturelle de Γ ⊢ A ont la forme Γ. Le séquent Γ ⊢ A étiquette la ra ine de Π. ∆′ . Démonstration le séquent Γ⊢A Π.3. B Γ. Démonstration Par ré urren e sur la stru ture de la preuve de Γ ⊢ A. A Γ ⊢ ∆. .3. Par ré urren e sur la stru ture de ra ines a un ertain nombres de ls peut se déduire de .4 Le al ul des séquents en logique du premier ordre multisortée Le al ul des séquents s'étend simplement à la logique du premier ordre multisortée. B ⊗-droite Γ.

B. B.. B ⊢ A est obtenue en ajoutant la proposition B dans les hypothèses de tous les séquents de π′ . B dans les hypothèses de tous les séquents de  Une preuve de la forme π Γ. LE CALCUL DES SÉQUENTS ′ ′ Par hypothèse de ré urren e. B ⊢ A est obtenue en supprimant l'une des o urren es de la proposition π′ . les séquents sn ont des démonstrations π1 . ∆ ⊢ C se traduit en où de π′ + π′ . ∆ ⊢ A A dans les hypothèses de tous les séquents de π2′ et par π1′ + Γ.40 CHAPITRE 3. B. B ⊢ A ontra tion Γ. ∆ ⊢ C Γ. B. ′ En fon tion de la règle du al ul des séquents utilisée. ∆ ⊢ A est obtenue en permutant les o urren es de A et B dans les hypothèses de tous les séquents . B ⊢ A se traduit en où π′ + π′ + Γ.  Une preuve de la forme π Γ.  Une preuve de la forme π Γ⊢A aaiblissement Γ. on onstruit une preuve en dédu tion naturelle Π du séquent Γ ⊢ A. πn en dédu tion naturelle. A.. . A. ∆ ⊢ A où π1′ + est obtenue en ajoutant ∆ aux hypothèses de tous les séquents de π1′ . A ⊢ B Γ⊢B se traduit en où π2′ + π2′ + Γ⊢B est obtenue en supprimant la proposition en remplaçant tous les axiomes oupure Γ.  Une preuve de la forme A⊢A axiome se traduit en A⊢A axiome  Une preuve de la forme π1 π2 Γ ⊢ A Γ. B ⊢ A se traduit en où π′ + π′ + Γ.. permutation π′ + Γ. A.

Γ. A ⇔ B. Γ. ⊢ B par en π1′ + Γ. A ⇒ B ⊢ C ′ où π2 + est obtenue en supprimant dans les hypothèses de tous les séquents de y ajoutant A ⇒ B et en remplaçant tous les axiomes de la forme Γ. A ⇔ B. A ⇔ B. B ⊢ C ∧-gau he Γ. A ⇒ B. A ⇒ B. A ⇔ B. ∆ π2′ la proposition B . B ⊢ C ⇒-gau he Γ. 41 TRADUCTIONS  Une preuve de la forme π2 π1 Γ ⊢ A Γ. A ⇔ B ⊢ C π2′ la proposition A. A ⇔ B ⊢ C se traduit en où π2′ + π2′ + Γ. ∆ ⊢ A où π1′ + est obtenu en ajoutant  Une preuve de la forme A ⇔ B. en . A ⇒ B. A ⇔ B. A ⇔ B. ∆ ⊢ B ⇔-élim Γ. ∆ ⊢ A ⇔ B Γ. B ⊢ C ⇔-gau he Γ. ∆ ⊢ A ⇔ B Γ. ∆ ⊢ A ⇒ B Γ. A ⇒ B ⊢ C se traduit en π2′ + Γ. ∆ ⊢ B par est obtenue en supprimant dans les hypothèses de tous les séquents de y ajoutant A⇔B et en remplaçant tous les axiomes de la forme en π1′ + Γ.3. A ∧ B ⊢ C π1′ . ∆ ⊢ B où π1′ + est obtenu en ajoutant  Une preuve de la forme A ⇒ B. ∆ aux hypothèses de tous les séquents de π1′ . A ⇒ B. ∆ aux hypothèses de tous les séquents de π1′ . A ⇔ B ⊢ C π2′ la proposition B . ∆ aux hypothèses de tous les séquents de π Γ. π1 π2 Γ ⊢ A Γ. ∆ ⊢ A ⇔-élim Γ. ∆ ⊢ A ⇒-élim Γ. A ⇔ B. ∆ ⊢ B où π1′ + est obtenu en ajoutant  Une preuve de la forme A ⇔ B. A ⊢ C ⇔-gau he Γ. π2 π1 Γ ⊢ B Γ. ∆ ⊢ A par est obtenue en supprimant dans les hypothèses de tous les séquents de y ajoutant A⇔B et en remplaçant tous les axiomes de la forme π1′ + Γ. A. A ⇔ B ⊢ C se traduit en où π2′ + π2′ + Γ. A ⇔ B.3.

en y ajoutant LE CALCUL DES SÉQUENTS π′ + Γ. ¬A ⊢ B se traduit en où π′ + est obtenue en ajoutant  Une preuve de la forme ¬A π′ + Γ. ⊥ ⊢ A se traduit en π′ . A ⊢ C Γ. A ∨ B ⊢ A ∨ B où en π1′ + Γ. A ∧ B ⊢ C est obtenue en supprimant dans les hypothèses de tous les séquents de A∧B et en remplaçant tous les axiomes de la forme ∆⊢A π′ les propositions A et par ∆⊢ A∧B ∧-élim ∆⊢A et tous les axiomes de la forme ∆⊢B par ∆⊢ A∧B ∧-élim ∆⊢B  Une preuve de la forme π2 π1 Γ. ⊥-gau he Γ. ¬A ⊢ A ¬-élim Γ. ¬A ⊢ ¬A Γ. B ⊢ C ∨-gau he Γ. A ⊢ C Γ. se traduit en où π′ + B. ¬A ⊢ B dans les hypothèses de tous les séquents de Γ. ∀x A ⊢ B se traduit en où en π′ + Γ. A ∨ B. et π2′ + est obtenue  Une preuve de la forme π Γ⊢A ¬-gau he Γ. A ∨ B ⊢ C se traduit en Γ. ⊥ ⊢ ⊥ ⊥-élim Γ. ⊥ ⊢ A  Une preuve de la forme π Γ. B ⊢ C ∨-élim π1′ + est obtenue en ajoutant A∨B dans les hypothèses de tous les séquents de π1′ ′ ajoutant A ∨ B dans les hypothèses de tous les séquents de π2 . ∀x A ⊢ B π ′ + est obtenue en supprimant dans les hypothèses de tous les séquents de π la proposition A[x ← t]. A ∨ B ⊢ C π2′ + Γ.42 CHAPITRE 3. A[x ← t] ⊢ B ∀-gau he Γ. A ∨ B. y ajoutant ∀x A et en remplaçant tous les axiomes de la forme ∆ ⊢ A[x ← t] par ∆ ⊢ ∀x A ∀-élim ∆ ⊢ A[x ← t] . ¬A ⊢ ⊥ ⊥-élim Γ.

A ∧ B ⊢ C est rempla ée par Γ.. Exer i e S hroeder-Heister [7℄ propose (entre autres) de rempla er les règles de dédu tion naturelle ∧-élim et ∀-élim par les règles suivantes : Γ ⊢ A ∧ B Γ. Démonstration .. Bp . . ∃x A ⊢ B est obtenue en ajoutant dans les hypothèses de tous les séquents de π′ la proposition  Les règles droites sont traduites par les règles d'introdu tion.. Démonstration Par ré urren e sur la stru ture de la preuve.. .3. A ∧ B. ∃x A ⊢ ∃x A Γ. Cq ⊢ A permutation ... A. Proposition ∃x A.. . A. C1 .. Cq On onstruit la preuve A⊢A aaiblissement ... A. En quoi ela simplie-t-il la tradu tion du al ul des séquents en dédu tion naturelle ? Quelles sont les seules règles donnant lieu à un traitement global de la preuve quand on traduit le al ul des séquents modié par Kleene dans la dédu tion naturelle modiée par S hroeder-Heister ? 3. A. A ⊢ B ∃-gau he Γ.. Démonstration Si Γ a la forme B1 . Une preuve dans le al ul des séquents qui n'utilise pas la règle de oupure est traduite en dédu tion naturelle en une preuve sans oupures. A.. Par exemple Γ. A[x ← t] ⊢ B Γ⊢B Montrer que le système obtenu est équivalent à la dédu tion naturelle. aaiblissement A.. B ⊢ C ∧-gau he Γ..2 De la dédu tion naturelle en al ul des séquents Proposition Si A appartient à la liste Γ alors Γ ⊢ A est démontrable en al ul des séquents. B ⊢ C Γ.. A ∧ B ⊢ C Montrer que le système obtenu est équivalent au al ul des séquents. En quoi ela simplie-t-il la tradu tion du al ul des séquents en dédu tion naturelle ? Kleene [6℄ propose de modier les règles gau hes du al ul des séquents en gardant dans les prémisses une opie de la proposition de la on lusion dé omposée. C1 .3. A ⊢ B ∃-gau he Γ.3. . ∃x A. C1 .... Bp . 43 TRADUCTIONS  Une preuve de la forme π Γ. . . B1 .. Cq ⊢ A Proposition Tout séquent démontrable en dédu tion naturelle est démontrable en al ul des séquents. B ⊢ C Γ⊢C Γ ⊢ ∀x A Γ... permutation B1 . Bp . ∃x A ⊢ B se traduit en où π′ + π′ + Γ..

A ⇔ B ⊢ A oupure Γ⊢A π1′  Une preuve de la forme π Γ⊢A∧B ∧-élim Γ⊢A se traduit en . B ⊢ C ∨-élim . π′ Γ. B ⊢ A ∧-gau he Γ ⊢ A ∧ B Γ.. A ⊢ A ⇔-gau he Γ ⊢ A ⇔ B Γ....44 CHAPITRE 3.. Γ⊢A  Une preuve de la forme π2 π1 Γ⊢A⇒B Γ⊢A ⇒-élim Γ⊢B se traduit en π2′ . Γ ⊢ B Γ. B ⊢ B ⇔-gau he Γ ⊢ A ⇔ B Γ. LE CALCUL DES SÉQUENTS  Une preuve de la forme Γ⊢A se traduit en axiome ... A ⇔ B ⊢ B oupure Γ⊢B π1′  Une preuve de la forme π1 π2 Γ⊢A⇔B Γ⊢B ⇔-élim Γ⊢A se traduit en π2′ . A ⊢ C Γ⊢C π3 Γ.. Γ ⊢ A Γ. Γ ⊢ A Γ... A ⇒ B ⊢ B oupure Γ⊢B π1′  Une preuve de la forme π1 π2 Γ⊢A⇔B Γ⊢A ⇔-élim Γ⊢B se traduit en π2′ . A. B ⊢ B ⇒-gau he Γ ⊢ A ⇒ B Γ. A ∧ B ⊢ A oupure Γ⊢A  Une preuve de la forme π1 Γ ⊢ A∨B π2 Γ.

A[x ← t] ⊢ A[x ← t] ∀-gau he Γ ⊢ ∀x A Γ.3. A ⊢ B ∃-élim Γ⊢B se traduit en π2′ Γ. ¬A ⊢ ⊥ oupure Γ⊢⊥ π2′  Une preuve de la forme π Γ⊢⊥ ⊥-élim Γ⊢A se traduit en π′ ⊥-gau he Γ ⊢ ⊥ Γ. A ⊢ C Γ.3.3 Tradu tion des preuves sans oupures Nous voulons montrer le théorème d'élimination des oupures pour le al ul des séquents qui exprime que tout séquent qui a une preuve en al ul des séquents a aussi une preuve qui n'utilise pas la règle de oupure (autrement dit la règle de oupure est redondante). ⊥ ⊢ A oupure Γ⊢A  Une preuve de la forme π Γ ⊢ ∀x A ∀-élim Γ ⊢ A[x ← t] se traduit en . 3. ∀x A ⊢ A[x ← t] oupure Γ ⊢ A[x ← t]  Une preuve de la forme π2 π1 Γ ⊢ ∃x A Γ.. A ⊢ B ∃-gau he Γ ⊢ ∃x A Γ. 45 TRADUCTIONS se traduit en π1′ Γ ⊢ A∨B π2′ π3′ Γ. . π′ Γ. ∃x A ⊢ B oupure Γ⊢B π1′  Les règles d'introdu tion se traduisent par les règles droites.. B ⊢ C ∨-gau he Γ.3. A ∨ B ⊢ C oupure Γ⊢C  Une preuve de la forme π1 π2 Γ ⊢ A Γ ⊢ ¬A ¬-élim Γ⊢⊥ se traduit en π1′ Γ⊢A ¬-gau he Γ ⊢ ¬A Γ.

. LE CALCUL DES SÉQUENTS Nous pouvons. où le seul onne teur est l'impli ation. la preuve a la forme π Γ. A ⊢ B ⇒-intro Γ⊢A⇒B on la traduit en la preuve π′ Γ. P ⇒ Q ⊢ P P. Si la dernière règle est la règle axiome alors la preuve a la forme i-dessus pour n = 0. A ⊢ B ⇒-droite Γ⊢A⇒B . Proposition Une preuve Π en dédu tion naturelle sans oupure et dont la dernière n'est pas ⇒-intro a la forme suivante π1 Γ ⊢ A1 Γ ⊢ A1 ⇒ . P ⇒ Q. oupures.  Si la dernière règle est la règle ⇒-intro. P ⇒ Q ⊢ P ⇒-élim P. puis en transformant ette preuve en une preuve en dédu tion naturelle ′′′ sans oupures. P ⇒ Q ⊢ Q oupure P. 'est-à-dire donner une méthode pour transformer toute preuve du al ul des séquents en une preuve sans oupures. πn−1 ⇒-élim πn Γ ⊢ An−1 ⇒ An ⇒ B Γ ⊢ An−1 ⇒-élim Γ ⊢ An ⇒ B Γ ⊢ An ⇒-élim Γ⊢B Démonstration Par ré urren e sur la stru ture de Π. P ⇒ Q. en traduisant une preuve π′ π du al ul des séquents en une preuve π ′′ sans en dédu tion naturelle. la dernière règle de Π ne peut être ⇒-intro. Proposition Toute preuve sans oupure en dédu tion naturelle peut se traduire en une preuve sans oupures en al ul des séquents. par exemple la preuve P. P ⇒ Q ⊢ P ⇒ Q P. puis en traduisant ette preuve en une preuve en al ul des séquents π Pour ela il nous faut une tradu tion des preuves sans oupures de la dédu tion naturelle vers les preuves sans oupures du al ul des séquents.46 CHAPITRE 3. ⇒ An ⇒ B ⇒-élim . P ⇒ Q ⊢ Q Nous her hons don une autre tradu tion des preuves de la dédu tion naturelle vers le al ul des séquents. Nous donnons i i une telle tradu tion uniquement dans le as parti ulier. La tradu tion i-dessus ne vérie pas ette propriété. Π a la forme i-dessus et Π a don également la forme i-dessus. P ⇒ Q ⊢ P ⇒ Q P. don par hypothèse de ′ ré urren e... ou bien le déduire du théorème d'élimination des oupures pour la dédu tion naturelle.. Si la dernière règle est ⇒-élim alors la preuve Π a la forme π Π′ Γ⊢A⇒B Γ⊢A ⇒-élim Γ⊢B ′ Comme la preuve Π est sans oupures. Q ⊢ Q ⇒-gau he P. ou bien montrer e résultat dire tement. P ⇒ Q ⊢ Q se traduit en P ⊢P Q⊢Q P ⇒ Q ⊢ P ⇒ Q P.

. 47 TRADUCTIONS  si dernière règle est axiome ou ⇒-élim.. ⇒ An ⇒ B Γ ⊢ A1 ⇒-élim πn−1 . la règle de oupure est redondante en al ul des séquents... Pour en savoir plus sur la tradu tion des preuves sans oupures du al ul des séquents en des preuves sans oupures de la dédu tion naturelle voir [1. A1 ⇒ . An ⇒ B ⊢ B ⇒-gau he Γ.. πn′ .. ⇒ An ⇒ B ⊢ B ontra tion+permutations Γ⊢B ′ πn−1 Corollaire Pour le langage restreint à l'impli ation. ... Γ ⊢ An Γ. ⇒ An ⇒ B est don un élément de Γ. A2 ⇒ . B ⊢ B ⇒-gau he Γ ⊢ An−1 Γ.3. alors la preuve a la forme π1 Γ ⊢ A1 ⇒ .. An−1 ⇒ An ⇒ B ⊢ B ⇒-gau he π1′ . ⇒-gau he Γ ⊢ A1 Γ.. On onstruit la πn Γ ⊢ An ⇒-élim preuve suivante... 5℄...3. ⇒ An ⇒ B ⊢ B ⇒-gau he Γ. ⇒-élim Γ ⊢ An−1 ⇒ An ⇒ B Γ ⊢ An−1 ⇒-élim Γ ⊢ An ⇒ B Γ⊢B La proposition A1 ⇒ .

LE CALCUL DES SÉQUENTS .48 CHAPITRE 3.

[4℄ [5℄ H. [3℄ J. (1991). Gallier.Bibliographie [1℄ V. Introdu tion to metamathemati s. DEC-PRL Theoreti al Computer S ien e. P. 50 (1987) pp. Thèse de Do torat. J. Cambridge University Press (1989). Proofs and Types. Joinet. Lafont. Y. H. Séquents qu'on al ule. Cornell (1993). 4. Kleene.-Y. J.-Y. Herbelin. λ- al uli. Régnier (Ed. Lafont. Part 1 : A tutorial on proof systems and typed resear h report. J. Girard. pp. Taylor. 8. Workshop on Linear Logi . North-Holland (1952) [7℄ P. Girard. S hellinx. Danos. 1-102. L. 49 Journal of Symboli Logi . Constru tive logi s. Linear Logi . 49. 1284-1300. Y. [6℄ S. S hroeder-Heister. (1984) . LKQ and LKT : sequent al uli for se ond order logi based upon dual linear de ompositions of lassi al impli ation. Girard.-Y. [2℄ J. Université de Paris 7 (1995).-B. A natural extension of natural dedu tion.).

50 BIBLIOGRAPHIE .

Deuxième partie La théorie des types simples 51 .

.

et é rire α(S. le symbole on ne peut plus former la proposition 53 .. . eet. x) et (f x1 . . On doit don introduire un nouveau symbole de prédi at binaire ∈ et é rire ∈ (pair. on doit introduire des symboles ∈2 .. Si on veut également utiliser des relations.1 La théorie naïve des ensembles 4. mais es symboles ne sont pas eux-même des termes.. Pour exprimer de tels objets et de tels faits. 0) au lieu de S(0). Si. y) pour la proposition x = y . une fon tion asso ie à De même. on ne peut plus former le terme ar on ne peut pas appliquer un symbole d'individu à un terme. ∈3 . La théorie des ensembles et la théorie des types simples (aussi appelée théorie des types de Chur h ou logique d'ordre supérieur) sont de telles théories. On doit don introduire un nouveau symbole de fon tion binaire α pour l'appli ation. Si on veut onstruire un langage dans lequel les ensembles et les relations sont des objets. Bien entendu. Au lieu d'é rire αn (f.. pour les fon tions binaires.. xn ).(f x1 ). ternaires. Il n'y a pas de terme qui désigne la fon tion qui asso ie le nombre 3×x au nombre x ni de terme qui désigne l'ensemble des nombres pairs. et é rire par exemple ∈2 (=. x1 ). mais es symboles ne sont pas eux-même des termes... De même. Mais ela n'est pas absolument né essaire. x. mais il n'est pas lui-même un terme. xn )...1. Par exemple.Chapitre 4 La théorie des ensembles et la théorie des types simples En arithmétique. α3 . désormais.xn ). . . on doit transformer es symboles en symboles d'individu.. le symbole S permet de former le terme S(0).. pair(0)... Si désormais. ... xn l'objet f (x.. x1 . Si on veut onstruire un langage dans lequel les fon tions sont des objets..α(f. on doit pair est un symbole d'individu. le symbole S(0) S est un symbole d'individu. on note (f x) le terme α(f..1 Les fon tions et les ensembles Le langage de l'arithmétique omporte des symboles de fon tion qui expriment des fon tions des entiers dans les entiers et qui permettent de onstruire des termes. . transformer es symboles en symboles d'individu. On peut introduire également un symbole ∈0 . également noté ε qui permet de former la proposition ε(t) où t est un terme exprimant une relation sans arguments. xn ) on é rit don α(. le langage de l'arithmétique omporte des symboles de prédi at qui expriment des ensembles et des relations et qui permettent de former des propositions. 0) (ou en ore 0 ∈ pair) pour exprimer que 0 est un nombre pair. x2 .. Pour alléger les notations..... les termes désignent des nombres entiers.. xn ) le terme (. on doit se pla er dans une théorie plus vaste que l'artithmétique. en f de n arguments peut toujours se voir omme une fon tion à un argument unique qui x la fon tion qui asso ie à x2 .. il Il existe une fon tion bije tive des entiers dans l'ensemble des multiples de 3.. n'y a pas de proposition qui exprime le fait : 4. Si on veut utiliser des fon tions de plusieurs arguments on doit introduire également des symboles de fon tions α2 .

Ainsi. On peut aussi dénir un ensemble ou une relation omme sa fon tion ara té- f qui à x asso ie la (f x) telle que ε(f 0) soit vraie. On doit don enri hir le langage de manière à exprimer davantage de fon tions. on note l'ensemble {x | ∃y (x = 2 × y)}. Par exemple. I i en ore.2 L'expression de fon tions.1. est roissante 'est de la fon tion elle-même. l'ensemble des nombres pairs par la proposition ∃y (x = 2 × y). nous ne pouvons exprimer que les fon tions. quand on dit que alors que quand on dit que 3×x 3×x est multiple de 3. Informellement.. le résultat de la fon tion de la fon tion 'est du résultat de la fon tion dont on parle. on désigne une fon tion par un terme du premier ordre qui omporte une variable. d'ensembles et de relations Jusqu'i i. Par exemple.54 CHAPITRE 4. La proposition ε(b a). les ensembles et les relations données désignées par des symboles d'individu. on é rit f = (x 7→ 3 × x) puis (f 4) = 12 Z 1 3 f= 2 0 mais pas ((x 7→ 3 × x) 4) = 12 Z 1 3 (x 7→ 3 × x) = 2 0 Nous allons systèmatiser ette notation et é rire aussi bien (f 4) Z 1 f 0 que ((x 7→ 3 × x) 4) Z 1 (x 7→ 3 × x) 0 De même. on sent parfois le besoin de distinguer le résultat et la fon tion et on note la fon tion x 7→ 3 × x Pourtant on est habituellement réti ent à utiliser une telle notation ailleurs que dans une dénition. on exprime un ensemble ou une relation par une proposition qui ontient une ou des variables libres. d'ensembles et de relations.. Les notions de fon tion et d'ensemble sont redondantes : on peut dénir une fon tion omme un ensemble de ouples anté édent-image. l'ensemble des nombres pairs peut se dénir omme la fon tion relation sans argument a∈b s'é rit alors 4. . . LA THÉORIE DES ENSEMBLES ET LA THÉORIE DES TYPES SIMPLES il y a peu de diéren e entre le terme proposition ε(t) t ε(t). par exemple 3 × x. ε(f 2) soit vraie. même dans les mathématiques informelles. ε(f 1) soit fausse. Cette notation est ambiguë ar elle ne distingue pas elle-même. Cette ambiguïté est parfois partiellement levée dans des notations telles que ∂(2 × x + y) ∂x ou Z a b (2 × x + y)dx Néanmoins. ristique. pour lever l'ambiguïté entre ensemble et appartenan e d'un objet à l'ensemble. Ainsi. et la proposition mais le terme t exprime un objet alors que la exprime un fait.

..... on veut obtenir la proposition Quand on applique la fon tion De même. xn ← un ] 4.. t est l'ensemble de tous les objets . .. de même.. il existe tel qu'on puisse démontrer la proposition ε((f x1 .. 55 LA THÉORIE NAÏVE DES ENSEMBLES Nous étendons don le langage des termes... xn | P }..1.3 Un nombre ni de ombinateurs On peut démontrer qu'on peut se ontenter des symboles d'individu ((x z) (y z)) et des axiomes orrespondants K = x. un ) = t[x1 ← u1 . xn un symbole d'individu les variables libres sont parmi x1 .. l'ensemble {x | ∃y (x = 2 × y)} au nombre 7. un ) ⇔ P [x1 ← u1 . xn 7→ t appelé ombinateur. xn ← un ]) ε({x1 . en ajoutant pour haque terme parmi x1 . . y | ε(x) ⇒ ε(y)} ⇔ ˙ = {x.. t dont les variables sont et pour haque proposition dont x1 . xn et le symbole d'appli ation et le symbole d'appli ation α α.. xn | P } u1 . xn ) = t) On peut. xn un symbole d'individu {x1 . y | ε(x) ⇔ ε(y)} ¬˙ = {x | ¬ε(x)} ∀˙ = {x | ∀y ε(x y)} ∃˙ = {x | ∃y ε(x y)} et des axiomes orrespondants ε(∧˙ t u) ⇔ (ε(t) ∧ ε(u)) ε(∨˙ t u) ⇔ (ε(t) ∨ ε(u)) ε(⇒ ˙ t u) ⇔ (ε(t) ⇒ ε(u)) ε(⇔ ˙ t u) ⇔ (ε(t) ⇔ ε(u)) ε(¬˙ t) ⇔ ¬ε(t) ε(∀˙ t) ⇔ ∀x ε(t x) ε(∃˙ t) ⇔ ∃x ε(t x) Ces deux derniers axiomes indiquent que la proposition ε(∃˙ t) signie que t ε(∀˙ t) signie que est un ensemble qui ontient au moins un objet. y | ε(x) ∧ ε(y)} ∨˙ = {x... z 7→ ε(K x y = x) ε(S x y z = ((x z) (y z))) 'est-à-dire que pour tout terme un terme f t formé ave des variables formé ave les ombinateurs K et S x1 . . ...4... y 7→ x et S = x... xn 7→ t) u1 .. ... y.. on veut obtenir le terme (7 × 7) + 2. se ontenter des symboles d'individu ∧˙ = {x.1.. quand on applique ∃y (7 = 2 × y).. .. .. x 7→ ((x × x) + 2) au nombre 7. .... y | ε(x) ∨ ε(y)} ⇒ ˙ = {x. On pose don les axiomes de onversion : ε(((x1 .

.4 Les symboles et les axiomes d'existen e Dans la dénition d'une théorie. 4.1. xn ) = t) De même. En revan he. puis la fon tion ((x..... ∀xn ε((f x1 . omme on ne peut pas abstraire la variable x dans ette expression.. y 7→ x × y .. ∀xn (ε(E x1 . Dans et exemple. e qui donne f.. il n'est pas évident d'exprimer la théorie des groupes en supprimant le symbole +. . on peut dénir la théorie des groupes en donnant un symbole de fon tion un symbole d'individu e pour l'élément neutre et un symbole de fon tion I d'arité 1 + d'arité 2 pour la loi.. yp 7→ u.. . xn ) ⇔ P ) Ainsi on ne dispose plus de la notation (ou a un axiome {x | ∃y (x = 2 × y)}) pour l'ensemble des entiers pairs. y 7→ x × y . t formé ave des variables et le symboles d'appli- t ontient lui-même un symbole x1 .. xn 7→ t. Enn.. on doit d'abord former la fon tion x. Par exemple. y 7→ x × y) Le fait de ne pas pouvoir toujours abstraire une variable dans un terme onduit à des onstru tions parfois un peu alambiquées.. LA THÉORIE DES ENSEMBLES ET LA THÉORIE DES TYPES SIMPLES 4. y 7→ x × y) x)). la transformation inverse n'est pas toujours évidente. Une formulation alternative onsiste à ne pas donner de notation pour les fon tions et les ensembles et à donner des axiomes axiomes de ompréhension).56 CHAPITRE 4. x1 . si le terme on n'a pas de symbole d'individu (f. nous avons donné une formulation expli ite de la théorie des naïve des ensembles.1. ou bien on donne des axiomes exprimant l'existen e d'objets qui vérient es propriétés. Pour haque terme t du langage on donne un axiome d'existen e ( ∃f ∀x1 . on doit abstraire f et x dans l'expression (D (f x)). Ainsi. Cela amène à vouloir généraliser le langage des ombinateurs de manière à systématiser e prin ipe d'abstra tion. y 7→ x × y) x) dont on peut ensuite prendre la dérivée (D ((x.. x 7→ (D (f x))) (x. pour haque terme α.. . pour l'opposé et donner les axiomes suivants : ∀x ∀y ∀z (x + (y + z)) = ((x + y) + z) ∀x ((x + e) = x ∧ (e + x) = x) ∀x ((x + (I x)) = e ∧ ((I x) + x) = e) Ou bien on peut se donner uniquement le symbole de fon tion + et les axiomes ∀x ∀y ∀z (x + (y + z)) = ((x + y) + z) ∃e (∀x ((x + e) = x ∧ (e + x) = x) ∧ ∀x ∃y ((x + y) = e ∧ (y + x) = e)) Quand une théorie est exprimée par des axiomes d'existen e. Au bout du ompte on obtient le terme ation on a un symbole d'individu d'individu de la forme y1 .5 Le λ- al ul Dans le langage des ombinateurs... Ci-dessus. . si on veut exprimer la fon tion qui à x asso ie la dérivée de la fon tion qui à y asso ie x × y . pour haque proposition P on donne un axiome ∃E ∀x1 . il y a toujours une alternative : ou bien on donne une notation expli ite pour les objets de la théorie et des axiomes qui expriment leur propriétés. mais on ∃E ∀x (ε(E x) ⇔ ∃y (x = 2 × y)) Quand on skolemise ette théorie on retombe sur le langage des ombinateurs. En revan he. xn 7→ t. puisque nous avons donné une notation pour les objets puis des axiomes exprimant leurs propriétés. il est toujours possible de la reformuler en expli itant son langage (par skolémisation). Le langage ainsi obtenu s'appelle le λ- al ul. x 7→ (D (f x)) et appliquer e terme à la fon tion x.

∨˙ . Par la suite. ont montré que e paradoxe pouvait également s'exprimer dans un système de Chur h basé sur le ¬˙ ¬˙ A. le premier paradoxe a été dé ouvert en 1897 par Burali-Forti. selon laquelle si note en général e terme plus volontiers λx t.⇔ ˙ .1. exprimer les ensembles et les relations par des termes du ˙. pour haque terme est un terme alors x 7→ t on ajoute une est également un terme. En parti ulier. Plus généralement non normalisable trouvé dans le u = (λx (t (x x)) λx (t (x x))) se réduit sur (t u) obtenu en prenant et est don un point xe de t = λx x. puis Curry. R = {x | ¬x ∈ x}) l'ensemble des ensembles R s'appartient si et seulement si il ne s'appartient pas. tous es langages sont ontra- di toires.. 57 LA THÉORIE NAÏVE DES ENSEMBLES En λ- al ul. il a ensuite été simplié par Russell en 1902. l'ensemble ∧˙ . e qui est ontradi toire.4. omme la variable x t libre dans est liée dans λx t.1. t. la λ- al ul begris hrift de Frege (1879). ⇒ ˙ (premier x) (pair x)). est le premier exemple de terme si t est un terme quel onque le terme λ- al ul pur. de même. ε(((λx t) u) = t[x ← u]) 4. sont de même rempla és par l'axiome de β - onversion.1. Malheureusement.6 L'extensionnalité Outre les axiomes habituels de l'égalité ∀x (x = x) ∀x ∀y ((x = y) ⇒ (P [z ← x] ⇒ P [z ← y])) il faut poser des axiomes qui permettent de démontrer l'égalité de deux fon tions ou de deux ensembles : les axiomes d'extensionnalité. On Utiliser un tel mé anisme d'abstra tion donne un langage plus souple mais plus omplexe. ∀f ∀g (∀x ε((f x) = (g x))) ⇒ ε(f = g) ∀E ∀F (ε(E) ⇔ ε(F )) ⇒ ε(E = F ) 4. De et axiome on peut déduire ¬ A don A don ⊥. Rosser et Kleene. On peut. Une ontradi tion est donnée par le paradoxe de Russell. . Soit R = λx ¬˙ (x x) (que l'on peut également noter qui ne se s'appartiennent pas eux-mêmes. . Plus pré isément la proposition l'ensemble R s'appartient s'é rit A = ε(R R) = ε(λx ¬˙ (x x) λx ¬˙ (x x)). ¬˙ .. Par exemple.. Par dénition l'ensemble Historiquement. On peut don démontrer A ⇔ ¬ A (L'ensemble R s'appartient si et seulement si il ne s'appartient pas). est On retombe ainsi sur le terme (λx (x x) λx (x x)). Un point xe de l'identité. Cette proposition est équivalente à ε(¬˙ (λx ¬˙ (x x) λx ¬˙ (x x))) qui est équivalente à ¬ε((λx ¬ ˙ (x x) λx ¬˙ (x x))) 'est-à-dire à ¬A.. le système de Chur h basé sur le pur (1932) peuvent être onsidérés omme tels). .. Le terme A qui se réduit sur ¬˙ A puis sur λ- al ul pur. t x1 . on quitte la logique du premier ordre (où il n'est pas possible de lier une variable dans un terme) et la substitution dans les termes doit prendre garde à éviter les aptures. s'exprimer par le terme λx (∧ onstantes les symboles pairs peut alors λ- al ul en ajoutant omme des nombres à la fois premiers et Les axiomes de onversion des ombinateurs. xn 7→ t t.7 Le paradoxe de Russell De nombreux systèmes voisins de ette théorie ont été proposée dans l'histoire des mathématiques (la théorie des ensembles de Cantor (1872). au lieu d'ajouter un symbole d'individu règle de onstru tions des termes. qui se réduit sur lui-même. ∀˙ et ∃˙ .

58

CHAPITRE 4.

LA THÉORIE DES ENSEMBLES ET LA THÉORIE DES TYPES SIMPLES

4.1.8 La théorie des ensembles et la théorie des types simples
En théorie naïve des ensemble 
tout prédi at est un objet, 
tout prédi at peut s'appliquer à tout objet.
La onjon tion de es deux phénomènes permet de onstruire une proposition ontradi toire : le paradoxe
de Russell. Pour éviter e paradoxe deux voies sont possibles : abandonner le premier prin ipe ou abandonner
le se ond. Ces deux voies mènent à deux langages diérents : la théorie des ensembles et la théorie des types.

4.2 La théorie des ensembles
4.2.1 La formation des termes
L'idée de la théorie des ensembles de Zermelo (1908) (et de sa variante la théorie des ensembles de
Zermelo-Fraenkel) est d'abandonner le prin ipe selon lequel tout prédi at est un objet. Quand P est une
proposition, il n'est pas toujours possible de former l'ensemble

{x | P }.

Autrement dit, il n'est pas toujours

possible de former un ensemble en ompréhension 'est-à-dire en donnant une propriété ara téristique de
ses éléments. On ne peut former un tel ensemble que dans les as parti uliers suivants.

A et B sont des termes alors on peut former le terme {x | x = A ∨ x = B} appelé la paire A, B .
A est un terme alors on peut former le terme {x | ∃y (y ∈ A ∧ x ∈ y)} appelé l'union des éléments
de A. 
Si A est un terme alors on peut former le terme {x | ∀y (y ∈ x ⇒ y ∈ A)} appelé l'ensemble des parties
de A. 
Si A est un terme et P une proposition, alors on peut former le terme {x | x ∈ A ∧ P } appelé le
sous-ensemble de A des éléments qui vérient P .
Ainsi le terme {x | ¬ x ∈ x} n'est pas bien formé. 
Si 

Si

La question de savoir si un ensemble appartient à un autre ensemble est en revan he toujours pertinente.

Par exemple l'ensemble vide ne s'appartient pas ar on peut démontrer la proposition

¬({x | x ∈ A ∧ ⊥} ∈ {x | x ∈ A ∧ ⊥})
ar ette proposition est équivalente à

¬({x | x ∈ A ∧ ⊥} ∈ A ∧ ⊥)

qui est démontrable.

4.2.2 La restri tion du s héma de ompréhension
Dans le as où on ne donne pas de notation expli ite pour les ensembles, mais des axiomes d'existen e,
on obtient une formulation alternative qui omprend les axiomes suivants.
Axiome de la paire :

∀A ∀B ∃C ∀x (x ∈ C ⇔ (x = A ∨ x = B))
Axiome de la réunion :

∀A ∃C ∀x (x ∈ C ⇔ ∃y (y ∈ A ∧ x ∈ y))
Axiome des parties :

∀A ∃C ∀x (x ∈ C ⇔ ∀y (y ∈ x ⇒ x ∈ A))
S héma du sous-ensemble (ou de ompréhension restreint) :

∀y1 ... ∀yn ∀A ∃C ∀x (x ∈ C ⇔ (x ∈ A ∧ P ))

y1 , ..., yn

sont les variables libres de

P

distin tes de

x.

4.3.

59

LA THÉORIE DES TYPES SIMPLES

4.2.3 Un peu de mathématiques
Les fon tions
Nous nous sommes on entrés sur la onstru tion des ensembles négligeant la onstru tion des fon tions.
Cela est du au fait que, traditionnellement, en théorie des ensembles, on ode les fon tions omme des
relations, 'est-à-dire des ensembles de ouples. Il n'y a don pas de termes de fon tion à proprement parler,
ni de s héma de ompréhension pour les fon tions.
Mais,

a priori, rien n'interdit de on evoir une théorie similaire dans laquelle les fon tions également sont

des objets primitifs.

Les entiers
Traditionnellement, en théorie des ensembles, il n'y a qu'un seul objet de base (l'ensemble vide). Les
entiers ne sont don pas des objets de base et il faut les onstruire. Une possibilité est de se donner un
axiome d'existen e d'un ensemble

B

inni, et de onstruire les entiers omme les ardinaux nis de

'est-à-dire omme des objets de l'ensemble des parties de l'ensemble des parties de

B,

B.

n soit l'ensemble des entiers
0 = ∅, 1 = {∅}, 2 = {∅, {∅}}, ... En

Une autre possibilité est de onstruire les entiers de façon à e que l'entier
stri tement inférieur à

n.

On peut montrer ainsi l'existen e de l'objet

revan he, il est né essaire de poser un axiome d'existen e de l'ensemble des entiers.

De manière générale, il est toujours né essaire de poser l'existen e d'un ensemble inni (qu'il s'agisse
d'un ensemble inni

B

quel onque ou de l'ensemble des entiers) ar en l'absen e d'un tel axiome, il y a des

modèles de la théorie des ensembles dans lesquels tout ensemble est ni.

4.3 La théorie des types simples
L'idée de la

théorie des types

de Whitehead et Russell (1910) (puis simpliée par Ramsey, Chwistek et

Chur h) est d'abandonner le prin ipe selon lequel tout prédi at ou toute fon tion peut s'appliquer à tout
objet, on distingue alors les objets selon leur degré de fon tionnalité : les objets de base, les relations sans
arguments, les fon tions des objets de base dans les objets de base, ... La théorie des types simples est don
une théorie multisortée.

4.3.1 Les types simples
Les sortes de la théorie des types simples sont en nombre inni. Elles s'appellent des

types simples.

Dénition L'ensemble des types simples est indu tivement déni par 

ι 

si

et

A

o

sont des types simples,

et

Le type

ι

B

sont des types simples , alors

est elui des objets de base,

asso iant un objet de type

B

o

A→B

est un type simple.

elui des relations sans arguments,

A.
A1 → A2 → ... → An → B

à tout objet de type

Pour alléger les notations, on é rit

le type

S:ι→ι

+:ι→ι→ι

×:ι→ι→ι
L'égalité entre objets de type

ι

reçoit le type

=: ι → ι → o

elui des fon tions

(A1 → (A2 ... → (An → B)...)).

Par exemple, on donne les types suivants aux symboles de l'arithmétique.

0:ι

A→B

60

CHAPITRE 4.

LA THÉORIE DES ENSEMBLES ET LA THÉORIE DES TYPES SIMPLES

Mais, pour haque type, on doit aussi introduire un symbole permettant d'exprimer l'égalité des objets de
e type

=A : A → A → o
On donne le type suivant aux symboles de onne teurs permettant de onstruire les relation sans arguments.

∧˙ : o → o → o
∨˙ : o → o → o

˙ :o→o→o

˙ :o→o→o
¬˙ : o → o
Ainsi si

P

et

Q

sont deux termes de type

o

(deux relations sans arguments) le terme

Les symboles permettant de quantier sur les objets de type

ι

reçoivent le type

(∧˙ P Q)

aussi.

∀˙ : (ι → o) → o
∃˙ : (ι → o) → o
Mais, pour haque type, on doit aussi introduire des symboles permettant de quantier surles objets de e
type

∀˙ A : (A → o) → o
∃˙ A : (A → o) → o

La possibilité de former un terme de type
type

A

telle que

o

ait une o urren e dans

o)

o

en quantiant sur une variable de type

o

(ou une variable de

permet de former des propositions exprimant qu'une propriété

s'applique à une lasse d'objets omprenant ette proposition elle-même. Par exemple, la proposition

ε(∀˙ o p (p⇒p))
˙
exprime le fait que toute proposition s'implique elle-même. En parti ulier, elle exprime le fait qu'elle s'implique elle-même. Un formalisme logique permettant l'expression d'une telle proposition partiellement autoréférente est dit

imprédi atif.

4.3.2 La théorie des types présentée ave des ombinateurs
La théorie des types présentée ave des ombinateurs est don une théorie du premier ordre multisortée
dont les sortes sont les types simples. Son langage omprend les symboles suivants.
Le symbole de prédi at : 

ε

de rang

(o).

Les symboles de fon tion : 

αT,U

de rang

(T → U, T, U ).

Les symboles d'individu :         

KT,U : T → U → T ,
ST,U,V : (T → U → V ) → (T → U ) → T → V ,
=A : A → A → o,
∧˙ : o → o → o,
∨˙ : o → o → o,

˙ : o → o → o,

˙ : o → o → o,
¬˙ : o → o,
∀˙ A : (A → o) → o,

et les onstantes =A : A → A → o. ˙ : o → o → o. U . T → U et u un terme de type T .3. plus souple d'utilisation. Dans e as. mais qui sort du adre de la logique du premier ordre utilise le λ- al ul à la pla e des ombinateurs. alors (t u) est un terme de type U . Les axiomes sont les suivants. ∧˙ : o → o → o.  ∨  ⇒ ˙ : o → o → o.  les variables et les onstantes de type  si  si t t est un terme de type est un terme de type Les propositions sont formées omme en logique du premier ordre multisortée ave le symbole de prédi at ε de rang (o).4. Les axiomes sont les mêmes que dans le as ave les ombinateurs. sauf les axiomes de onversion des ombinateurs qui est rempla é par ε(((λx : T t) u) = t[x ← u]) .  61 LA THÉORIE DES TYPES SIMPLES ∃˙ A : (A → o) → o. on onsidère un ensemble inni de variables de haque type. Dénition L'ensemble des termes est indu tivement déni par T sont des termes de type T .  ∃ Les termes sont des λ-termes   simplement typés. Égalité : ε(∀˙ A x (x =A x) ε(∀˙ A x ∀˙ A y ((x =A y) ⇒ (P [z ← x] ⇔ P [z ← y]))) Extensionnalité : ε(∀˙ A→B f ∀˙ A→B g (∀˙ A x (f x) =B (g x)) ⇒ f =A→B g) ε(∀˙ o E ∀˙ o F (E ⇔ F ) ⇒ E =o F ) Conversion : ε((K x y) = x) ε((S x y z) = ((x z) (y z))) ε(∧˙ t u) ⇔ (ε(t) ∧ ε(u)) ε(∨˙ t u) ⇔ (ε(t) ∨ ε(u)) ε(⇒ ˙ t u) ⇔ (ε(t) ⇒ ε(u)) ε(⇔ ˙ t u) ⇔ (ε(t) ⇔ ε(u)) ε(¬˙ t) ⇔ ¬ε(t) ε(∀˙ t) ⇔ ∀x ε(t x) ε(∃˙ t) ⇔ ∃x ε(t x) 4. ˙ : o → o → o.3. ˙ A : (A → o) → o. x une variable de type T alors λx : T t est un terme de type T → U .  ⇔  ¬ ˙ : o → o.3 La théorie des types présentée ave le λ- al ul Une alternative.  ∀ ˙ A : (A → o) → o. On les dénit ainsi.

3. Par exemple. 4. Dans e as. Il est raisonnable d'éliminer es arguments de onvertibilité des démonstrations en identiant les propositions P et Q. 4. e système de réé riture onue et normalise et haque proposition a don une forme normale unique.3. ertaines présentations abandonnent la notion de proposition pour dénir dire tement les règles de dédu tion sur les relations sans arguments. ∧ = λA : oλB : o ∀C : o ((A ⇒ B ⇒ C) ⇒ C) ∨ = λA : oλB : o ∀C : o ((A ⇒ C) ⇒ (B ⇒ C) ⇒ C) ⊥ = ∀C : o C ¬ = λA : o (A ⇒ ⊥) ∃T = λP : T → o ∀C : o ((∀x ((P x) ⇒ C)) ⇒ C) . On montrera qu'il onue et normalise et don que haque proposition a une forme normale unique. Dans ette théorie. on appelle propositions les relations sans arguments et on oublie les points sur les onne teurs et les quanti ateurs.62 CHAPITRE 4. autrement dit de dénir la théorie des types omme une théorie modulo. identiques puisque elle de Q et On ommen e par utiliser P et elle omporte deux étapes de plus.5 L'égalité et la onversion Dans le système présenté i-dessus. P = Q. bien souvent. (λx : ι x 0) =ι 0. Q. propositions : toute proposition peut s'é rire sous la forme peut s'é rire ε(∀˙ λx : ι (x = x)). Cela amène β -rédu tion ((λx : T t) u)  t[x ← u] Le hapitre suivant est onsa ré à l'étude de e système de réé riture. on Ce qui permet de on lure. Par exemple on donne la règle Γ ⊢ (∧˙ A B) Γ⊢A On se débarrasse ainsi du symbole ε.4 Les relations sans arguments et les propositions En théorie des types simples il y a une orrespondan e parfaite entre les relations sans arguments et les ε(t). si que l'on a une démonstration de P P est la proposition 0 =ι 0 l'axiome de onvertibilité pour obtenir une démonstration de obtient une démonstration de de Q et Q la proposition on peut onstruire une démonstration de P = Q ⇒ P ⇒ Q. On veut également hoisir P omme représentant anonique de la lasse ontenant à orienter l'axiome de onversion en une règle de réé riture : la P et Q. les autres onne teurs et quanti ateurs de la logique intuitionniste La théorie des types minimale est la théorie obtenue en restreignant la théorie des types au onne teur et au quanti ateur peuvent être dénis. Puis ave les axiomes de l'égalité. on peut orienter les équivalen es ε(∧˙ x y) ⇔ (ε(x) ∧ ε(y)) en des règles de réé ritures ε(∧˙ x y)  (ε(x) ∧ ε(y)) I i en ore. la proposition ∀x ε(x = x) De e fait. LA THÉORIE DES ENSEMBLES ET LA THÉORIE DES TYPES SIMPLES 4. De même. La démonstration de ne sont pas.6 Un peu de mathématiques Les onne teurs et les quanti ateurs ⇒ ∀.3. au sens stri t.

Γ. S : ι → ι ι omme le type des entiers. mais que e type peut également ι est inni. N et los par est S.3. A. =T = λa : T λb : T λp : T → o ((p a) ⇒ (p b)) On peut alors démontrer les deux axiomes de l'égalité : ∀x (x = x) ∀x ∀y (x = y ⇒ (∀A ((A x) ⇒ (A y)))) Les entiers Les entiers de Peano En théorie des types les entiers peuvent être dénis omme des objets de base. ι dans ι. 'est-à-dire omme l'interse tion de tous les ensembles qui ontiennent alors l'ensemble des objets n de type ι 0 0 et qui est los par et qui sont los par qui appartiennent à tous les ensembles X ontenant 0 S. si Γ ⊢ ∀C ((A ⇒ B ⇒ C) ⇒ C) 'est-à-dire de π est une démonstration de on peut onstruire une démonstration de π Γ ⊢ ∀C ((A ⇒ B ⇒ C) ⇒ C) Γ ⊢ (A ⇒ B ⇒ A) ⇒ A Γ⊢A Γ⊢A A ∧ B. Par exemple. ∀E (((E 0) ∧ (∀x ((E x) ⇒ (E (S x))))) ⇒ ∀n ((N n) ⇒ (E n))) En eet. 63 LA THÉORIE DES TYPES SIMPLES Les règles de dédu tion sur es onne teurs et quanti ateurs peuvent alors se déduire des règles des règles sur l'impli ation et le quanti ateur universel. N = λn : ι (∀X ((X 0) ∧ ∀x ((X x) ⇒ (X (S x)))) ⇒ (X n)) On peut alors démontrer le prin ipe de ré urren e. et 0 un élément de ι qui 0 : ι. ((E 0) ∧ ∀y ((E y) ⇒ (E (S y)))) ⇒ (E n) et un objet n qui vérie . On appelle On se donne don des symboles ∀x ∀y ((S x) = (S y) ⇒ x = y) ∀x ¬(0 = (S x)) puis on dénit ensuite l'ensemble des entiers omme le plus petit ensemble qui ontient S. donnons nous un ensemble (N n). On a (N n) 'est-à-dire E qui vérie (E 0) ∧ ∀x ((E x) ⇒ (E (S x))) ∀X (((X 0) ∧ ∀y ((X y) ⇒ (X (S y)))) ⇒ (X n)) on en déduit et don (E n). Une première possibilité onsiste à onsidérer le type 0 : ι. S : ι → ι et les axiomes ontenir d'autres objets. 'est-à-dire S ette inje tion. ∀x ∀y ((S x) = (S y) ⇒ x = y) ∀x ¬(0 = (S x)) ∀E (((E 0) ∧ (∀x ((E x) ⇒ (E (S x))))) ⇒ ∀n (E n)) Une se onde possibilité onsiste à poser que les entiers sont de type ι. B ⊢ A Γ⊢A⇒B⇒A L'égalité L'égalité également peut se dénir en théorie des types.4. On ommen e par poser des axiomes exprimant que le type qu'il existe une inje tion non surje tive de n'est pas dans l'image de S. on se donne des symboles et on ajoute les axiomes de Peano aux axiomes i-dessus.

reste un axiome. De manière générale. Le prin ipe de ré urren e. omme i-dessus. Les entiers de Cantor LA THÉORIE DES ENSEMBLES ET LA THÉORIE DES TYPES SIMPLES Il est également possible de poser un axiome d'innité des objets de type ι et de onstruire les entiers omme des ardinaux nis. il est également né essaire de poser ι pour démontrer que 0 n'est pas un su esseur et que la l'existen e d'un ensemble inni d'objets de type fon tion su esseur est inje tive. Les entiers de Chur h Il est enn possible de dénir les entiers omme des itérateurs (entiers de Chur h). On ommen e par dénir la relation d'équipoten e sur les ensembles d'objets de bases (type (de type (ι → o) → o) ι → o).64 CHAPITRE 4. Dans e as. quant à lui. 'est-à-dire omme des objets de type ι → (ι → ι) → ι. et on prouve les propositions ∀x ∀y ((S x) = (S y) ⇒ x = y) ∀x ¬(0 = (S x)) On dénit ensuite l'ensemble des entiers omme le plus petit ensemble ontenant 0 et los par S et on démontre l'axiome de ré urren e. il est toujours né essaire de poser un axiome d'innité ar en l'absen e d'un tel axiome il y a des modèles de la théorie des types dans lesquels tout ensemble est ni. . on dénit ensuite les ardinaux omme les lasses d'équivalen e de ette relation. On dénit le ardinal 0 et la fon tion su esseur.

An Introdu tion to Mathemati al Logi and Type Theory : To Truth Through Proof. Rapport de Re her he 2565. Paris (1969). Presses Universitaires de Fran e. Théorie Axiomatique des Ensembles.Bibliographie [1℄ P. Andrews. ombinators and the omprehension s heme. INRIA (1995). [2℄ G. A ademi Press. Typed Lambda Cal uli and Appli ations (1995) pp. Orlando (1986). Dowek. 154-170. Krivine. Lambda- al ulus.L.B. [3℄ 65 . J.

66 BIBLIOGRAPHIE .

 si A et B (A → B) est un type. t un terme et A un type. telle que haque variable apparaisse au plus une fois dans ette liste. Notation Soit Γ un ontexte. t. (S S). t. u.. alors est un terme.. x. A) bien typés est déni indu tivement par  si  si  si Γ est un ontexte et (x. (Γ. Dénition L'ensemble des termes est indu tivement déni par  les variables sont des termes. A) est bien typé... A → B) est bien typé. Les termes Proposition Soit Γ un ontexte et t un terme. é rit (t u1 . A le type de t dans Γ.. Un ontexte est une liste de variables typées. A) sont bien typés alors (Γ. A → B) et (Γ.Chapitre 5 Le lambda- al ul simplement typé 5. Soit Γ un ontexte et t un terme. A) où x est une variable et A un type.. A) est bien typé. → An → B Démonstration Par ré urren e sur la stru ture des types. sont des termes. un ). A) ∈ Γ alors (Γ. x une variable et Pour alléger les notations. on dit que t a le type A dans Γ. les termes (S 0). on Dans e hapitre au lieu de onsidérer un ensemble inni de variables pour haque sorte. bien typés. t un terme et A un type. t... Dénition L'ensemble des types simples est indu tivement déni par  les types de base sont des types. est don 67 . λx : A t. alors Pour alléger les notations. Exemple Soit le ontexte (S 0 0). et on é rit Γ ⊢ t : A. A un type. Dénition Soit Γ un ontexte.. → An → B sont des types. L'ensemble des triplets (Γ. λf : ι → ι (f 0) sont et (λx : ι (x x) λx : ι (x x)) ne sont pas bien typés. Si Γ ⊢ t : A.. il existe au plus un type A tel que Γ ⊢ t : A. → (An → B). (S λx : ι x) 0 : ι.)). où le type B (A1 → (A2 . t.((t u1 ) u2 ) . é rit A1 → A2 → . B) est bien typé. un ) le terme (. Si le triplet (Γ. (t u).1 Le λ- al ul simplement typé On se donne un ensemble de types de base.. B) est bien typé alors (Γ.. S : ι → ι. on Proposition Tout type a la forme A1 → A2 → . s'il existe un type A tel que Γ ⊢ t : A le terme t est dit bien typé dans Γ. o} et on dénit ainsi l'ensemble des types. Dénition Une variable typée est un ouple (x. alors λx : A t est un terme. on onsidère un unique ensemble de variables et on indique le type des variables d'un terme dans un ontexte.. (Γ[x : A].  si  si t t et u (t u) est un terme.. est un type de base. par exemple {ι.

Dénition Un β -radi al est un terme de la forme ((λx : A t) u). l'équivalen e 5. les termes. ((λx : A t) u) par le terme t[x ← u] est . Soit t et par le terme 5. ne distingue pas deux termes 5. de des ription des types d'un terme par un type prin ipal).  si t = (u v) alors t[x ← a] = (u[x ← a] v[x ← a]). 5.  si t = λy : A u et y 6= x alors t[x ← a] = λy : A u[x ← a]. Ainsi les termes du t dans Γ. Dans ette dernière règle il faut que y n'apparaisse pas dans a. Dans le reste de e hapitre tous les termes onsidérés sont supposés bien typés. On note t[x ← a] le terme obtenu en substituant la variable x a dans t. 'est-à-dire modulo le rempla ement des sous-termes de la forme appelée β -équivalen e. t est λ- al ul et qui si La présentation du typable.3 La β -rédu tion.2.2 La substitution a deux termes et x une variable.1 L'α-équivalen e Dénition Deux termes sont dits α-équivalents s'ils ne dièrent que par renommage des variables liées λx : ι x et λy : ι y sont α-équivalents.2. 'est-à-dire le terme déni par ré urren e sur la stru ture de t par  si t est la variable x alors t[x ← a] = a. retourne le type de Une présentation alternative. présentation de onsiste à ne pas noter les types de variables liées dans de Curry sont des termes purs. et un terme typable n'a plus un type unique (mais il y a un résultat plus faible. En λ- al ul on raisonne toujours modulo α-équivalen e.2. Par exemple les termes les termes la premier. que l'on raisonne sur les lasses d'α-équivalen e). que nous avons adoptée est traditionnellement appelée λ- al ul de Curry. LE LAMBDA-CALCUL SIMPLEMENT TYPÉ Proposition Il existe un algorithme qui prend en argument un ontexte Γ et un terme t et qui dé ide si t est typable dans Γ Chur h.  si t est une variable y distin te de x alors t[x ← a] = y . Si 'est le as. il est né essaire de renommer la variable y dans t ave une nouvelle variable.  si t = λx : A u alors t[x ← a] = t. En revan he λx : ι λy : ι (f x y) et λx : ι λx : ι (f x x) ne sont pas α-équivalents puisque le renommage de variable y en x introduit la apture de l'o urren e de x qui réfère maintenant au se ond λ et plus au n'introduisant pas de aptures.2 La rédu tion.68 CHAPITRE 5. la β -équivalen e L'équivalen e de deux termes modulo le rempla ement des arguments formels par les arguments réels. 'est-à-dire qu'on α-équivalents (ou en ore. Par exemple dans la présentation de Chur h on a ⊢ λx : ι x : ι → ι ⊢ λx : (ι → ι) x : (ι → ι) → (ι → ι) alors que dans la présentation de Curry on a ⊢ λx x : ι → ι ⊢ λx x : (ι → ι) → (ι → ι) Dans la présentation de Curry la dé idabilité de la typabilité est un peu plus di ile à établir.

4 La βη -rédu tion. λx : A (t x) βη t si x n'apparaît pas dans t.  si t βη u alors (v t) βη (v u). ∗ On dénit de même les relations βη et ≡βη   omme les fermetures reexive-transitive et reexive- symétrique-transitive de ette relation.  si t  u alors (v t)  (v u). Dénition On note également t η u (t se η-réduit sur une étape en u) la plus petite relation telle que  λx : A (t x) η t si x n'apparaît pas t η u alors (t v) η (u v). t  u alors (t v)  (u v). La relation reexive-symétrique-transitive de la relation     5.5. si t η u alors λx : A t η λx : A u. la βη -équivalen e Outre le rempla ement des arguments formels par les arguments réels. ∗  t  t. il .  si   Proposition (Préservation du type) Si Γ ⊢ t : T and t  t′ then Γ ⊢ t′ : T 5. ∗ La relation t  u (t se β -réduit sur u)   si . si t ≡ u et u ≡ v alors t ≡ v .  si t  u alors λx : A t  λx : A u. une autre transformation omparable des termes peut être in orporée à l'équivalen e. Cette transformation permet par exemple d'identier les termes Dénition Un η-radi al est un terme de la forme λx : A (t x). où la variable x n'apparaît pas dans le terme t.3.  si t βη u alors λx : A t βη λx : A u.2.3 La onuen e Dénition Un λ- al ul est dit onuent si haque fois qu'un terme t se réduit sur deux termes u1 existe un terme v. 'est-à-dire omme la plus petite relation telle que si t  u alors t ≡ u. λx : A (t x) en t quand x S et λx : ι (S x).  si t βη u alors (t v) βη (u v). ∗ ∗ ∗  si t  u et u  v alors t  v . et u2 . t ≡ t. dans t. 69 LA CONFLUENCE Dénition La relation entre termes t  u (t se β -réduit sur une étape en u) est la plus petite relation telle que ((λx : A t) u)  t[x ← u]. t ≡ u (t est β -équivalent à u) est dénie omme la fermeture . si t η u alors (v t) η (v u). C'est la transformation de n'apparaît pas dans t. Dénition La relation entre termes t βη u (t se βη -réduit sur une étape en u) est la plus petite relation telle que ((λx : A t) u) βη t[x ← u]. si t ≡ u alors u ≡ t. est dénie omme la fermeture reexive-transitive de la relation 'est-à-dire omme la plus petite relation telle que ∗  si t  u alors t  u. tel que u1 et u2 se réduisent sur v.

. 5.. Dénition Un terme est dit fortement normalisable si toute suite de rédu tions issue de t est nie. 'est-à-dire que. on arrive après un nombre ni d'étapes à un terme normal qui ne peut plus être réduit.. 'est don a la forme une une variable. la terminaison de e pro essus n'est pas absolument évidente. t1 . Soit n le plus grand entier tel que (Φ t) soit déni. n'est pas onuente sur tous En onuen e du (bien les termes. si p = 0 par e que t n'est pas une abstra tion). Le terme t est don faiblement normalisable. Démonstration Le terme t a la forme λx1 : A1 . L'obje tif de ette se tion est de montrer que e pro essus termine. la onuen e de la rédu tion est don onséquen e de la onuen e de es relations dans le et de le βη - préservation du type. Dénition Un terme t est dit faiblement normalisable s'il existe un terme normal u tel que t ∗ u. 5.. Exemple (Nederpelt) Le terme λx : A (λy : B n'existe pas de terme u tel que λx : A x ∗βη u y x) se β -réduit en λx : A x λy : B y ∗βη u. Dénition Une suite de rédu tions issue d'un terme t est une suite (nie ou innie) t0 ...3. de termes telle que t0 = t et pour tout i tel que ti et ti+1 soient dénis.4 La normalisation Quand un terme ontient un β -radi al ((λx : T t) u). Le terme t′ (t′′ u1 . La suite Proposition Dans le λ- al ul pur il existe un terme faiblement mais non fortement normalisable. En revan he. un radi al de t est un sous-terme de t qui est un radi al. les démonstrations de onuen e doivent être adaptées. λxn : An t′ où t′ n'est pas une abstra tion.3. Un terme sans radi al est dit normal. Le terme t′′ n'est pas une appli ation.1 Les suites de rédu tions Dénition Soit t un terme.. on peut toujours rempla er e terme par t[x ← u] et éliminer e radi al. Le terme (Φ t) est ∗ n normal et t  (Φ t)... 5. La démonstration de λ- al ul pur s'adapte fa ilement pour le β -rédu tion qui est onuente sur tous les termes typés ou non) du λ- al ul simplement typé. En revan he la βη -rédu tion.4.70 CHAPITRE 5. up ) où t′′ n'est pas une appli ation..1 La onuen e en λ- al ul selon Curry En λ- al ul β -rédu tion λ- al ul pur [5℄ et de la selon Curry les termes sont des termes purs. et se η -réduit en λy : B y et il et Il faut adapter la démonstration de onuen e du λ- al ul pur en onsidérant uniquement les termes bien typés [2℄. . up ) où x est une variable. LE LAMBDA-CALCUL SIMPLEMENT TYPÉ 5. non normal u un terme à gau he dans u). Comme le terme t est fortement n n normalisable. e n'est pas ′ abstra tion (si p 6= 0 par e que t est normal. quelque soit le terme de départ. ti  ti+1 . Proposition Tout terme fortement normalisable est faiblement normalisable. ette suite est nie. la rédu tion d'un radi al pouvant en réer d'autres. Proposition Un terme normal a la forme t = λx1 : A1 . t2 .2 La onuen e en λ- al ul selon Chur h λ- al ul selon Chur h. . Démonstration Soit t un terme fortement normalisable et soit Φ une fon tion qui asso ie à haque terme (Φ u) tel que u  (Φ u) (par exemple le terme obtenu en réduisant le radi al le plus (Φi t) est une suite de rédu tions issue de t. λxn : An (x u1 .

. . ... xn ← un ] est ou bien une variable ou des termes rédu tibles alors le terme  Si . An ... un . . il est don fortement normalisable. Remarque Montrer qu'un terme est faiblement normalisable revient à montrer qu'il existe une manière de réduire e terme qui donne une forme normale (dans e as... ... t1 . en réduisant toujours le radi al le plus à gau he on obtient une telle forme normale [4℄).. ne réduit des radi aux que dans es termes..... est une suite de rédu tions issue de t. Le terme (x u1 ... Ces termes sont don fortement normalisables.... wn des termes rédu tibles de ′ type A. xn ← un ] et v[x1 ← u1 .. Notons u le terme u[x1 ← u1 .. Le terme (t x1 . .. sont rédu tibles. xn ). (t u) est rédu tible. . t2 . xn ← un ]... ou bien il est réduit à l'étape k . .... Soit B1 → ..... un ) réduit des radi aux dans les termes u1 ... u[x1 ← u1 .. xn ) et ette suite est don nie. . . Dans la suite t0 . il est don rédu tible. seulement si pour tout terme rédu tible u de type A... xn ) est don rédu tible. C'est t = (u v). un sont fortement normalisables... les termes u1 . . wn ) et montrons que ette suite est nie. t[x1 ← u1 . Démonstration On montre par ré urren e sur la stru ture de T (1) les termes rédu tibles de type (2) les variables de type  Si T T T que sont fortement normalisables... ′ Si t = λy : A u.. Toute suite de rédu tion issue du terme (x u1 . un t est une variable alors don un terme rédu tible. on a t[x1 ← u1 ... le terme (t x1 . 71 LA NORMALISATION Démonstration Le terme (λx y (λz (z z) λz (z z))) est faiblement normalisable. .... ′ Si le radi al de tête n'est jamais réduit... un ) est don fortement normalisable et de type atomique. xn sont des termes rédu tibles. (2) Les variables sont des termes rédu tibles.. . .. elle est don nie. bien l'un des ui . wn sont rédu tibles par hypothèse. En revan he montrer qu'un terme est fortement normalisable revient à montrer que quelque soit la manière dont le terme est réduit.. xn ).. .. Considérons une suite de rédu tions t0 ..4. ... xn ← un ] = (u[x1 ← u1 . xn ← un ] est don rédu tible. .. est une suite de rédu tions issue de (t x1 . (t1 x1 . t2 ... t1 .  Si variables de type Proposition Tout terme est rédu tible..  Si Les termes  t[x1 ← u1 . En revan he. xn ← un ]. ...5. la suite de rédu tions aboutit toujours à une forme normale....2 La normalisation forte Dénition L'ensemble des termes rédu tibles de type T  Si  si T est atomique alors t est rédu tible si T = A → B alors t est rédu tible si et est déni par ré urren e sur la stru ture de T. xn des A1 . .. . t1 . w1 .. Par hypothèse de ré urren e les variables x1 ... Démonstration On démontre par ré urren e sur la stru ture de t que si t est un terme quel onque et u1 . xn ) est rédu tible et son type est atomique.. B1 . le terme u est rédu tible par hypothèse de ré urren e et les termes v .. t1 . xn ← un ] = λy : A u[x1 ← u1 .. . est un type atomique alors (1) les termes rédu tibles de type fortement normalisables et (2) les variables de types T T sont par dénition les termes sont fortement normalisables don rédu tibles. t2 . . .. t2 . Par hypothèse de ré urren e. d'après le théorème de standardisation. elle est don nie... 5.4. xn ← un ] est rédu tible. xn ← un ] sont rédu tibles par hypothèse de ré urren e. un des termes rédu tibles de type A1 .. . La variable x est don un terme rédu tible.. Comme la suite t0 .. xn ← un ])... et seulement s'il est fortement normalisable.... issue du terme (λy : A u v w1 . . il n'est pas fortement normalisable puisqu'il se réduit sur lui-même... Bn .. w1 . ... ... puisqu'il se réduit sur y.. la suite (t0 x1 .. (2) Soit x une variable de type T et u1 .. Proposition (1) Les termes rédu tibles sont fortement normalisables.. xn ). Le terme t[x1 ← u1 .. xn ← un ] v[x1 ← u1 . ou bien le radi al de tête n'est jamais réduit... → Bn → C (C atomique) le type de u et soient v . T = A1 → . An . → An → B (B atomique) alors (1) soit t un terme rédu tible de type T et x1 .. . (t2 x1 . Le terme t est don également fortement normalisable ar si la suite t0 . alors on a t[x1 ← u1 .

Par ré urren e sur  Cas de base : on montre que toute suite s b. la suite s1 .. v . Démonstration La démonstration est très similaire à elle de la normalisation forte de la β -rédu tion. Le terme u [y ← v] = u[x1 ← u1 . ∗ w1∗ . L'ordre lexi ographique sur l'ensemble des ouples d'entiers est bien fondé. v . Ou bien la suite s a un élément auquel as elle est nie. C'est trivial ar a un élément. wn ) il se peut que le radi al de tête soit réduit par la règle η et non β . wn ) ′∗ ∗ ∗ ∗ ′ ′∗ ′′ où u . b′ < b est nie et on montre que toute suite dé roissante s telle que s0 = (0. ou bien s1 a la forme (0. le ∗ tk = (u′ [y ← v ∗ ] w1∗ . xn ← un . wn ) se réduit en k − 1 étapes en un terme (λy : A u v w1 . Par ré urren e sur a.  Cas de base : on montre que pour tout entier nie.. w1 . ′ Ré urren e : on suppose que (2) pour tout entier b. wn sont rédu tibles don le terme (u [y ← v] w1 . . le terme tk a la forme (u [y ← v ] w1 . wn ). nettement plus simple que elle du théorème de normalisation forte. .. 0) est nie. Comme i-dessus on on lut en remarquant que e terme est fortement normalisable et que la suite t0 .... wn sont des réduits de u . Ce terme est rédu tible et son type est atomique.. wn ) est rédu tible. toute suite dé roissante s telle que s0 = (0. s2 .. v . .. Dénition L'ordre lexi ographique sur les ouples d'entiers est déni par (a. b′ ) ave a′ < a. b) < (a′ ..4.. . wn∗ ) est un réduit du ′ ′ terme (u [y ← v] w1 . Par l'hypothèse (1).3 La normalisation forte de la βη -rédu tion Proposition Tout terme est fortement normalisable pour la βη-rédu tion. est don nie. aussi.. Le terme (u′ [y ← v ∗ ] w1∗ .. ... b′ ) si et seulement si a < a′ ou (a = a′ Proposition et b < b′ ). 'est-à-dire que toute suite dé roissante est nie... ′ Le terme (λy : A u v w1 .. wn ). Démonstration On montre que pour tout entier a... wn∗ ) également et la suite t0 .. .  Ré urren e : on suppose que (1) toute suite dé roissante  s b. s telle que s0 = (0. ... il est don rédu tible. Corollaire (Tait) Tout terme est fortement normalisable. Par l'hypothèse (2)..... xn ← un ] = λy : A u est don terme rédu tible.... LE LAMBDA-CALCUL SIMPLEMENT TYPÉ ′∗ ∗ ∗ ∗ ′∗ ∗ Si le radi al de tête est réduit à l'étape k . Le terme t[x1 ← u1 .. t1 .... on peut déduire que tout terme est faiblement normalisable..72 CHAPITRE 5. w1 .. Ce résultat admet également une démonstration dire te. y ← v] est rédu tible par ′ hypothèse de ré urren e et les termes w1 . wn∗ sont des réduits de u′ . v . la suite s1 . ′ ′∗ ∗ ∗ ∗ Dans e as..... est don nie.. wn∗ ) se réduit ′′ ∗ ∗ ∗ ′′ ∗ ′ alors à l'étape k en le terme (u v w1 . .. b) est nie. wn∗ ) = (λy : A (u′′ y) v ∗ w1∗ . wn tels que le terme u ait la forme (u y) ave y ′′ ′∗ ∗ qui n'apparaît pas dans u . Ou bien la suite s a un élément ′ ′ auquel as elle est nie. wn ) un réduit de (u [y ← v] w1 . .. t1 .  Cas de base : on montre que toute suite dé roissante s telle que s0 = (a.. toute suite s dé roissante telle que s0 = (a. le terme (λy : A u v w1 .. s2 . . pour tout entier b.4. wn ). toute suite dé roissante s telle que s0 = (a... ou bien s1 = (a′ . s2 . La seule diéren e est que dans la suite de rédu tions issue du terme (λy : A u′ v w1 . .4 La normalisation faible En orollaire du théorème de normalisation forte. .. s1 . w1 .. b′ ). wn ) où u . 5. il est don fortement normalisable. est nie don la suite s0 . est nie don la suite s0 ... 0) est nie. Ce terme est fortement normalisable et ′ son type est atomique. b ) ave b < b.. Le terme (λy : A u v w1∗ . Par ré urren e sur b.. ′ a < a est nie et on montre que quelque soit l'entier b. aussi. Le terme (u v ) est un réduit de u [y ← v] et don le terme ′′ ∗ ∗ ∗ ′ (u v w1 .. . b) est s dé roissante telle que s0 = (0. t2 . b) est nie.. s2 . wn . toute suite s dé roissante telle que s0 = (a ... . b) est nie. 5. b).. wn ) est fortement normalisable. s1 . t2 ....

k la taille de ses radi aux de taille maximale et n le nombre de k dans t. Démonstration Par ré urren e sur la stru ture de t. n ) < (k.. |A → B| = 1 + |A| + |B| La taille d'un radi al (λx : A u v) → T. s2 . Le nombre de radi aux de nombre de radi aux de taille ′ ′ sinon on a k = k et n < n . s2 . la suite (ki . Si le nombre de radi aux de taille Proposition Tout terme est faiblement normalisable.  eux réés (vers le haut) par la transformation de abstra tion.. t t et l'un des radi aux de de taille k dans (Φi t) et ni k . est le nombre d'o urren es du symbole ré urren e sur la stru ture du type par |T | = 0 si T est atomique. e résultat peut se déduire de la normalisation forte.4. x en v v si est une abstra tion. Ces radi aux ont alors la taille en u[x ← v] Les radi aux des deux dernières atégories sont tous de taille stri tement inférieure à atégorie qui sont de taille k étaient déjà des radi aux de réduit) n'a pas de résidu. Dénition Soit t un terme.. . Ou bien la suite s a un élément s1 = (a′ . Ces radi aux ont exa tement un radi aux de taille résidu. .  Les radi aux réés par la rédu tion. Ou bien on applique l'hypothèse (2) et dans le se ond l'hypothèse (3). La est nie don que la suite taille d'un type T s0 . Tous es radi aux ont une taille stri tement est un radi al interne de taille maximale. Démonstration Soit (λx : A u v) le radi al réduit dans t pour donner le terme (Φ t). Dans les deux as.4. s1 .5. b′ ) ave a′ < a ou (a′ = a et b′ < b) dans le premier as  Ré urren e : on suppose que (3) toute suite dé roissante montre que toute suite dé roissante auquel as elle est nie. Ceux de la première t de taille k (le radi al (Φ t) est don stri tement inférieur au k dans (Φ t) est nul on a k ′ < k . b′ ). En eet. Un radi al de t de la forme (λx : A u v) de taille k est un radi al interne de taille maximale si tout les radi aux de t ont une taille inférieure ou égale à k tous les radi aux de v ont une taille stri tement inférieure à k. le plus à gau he). 5.  Les résidus [4℄ de radi aux de t qui ne sont pas des radi aux de v . il existe dans t un radi al interne de taille maximale. Dénition Soit Φ la fon tion qui asso ie à haque terme t non normal le terme (Φ t) obtenu en réduisant dans t un radi al parmi les radi aux internes de taille maximale (par exemple. b′ < b est nie et on s telle que s0 = (a. k dans t.  Les résidus de radi aux de inférieure à k. b) est nie. Les radi aux de (Φ t) sont de trois sortes. admet aussi une . Proposition Soit t un terme non normal. Proposition Soit t un terme non normal.5 La normalisation faible de la βη -rédu tion Proposition Tout terme est faiblement normalisable pour la βη-rédu tion. On a (k . l'ordre de es radi aux (λx : A u v) |B| < k = |A → B|. Démonstration I i en ore. es radi aux sont à leur tour de deux sortes :  eux réés (vers le bas) par la substitution de est |A| < k = |A → B|. n). t ar le radi al qui sont des radi aux de (λx : A u v) v. Soit k ′ la taille des radi aux de taille maximale dans (Φ t) et n′ le nombre de ′ ′ ′ radi aux de taille k dans (Φ t). dans Elle est dénie par   est la taille du type A→B du terme λx : A u. ni ) où ki maximale dans si e terme est une le nombre de radi aux de taille ki dans est la taille des radi aux de taille (Φi t) est stri tement dé roissante elle est don nie ar l'ordre lexi ographique est bien fondé sur les ouples d'entiers.. Démonstration La suite (Φi t) est nie. on obtient que la suite Dénition s1 . 73 LA NORMALISATION s telle que s0 = (a. mais il démonstration plus simple. aussi. soit A → B le type du terme λx : A u.

. up ) et les termes u1 . La jusqu'à obtenir un terme normal. un est βη -normal. e terme est unique.uk ) de type A1 → .. il est moins S doive-être la forme normale de es deux termes. issue de u en réduisant un η -radi al tel que à haque étape (par exemple le plus à gau he). Dénition Soit t un terme. Cette suite est nie par e que le nombre d'o urren es de variables dans ui+1 grand entier tel que est stri tement inférieur au nombre d'o urren es de variables dans un ui . t). D'après le théorème de normalisation. de la Dénition Soit t un terme β -normal on dénit sa forme β -normale η-longue t′ . L'unique terme normal u tel que t ∗ u est appelé la forme normale de t. D'après le théorème de normalisation faible de la β -rédu tion il existe un terme β -normal t ∗ u. → An → B (B x′ = λy1 : A1 .. λxp : Ap (x u1 .. On onsidère ensuite la suite de rédu tions u0 . Ce sous terme de v n'est pas membre gau he d'une appli ation dans v ar v est β -normal.. u1 ... yn′ ) où yi′ est la forme η -longue β -normale η -longue de la variable yi de type Ai . Démonstration Par ré urren e sur la longueur d'une dérivation de t ≡ u. u2 .. Soit u LE LAMBDA-CALCUL SIMPLEMENT TYPÉ t un terme. ette itération termine toujours. En eet. u1 = u = u2 ... → An → B (B d'un terme . Le ′ terme w n'est don pas membre gau he d'une appli ation dans v et de e fait la rédu tion de λx : A (w x) en w ne rée pas de β -radi al.4. λxn : An (x u1 . Proposition Deux termes t et u sont équivalents s'ils ont la même forme normale..74 CHAPITRE 5. Les termes égales (modulo t et u l'équivalen e de t et u on al ule les formes sont équivalents si et seulement si leurs formes normales sont α- onversion). 5. pour dé ider de normales de es deux termes. On dénit ensuite la forme β -normale β -normal t = λx1 : A1 . En eet. Soit λx : A (w x) le η -radi al de v réduit en w.. On ommen e par dénir la forme β -normale η -longue d'une variable atomique) par ré urren e sur la stru ture de son type omme le terme x : A1 → .. → An → B (B atomique) est dit β -normal η -long s'il est λx1 : A1 . up sont eux-mêmes β -normaux η -longs.. Soit n le plus soit déni. Pour montrer que le terme 5. D'après le théorème de normalisation. u2 . es termes exprimant une ι → ι). λyn : An (x y1′ . on montre que si v est un terme β -normal.7 La forme η -longue S et λx : ι (S x) doivent être onsidérés omme équivalents... Proposition L'équivalen e entre deux termes est dé idable Démonstration Soient t et u deux termes.6 Appli ations de la normalisation et de la onuen e Proposition Tout terme se réduit sur un terme normal unique. ∗ ∗ D'après le théorème de onuen e. ... il existe un terme normal u tel que t ∗ u. Démonstration Soit t un terme. et v ′ un terme ′ obtenu en réduisant dans v un η -radi al alors v est également β -normal. Proposition Il existe un algorithme qui prend en argument un terme t et al ule sa forme normale. Comme les termes u1 et u2 sont normaux.. supposons que t  u1 et t  ∗ ∗ alors il existe un terme u tel que u1  u et u2  u.. il est plus naturel de hoisir omme forme normale le terme λx : ι (S x) qui est S'il est lair que les termes lair que le terme fon tion (de type une abstra tion... Dénition forme Un terme t de type A1 → .4. Démonstration Il existe un algorithme Φ qui prend en argument un terme non normal t et retourne un terme (Φ t) tel que t  (Φ t) (par t peut forme normale d'un terme exemple un algorithme qui réduit le radi al le plus à gau he dans se al uler en itérant l'algorithme Φ.

λxn : An (x a1 . u′k x′p+1 . Comme le terme t est β -normal et que la rédu tion d'un η -radi al dans un terme β -normal n'introduit pas de β -radi aux.. 'est-à-dire si la variable x a ou non une o urren e dans le terme t. d'un terme quel onque (ou de façon équivalente de sa forme est la forme β -normale η -longue de sa Proposition Deux termes sont βη-équivalents s'ils ont la même forme β -normale η-longue.. Un terme β -normal η -long étant sa propre forme β -normale η -longue. λxn : An (x a1 ....5.. Si ap = xn et u = λx1 : A1 . Par ré urren e sur la stru ture de t.x′n ) où u′i est la forme β -normale η -longue du terme ui et x′i la forme β -normale η -longue de la variable xi . Démonstration β -normale η -longue de sa forme β -normale. ap−1 ) alors t′ = u′ .. les radi aux réduits dans t sont tous des η -radi aux. Proposition Tout terme est βη-équivalent à un terme β -normal η-long unique. ak−1 b ak+1 ap ) et ak η b. Soit v la forme β ′ normale η -longue du terme v . de omparer leur formes simple que elui de sa forme forme βη -normale. Commençons par montrer que si Dénition forme La forme βη -normale β -normale η -longue t et t β -normale). D'après le résultat i-dessus. Montrons maintenant qu'un terme t.. ap ). Montrons maintenant que si t est βη -équivalent à des termes β -normaux η -longs u1 et u2 alors u1 = u2 .. β -normal a la même forme β -normale η -longue que sa forme βη normale... Par hypothèse de ré urren e ak = b ′ ′ et don t = u .. λxp : Ap λxp+1 : Ap+1 . Sinon u a la ′ ′ forme λx1 : A1 . il est la forme β -normale η -longue de sa forme βη -normale.4. 75 LA NORMALISATION atomique) par ré urren e sur la stru ture de e terme omme le terme t′ = λx1 : A1 . les forme β -normale η -longue de t et de sa forme βη -normale sont identiques. Le al ul de la forme β -normale η -longue d'un terme est plus βη -normale qui peut demander de tester à plusieurs reprises si un terme de la η -radi al ou non. Remarque et u Nous avons vu au paragraphe pré édent que pour dé ider la on pouvait omparer leur formes λx (t x) est un βη -équivalen e de deux terme t D'après la proposition i-dessus il est également possible β -normale η -longue. λxn : An (x u′1 ... .  Existen e. On a u1 = v = u2 . u sont deux termes β -normaux et t η u alors t et u ont même forme β -normale η -longue...... Soit t = λx1 : A1 . ′ Les termes u1 et u2 sont βη -équivalents ils ont don même forme βη -normale v . λxn−1 : An−1 (x a1 .. Tout terme est équivalent à la forme  Uni ité.

76 CHAPITRE 5. LE LAMBDA-CALCUL SIMPLEMENT TYPÉ .

Bibliographie

[1℄ H. Barendregt, Lambda Cal uli with Types, Handbook of Logi in Computer S ien e, (S. Abramsky,
D.M. Gabbay, T.S.E. Maibaum Ed.),

Oxford University Press (1992).

[2℄ H. Geuvers, The Chur h-Rosser property for

βη -redu tion in typed λ- al uli, Logi in Computer S ien e

(1992) pp. 453-460.

Cambridge University Press (1989).
G. Huet, Initiation au λ- al ul, Notes de ours de DEA (1988-1993).
J.R. Hindley, J.P. Seldin, Introdu tion to ombinators and λ- al ulus, Cambridge University Press

[3℄ J.Y. Girard, Y. Lafont, P. Taylor, Proofs and Types,
[4℄
[5℄

(1986).
[6℄ J.L. Krivine, Lambda- alul, types et modèles,

Masson (1990).

77

78

BIBLIOGRAPHIE

Chapitre 6
L'expression et l'existen e de fon tions
en théorie des types

Quand on dit que deux expressions mathématiques désignent le même objet on peut distinguer plusieurs
manières d'argumenter ette égalité. 
Les deux expressions sont identiques, par exemple

0 = 0, 

Les deux expressions sont équivalentes modulo rempla ement des arguments formels par les arguments
re'els, par exemple

λx : ι ((λy : ι y) x) = λx : ι x 
Un simple al ul sut pour montrer l'égalité, mais e al ul n'est pas né essairement limité au rempla ement des arguments formels par les arguments réels, par exemple

(× (S(S(S(S(S(S 0)))))) (S(S 0))) = (× (S(S(S(S 0)))) (S(S(S 0)))) 
Un réel raisonnement est demandé pour montrer l'égalité en question. Par exemple

f = λx : ι 0

f

est la fon tion telle que

(f n) = 0

si

n

est la somme de quatre arrés et

(f n) = 1

sinon.

Dire que les trois premières égalités, à la diéren e de la quatrième, peuvent être établies par un simple

normaux) et un algorithme qui transforme haque terme
sa forme normale) tel que si la proposition t = u est démontrable alors les termes t et

al ul signie qu'il existe des termes parti uliers (
en un terme normal (

u

ont la même forme normale.
Les égalités démontrées en utilisant les axiomes de l'arithmétique, sans le s héma de ré urren e, peuvent

être établies par un simple al ul, ar la forme normale d'un terme de l'arithmétique peut se al uler par les
règles

(+ n 0)  n
(+ n (S m))  (S (+ n m))
(× n 0)  0
(× n (S m))  (+ (× n m) n)
(S n)  (S n′ )

si

n  n′

qui dénissent une relation de rédu tion fortement normalisable et onuente. Les égalités démontrées en

β - onversion (ou la βη - onversion) peuvent être établie par un simple al ul ar la β -rédu tion (et
βη -rédu tion) sont fortement normalisables et onuentes. En revan he les égalités de fon tions démontrées
en utilisant l'axiome d'extensionnalité ( omme l'égalité f = λx : ι 0 i-dessus) ne peuvent pas, en général,

utilisant la
la

être établie par un simple al ul.
En e qui on erne ette notion de al ul, deux traditions s'opposent.
79

2 Les fon tions exprimables sur les entiers de Peano Proposition Les fon tions β -exprimables dans le λ- al ul simplement typé sont les fon tions onstantes et les fon tions ajoutant une onstante à l'un de leurs arguments... Théorème Toute fon tion semi- al ulable est β -exprimable dans le λ- al ul pur.. Corollaire Toute fon tion β -exprimable dans le λ- al ul pur est semi- al ulable. Cette fon tion est également exprimée par t... . il faut don élargir les règles de rédu tion par de nouvelles règles. Cette fon tion est exprimée par un terme t.80 CHAPITRE 6. an ). 6. on peut don sans perte de généralité supposer t normal. toute transformation peut (et doit) se ramener à la β -rédu tion par un odage approprié.. On montre par ré urren e Ré iproquement. Démonstration Les fon tion onstantes sont exprimées par les termes de la forme λx1 : ι .1.. Une f de N n dans N est dite β -exprimable s'il existe un terme t tel que pour tout n-uplet d'entiers (a1 . A haque terme représentant une fon tion al ulable à un argument on t exprimant une fon tion f et un entier n on (t n) de façon à al uler (f n). Connaissant un terme peut réduire le terme e qui est ontradi toire. un programme a et un entier b et retourne le résultat du programme a appliqué à l'entrée b est un interpréteur).... L'EXPRESSION ET L'EXISTENCE DE FONCTIONS EN THÉORIE DES TYPES  Selon la première tradition la β -rédu tion (le rempla ement des arguments formels par les arguments réels) n'est pas la seule manière al ulatoire d'établir une égalité.)) et les fon tions qui ajoutent une onstante à l'un de leurs arguments par les termes de la forme λx1 : ι . an ) soit bien formé et se β -réduise sur (f a1 .1 L'expressivité al ulatoire du λ- al ul simplement typé 6. toute fon tion β -exprimable est semi- al ulable.. On onsidère ensuite la fon tion al ulable (g a) = 1+(ϕ a a). Proposition Il n'existe pas de système de λ- al ul tel que la rédu tion soit onuente et normalisable et les entiers normaux tel que toute fon tion al ulable soit β -exprimable.  Selon la se onde tradition. il importe dans l'étude d'un système de que l'on peut al uler par la λ- al ul de ara tériser les fon tions β -rédu tion.  (ϕ a b) = 0 sinon est al ulable. Proposition Dans un système de λ- al ul tel que la rédu tion soit onuente et normalisable et les entiers normaux..1 La β -expressivité et la al ulabilité Dénition Soit un système de λ- al ul tel que la rédu tion soit onuente et les entiers normaux.)) f une fon tion β -exprimée par le terme t.(S 0). soit la forme normale de ... don la fon tion ϕ à deux arguments telle que  (ϕ a b) = (f b) si a est le ode d'un terme exprimant la fon tion f .. On a (ϕ n n) = (g n) = 1+(ϕ n n) asso ie un entier (son ode de Gödel).. On suppose qu'il existe tel système de λ- al ul. le terme (t a1 . soit n le ode de t.1. Dans un as omme dans l'autre. (Cette fon tion qui prend en argument. fon tion Proposition Dans un système de λ- al ul tel que la rédu tion soit onuente et les entiers normaux. Démonstration L'idée de la démonstration est une variation sur l'argument diagonal de Cantor. λxn : ι (S (. toute fon tion β -exprimable est al ulable. an ). λxn : ι (S (...(S xi ). 6..

.. an ) symboles f .λxn : ι 0... an des entiers de Chur h non nuls.. .. t = (f u).)) ave (Q a1 .  Si x = f . Par hypothèse de ré urren e... an des entiers de Chur h non t[x1 ← a1 . ... λxn : ι S et f est la fon tion qui ajoute 1 à son (n + 1) argument.. λxp : ι (x u1 .. l'addition.. la fon tion f est la fon tion onstante égale à r + 1. L'EXPRESSIVITÉ CALCULATOIRE DU λ-CALCUL t que f est une fon tion onstante ou une t = λx1 : ι .. une idée est de représenter les entiers non plus axiomatiquement ave des symboles S 0 et mais omme des itérateurs : les entiers de Chur h. an ) symboles f .6.1.. l'addition et la multipli ation. r} tels que quelque soient a1 ... il existe un polynme Q et un indi e j tels que quelque soient a1 ...  Si x = zj .1.. x = S alors k = 0 ou k = 1 si k = 1 alors t = λx1 : ι ........ . On pose (P a1 .. le terme λx1 : ι .. x = xi alors k = 0 et t = λx1 : ι....)) ave (Q a1 . par hypothèse de ré urren e..... λxn : ι u ème exprime une fon tion onstante égale à r ou une fon tion qui ajoute r à son i argument.. n est représenté omme le terme Les entiers de Chur h sont de type λx : ι λf : ι → ι (f (f . ette sur la taille de 81 SIMPLEMENT TYPÉ fon tion qui ajoute une onstante à l'un de ses arguments.... . Soit  Si fon tion est la fon tion qui ajoute 0 à son ième argument.. Dénition Les entiers de Chur h L'entier symbole f.3 Les fon tions exprimables sur les entiers de Chur h Une des raisons pour lesquelles l'ensemble des fon tions β -exprimables en λ- al ul simplement typé est si pauvre est l'impossibilité d'exprimer des fon tions dénies par ré urren e sur l'un de leurs arguments...(f zj ′ ).. 6... xn : ι → (ι → ι) → ι..)) ave (P a1 .. an ) = 1 et j = r + 1. an ) et i = j ... an ) symboles f .. an ) et i = j sinon on pose ′ ′ (P a1 . la fon tion su esseur.)) ave (P a1 .... Démonstration Par ré urren e sur la taille de t. .. an ) = (Q a1 .(f zj ).. an ) symboles f . Dénition L'ensemble des polynmes est le plus petit ensemble de fon tions de N n dans N los par om- position et ontenant la fon tion nulle..... uk ). xn ← an ] ait pour forme normale (f (. il existe un polynme Q et un entier j tel que le terme u1 [x1 ← a1 ..... ette fon tion est la fon tion onstante égale à zéro. . les proje tions.  Si x = xm alors t = (xm u1 (λzr+1 : ι u2 )) ou t = (xm u1 f ).. ème Si k = 0 alors t = λx1 : ι . xn ← an ] a pour forme normale (f (. an ) + am (Q a1 . t un terme normal tel que Γ ⊢ t : ι. Le terme t est de type ι don t = (x u1 ..(f x).. . λxn : ι (S u). normal tel que Γ ⊢ t : ι.. z1 : ι. an ) symboles f . .. f : ι → ι et P et un entier i ∈ {1.. on pose (P a1 . an ) = (Q a1 ...  Si  Si   x = 0 alors k = 0 et t = λx1 : ι. f : ι → ι et t un terme a1 . xn ← an ] ait pour forme normale (f (. les proje tions. n dans N los par omL'ensemble des est le plus petit ensemble de fon tions de N polynmes étendus position et ontenant la fon tion nulle. . le terme u[x1 ← a1 .. xn ← an ] ait pour forme normale (f (..(f zi )... la fon tion ara téristique de {0} et la fon tion ara téristique de N − {0} Proposition Soit Γ le ontexte x1 : ι → (ι → ι) → ι. Dans le premier as. . ..... la multipli ation.. Il existe un polynme P ..)) ave (Q a1 .. la fon tion su esseur..... ave n o urren es du Remarque Si g est une fon tion de type ι → ι alors λx : ι (n x g) est la fon tion g itérée n fois... z : ι.. zr : ι. xn : ι → (ι → ι) → ι........ an ) = 0 et i = j .... Pour pallier e manque... le terme Corollaire Soit Γ le ontexte x1 : ι → (ι → ι) → ι.(f zj ).(f zi ).)) ι → (ι → ι) → ι.. ′ ′ Si j = r + 1 alors on pose (P a1 . uk ).λxn : ι xi .. dans le se ond 'est la fon tion ème qui ajoute r + 1 à son i argument. Il existe polynme nuls. Si t ′ ′ a la forme (xm u1 f ) on pose (Q a1 . ′ ′ Si t a la forme (xm u1 (λzr+1 : ι u2 )) alors il existe un polynme Q et un entier j tels que le terme ′ u2 [x1 ← a1 . xn ← an ] ait la forme normale (f (. an ) et i = j . an ) = 1 + (Q a1 . Comme am 6= 0 le terme t[x1 ← a1 . an des entiers de Chur h non tel que quelque soient .

.. an des entiers de Chur h pour forme normale (f (. t[x1 ← a1 . .....(f z)..82 CHAPITRE 6. xn ← an ] ait la forme normale Proposition Soit Γ le ontexte x1 : ι → (ι → ι) → ι.. ... λxn : ι → (ι → ι) → ι λz : ι λf : ι → ι z la fon tion su esseur par le terme λx : ι → (ι → ι) → ι λz : ι λf : ι → ι (f (x z f )) les proje tions par les termes λx1 : ι → (ι → ι) → ι .......)) tel que quelque soient Démonstration Pour haque partie A de {1..... an ) A Théorème (S hwi htenberg) Les fon tions β -exprimables dans le λ- al ul simplement typé sur les entiers de Chur h sont les polynmes étendus. ...... λxn : ι → (ι → ι) → ι λz : ι λf : ι → ι u . an ) symboles f. Il existe polynme étendu t[x1 ← a1 ... an ) = 1 si (ai = 0 si et seulement si i ∈ A) (χA a1 . an ) symboles f ... λxn : ι → (ι → ι) → ι xi ou bien λx1 : ι → (ι → ι) → ι . Soit χA (χA a1 .... n} il existe un polynme PA tels que quelque soient a1 .)) ave (P a1 .... .. Démonstration La fon tion nulle est exprimable par le terme λx1 : ι → (ι → ι) → ι . nuls. an ) = X ait pour forme (χA a1 .. le terme L'EXPRESSION ET L'EXISTENCE DE FONCTIONS EN THÉORIE DES TYPES t[x1 ← a1 .. . .. (nuls ou non)... t. an ) = 0 sinon... .. λxn : ι → (ι → ι) → ι xi l'addition par λx : ι → (ι → ι) → ι λy : ι → (ι → ι) → ι λz : ι λf : ι → ι (x (y z f ) f ) la multipli ation par λx : ι → (ι → ι) → ι λy : ι → (ι → ι) → ι λz : ι λf : ι → ι (x z λw : ι (y w f )) la fon tion ara téristique de {0} par λx : ι → (ι → ι) → ι λz : ι λf : ι → ι (x (f z) λw : ι z) la fon tion ara téristique de N − {0} par λx : ι → (ι → ι) → ι λz : ι λf : ι → ι (x z λw : ι (f z)) Les polynmes étendus sont don F une fon tion β -exprimée β -exprimables dans le λ- al ul simplement typé. La forme normale du terme t est ou bien Ré iproquement. soit par un terme λx1 : ι → (ι → ι) → ι . xn ← an ] des entiers de Chur h tels que terme normale le polynme étendu tel que   On pose (P a1 . an ) P ait (f (. xn ← an ] ave (P a1 ... z : ι........ an ai = 0 si et seulement si i ∈ A le (f (. an )(PA a1 .. xn : ι → (ι → ι) → ι... λxn : ι → (ι → ι) → ι λz : ι (xi z) ou bien t = λx1 : ι → (ι → ι) → ι .. normal tel que Γ ⊢ t : ι. f : ι → ι et t un terme a1 ..(f z).)) ave (P a1 . le terme symboles f..(f z).

la fon tion su esseur.3 L'existen e de fon tions 6. La forme l'entier de Chur h (P a1 . on peut dénir l'addition omme le terme + = λn : ι → (ι → ι) → ι λp : ι → (ι → ι) → ι λx : ι λf : ι → ι (n (p x f ) f ) Dans e as les termes 2+2 et 4 de 2 + 2 = 4 et 4 = 4 sont 4 = 4 est une démonstration sont onvertibles. Autrement dit. proposition 2 + 2 = 4. Si on identie les propositions équivalentes. 2 + 2 = 4 puisse être supprimé des démonstrations + est β -exprimable.. an ) et la fon tion F est le polynme Remarque L'ensemble des fon tions primitives ré ursives est le plus petit ensemble ontenant la fon tion nulle.... Dans le P tel que quelque soient a1 . En eet. xn ← an ] ait pour forme normale du terme (t a1 . Dans ertains as.. la fon tion dernier as il existe un polynme étendu u[x1 ← a1 . an des entiers de Chur h. pour démontrer une proposition de la forme ∃x P la méthode standard onsiste à donner un témoin.3. la proposition 2 + 2 = 4. l'ensemble des fon tions λ- al ul simplement typé d'itérer une fon tion seulement si ette fon tion a le type impossible d'itérer une fon tion omme n 7→ 2 × n ι → ι. plus il est possible de supprimer des arguments al ulatoires des démonstrations. Toutes les fon tions primitives ré ursives ne sont pas β -exprimables dans le λ- al ul simplement typé (par exemple la n 7→ 2n est primitive ré ursive mais e n'est pas un polynme étendu). Cette remarque motive l'étude de systèmes logiques plus expressifs du point de vue al ulatoire. il n'est pas toujours possible de pro éder ainsi. De même les propositions onvertibles. pour démontrer à deux reprises l'axiome ∀x ∀y (x + (S y)) = (S (x + y)). an ) est don étendu P .. 0 il faut utiliser a une démonstration plus su in te que dans le se ond... plus un système logique Le fait que l'argument qui permet d'établir la proposition est bien entendu lié au fait que la fon tion est expressif du point de vue al ulatoire.. La théorie des types simples a une expressivité al ulatoire relativement faible (puisque les polynmes étendus forment une petite partie des fon tions al ulables).2. le terme normale (f (. pour démontrer la ∀x (x = x). an ) symboles f . . il est possible en λ- al ul Bien que les entiers de Chur h soient des itérateurs. .6... et de substituer x par 4. il est né essaire de donner plusieurs témoins sous ertaines hypothèses et de re oller les mor eaux de démonstration ave le tiers ex lu ( 'est e qu'indique le théorème de Herbrand).. si on dénit les entiers axiomatiquement omme des objets de base à l'aide d'un symbole et S et que l'on a des axiomes pour l'addition et la multipli ation. les proje tions et los par omposition et dénition par ré urren e. 'est-à-dire un entier vériant la propriété en question puis à utiliser la règle d'introdu tion du quanti ateur existentiel pour on lure. F est une proje tion. 2+2 = 4 Dans le premier des systèmes. fon tion β -exprimables dans le simplement typé n'est pas los par dénition par ré urren e. Supprimer les arguments al ulatoires des démonstrations les rend plus su in tes e qui est important par exemple en démonstration automatique.)) ave (P a1 . 6. En parti ulier il est qui asso ie un entier à haque entier.1 L'utilisation de l'axiome du hoix En arithmétique.. toute démonstration de 2 + 2 = 4. De manière générale. il sut d'utiliser le premier axiome de l'égalité En revan he.2 Les raisonnements et les al uls ave les fon tions En théorie des types. 83 LES RAISONNEMENTS ET LES CALCULS AVEC LES FONCTIONS Dans les deux premiers as.(f z). . 6. si on ode les entiers omme des entiers de Chur h.. Dans la théorie des types simples... 'est don un polynme étendu. Il est don possible dans e système de supprimer des démonstration ertains arguments al ulatoires. ar de nombreuses fon tions dont on veut parler ne peuvent pas être dire tement exprimée par un λ-terme.

∀x ∃y (x = 0 ⇒ y = 0) ∧ (¬x = 0 ⇒ y = 1)) Pour on lure l'existen e de la fon tion. de type ι→ι→ι→o être représentée en théorie des types. On doit don démontrer les deux propositions ∀y ∃z ((P lus 0 y z) ∧ ∀k ((P lus 0 y k) ⇒ k = z)) et et y. de e fait.2 L'existen e de l'addition Ce mé anisme permet de montrer l'existen e de n'importe quelle fon tion dénie par ré urren e. ∀x ∀y ∃z ((P lus x y z) ∧ ∀k ((P lus x y k) ⇒ k = z)) Cette proposition se démontre par ré urren e sur x. c sont reliés par le prédi at P lus s'ils sont reliés par tous les prédi ats w tels que ∀n (w 0 n n) ∀n ∀p ∀ q (w n p q) ⇒ (w (S n) p (S q)) Il est fa ile de démontrer les propositions ∀x (P lus 0 x x) ∀x ∀y ∀z (P lus x y z) ⇒ (P lus (S x) y (S z)) On démontre ensuite que ette relation (prédi at) est fon tionnelle. omment montrer la proposition ∃f ∀x (x = 0 ⇒ (f x) = 0) ∧ (¬(x = 0) ⇒ (f x) = 1)) En revan he il est simple de montrer (par exemple.3. et les axiomes de x=0 sinon On ne voit pas. 'est-à-dire qu'il existe une fon tion + telle que ∀y (+ 0 y) = y ∀x ∀y (+ (S x) y) = (S (+ x y)) L'addition omme relation Commençons par montrer que l'addition peut P lus un prédi at si a + b = c. il . A titre d'exemple. 'est-à-dire que pour tout existe un z unique tel que x (P lus x y z). On peut de même montrer que toutes les fon tions partielles semi- al ulables sont représentables dans la théorie des types.84 CHAPITRE 6. les nombres a. L'EXPRESSION ET L'EXISTENCE DE FONCTIONS EN THÉORIE DES TYPES Supposons que nous avons un symbole Peano. il existe un y tel sinon. b. montrons l'existen e de l'addition. 'est-à-dire qu'il existe tel que la proposition (P lus a b c) est démontrable si et seulement Cette représentation est l'analogue de la représentation des fon tions partielles semi- al ulables dans l'arithmétique de Peano. que l'on utilise dans la démonstration des théorèmes de Chur h et Gödel. L'addition est représentée par le prédi at P lus = λx λy λz ∀w (∀n (w 0 n n) ∧ ∀n ∀p ∀q (w n p q) ⇒ (w (S n) p (S q))) ⇒ (w x y z) Intuitivement. il faut utiliser une forme de l'axiome du hoix ∀P (∀x ∃y (P x y)) ⇒ ∃f ∀x (P x (f x)) 6. par ré urren e sur que y=0 si x est nul et y=1 x) que pour tout x. Il n'existe pas de λ-terme 0 de type ι et un symbole qui exprime la fon tion (f x) = 0 si (f x) = 1 f S de type telle que ι → ι.

En orollaire on montre fa ilement ∀y ∀z ((P lus 0 y z) ⇒ y = z) ∀x ∀y ∀z ((P lus (S x) y z) ⇒ ∃u (z = (S u) ∧ (P lus x y u))) L'addition omme fon tion En utilisant l'axiome du hoix. 85 L'EXISTENCE DE FONCTIONS (∀y ∃z ((P lus x y z) ∧ ∀k ((P lus x y k) ⇒ k = z))) ⇒ (∀y ∃z ((P lus (S x) y z) ∧ ∀k ((P lus (S x) y k) ⇒ k = z))) Pour démontrer la première de es propositions on démontre ((P lus 0 y y) ∧ ∀k ((P lus 0 y k) ⇒ k = y)) (P lus 0 y y) se démontre ∀k ((P lus 0 y k) ⇒ k = y) on montre k = y La proposition ∀x (P lus 0 x x). .3 L'axiome de des riptions Il peut sembler étonnant d'avoir besoin de l'axiome du hoix pour montrer l'existen e d'une fon tion aussi simple que l'addition. on montre la proposition k = (S z) sous l'hypothèse (P lus (S x) y k) 'est-à-dire ∀w (∀n (w 0 n n) ∧ ∀n ∀p ∀q (w n p q) ⇒ (w (S n) p (S q))) ⇒ (w (S x) y k) Dans ette hypothèse on instan ie la variable w par le prédi at W ′ = λa λb λc (P lus a b c) ∧ ((a = (S x) ∧ b = y) ⇒ (c = (S z))) et on on lut sans peine.3.3. Pour démontrer la se onde de es propositions on montre (((P lus (S x) y (S z)) ∧ ∀k ((P lus (S x) y k) ⇒ k = (S z)))) sous l'hypothèse (((P lus x y z) ∧ ∀k ((P lus x y k) ⇒ k = z))) La proposition (P lus (S x) y (S z)) se démontre en utilisant le théorème ∀x ∀y ∀z (P lus x y z) ⇒ (P lus (S x) y (S z)). En fait une forme très faible de et axiome l'axiome de des riptions est susante : ∀x ∃1 y (P x y) ⇒ ∃1 f (P x (f x)) où ∃1 x (P x) signie ∃x ((P x) ∧ (∀y (P y) ⇒ y = x)).6. on déduit ∃p (∀y y = (p 0 y)) ∧ ∀x ∀y (p (S x) y) = (S (p x y)) 6. (P lus 0 y k) 'est-à-dire en utilisant le théorème sous l'hypothèse Pour démontrer ∀w (∀n (w 0 n n) ∧ ∀n ∀p ∀q (w n p q) ⇒ (w (S n) p (S q))) ⇒ (w 0 y k) Dans ette hypothèse on instan ie la variable w par le prédi at W = λa λb λc (a = 0 ⇒ b = c) et on on lut sans peine. Pour démontrer la proposition ∀k ((P lus (S x) y k) ⇒ k = (S z)). on déduit de la proposition ∀x ∀y ∃z (P lus x y z) la proposition ∃p ∀x ∀y (P lus x y (p x y)) En utilisant les deux orollaires i-dessus.

démonstration intuitionniste de la proposition . Idée de la démonstration On pro ède omme pour l'addition. Idée de la démonstration Ce théorème s'appuie sur le théorème d'élimination des oupures dans la théorie des types ave les axiomes de Peano ( hapitre 9 de la troisième partie). Proposition (Kleene) Soit P un prédi at quel onque si la proposition en logique intuitionniste alors il existe une fon tion al ulable f ∀x ∃y (P x y) est démontrable a.4.4 Les fon tions dont on peut prouver l'existen e 6. on énumère tous les ouples < b. On dit qu'on prouver l'existen e de f en théorie des types intuitionniste si la proposition ∀x ∃y (P x y) est démon- peut trable (ou. lassique) étendue par les axiomes de Peano. Supposons que nous ayons une démonstration intuitionniste de ∀x ∃y (P x y). Démonstration Un entier a donné. p > tel que ( ette re her he mène à des al uls innis quand il n'existe pas de b p tel b = (f a)). Proposition (Semi- al ulabilité des fon tions représentables) Soit f une fon tion partielle représentable en théorie des types intuitionniste (resp. en utilisant la règle ∀-élim on onstruit une ∃y (P a y). Soit un entier a.4. est représen- table en théorie des types intuitionniste (resp.3. l'opérateur de des riptions Pour es objets onstruits ave l'axiome du hoix ou l'axiome de des riptions. L'EXPRESSION ET L'EXISTENCE DE FONCTIONS EN THÉORIE DES TYPES 6. On élimine les oupures dans ette démonstration.4 L'opérateur de hoix.1 La représentation des fon tions Dénition Une fon tion est représentable démontrable si et seulement si dans une théorie s'il existe un prédi at P tel que (P a b) soit b = (f a). (P a (f a)) soit telle que pour tout démontrable. lassique) ave les axiomes de Peano. la fon tion f est semi- al ulable. on peut prouver l'existen e de toutes les fon tions dénies par ré urren e ( omme l'addition). une fois de plus.2 La logique intuitionniste Dénition Soit f une fon tion semi- al ulable et P un prédi at représentant ette fon tion. Proposition (Représentation des fon tions semi- al ulables) Toute fon tion f semi- al ulable.86 CHAPITRE 6. ∃f ∀x (P x (f x)) est Proposition En théorie des types. p > où b est un entier et p une haîne de ara tère (ou un entier odant ette haîne de ara tères) jusqu'à trouver un ouple soit une démonstration de que (P a b) < b. On peut don se donner un opérateur de hoix C et un axiome ∀E (∃x (E x)) ⇒ (E (C E)) ou un opérateur de des riptions D et un axiome ∀E (∃1 x (E x)) ⇒ (E (D E)) Ainsi l'addition a une notation qui est p = λx λy (D λz (P lus x y z)) 6. ou bien donner un axiome d'existen e ou donner une notation expli ite et un axiome pour exprimer les propriétés des objets. e qui revient au même en utilisant l'axiome du hoix. 6. si la proposition démontrable). Alors. on peut.

Idée de la démonstration Il n'y a pas de langage qui permet d'exprimer exa tement les fon tions al ulables.4. Soit beta le prédi at représentant la fon tion ( al ulable) qui a et b b sont les odes de Gödel de deux termes tels que le premier se β -réduise en une étape sur N orm le prédi at de Gödel d'un terme normal et asso ie 0 si a et le se ond. Comme le problème de l'arrêt est indé idable. Corollaire Soit ∀x ∃y (P x y) Ce qui nous donne un témoin f une fon tion représentée par un prédi at P en logique intuitionniste.  (g a) = 1 si a est le ode de Gödel d'un terme t qui est non normalisable et tel que la proposition ¬(N orm a) peut se démontrer en théorie des types. Si la proposition est démontrable en logique intuitionniste alors la fon tion Remarque Si f démonstration ne peut f est al ulable. pourtant la proposition Soit  ∀x ∃y (((N orm x) ⇒ y = 0) ∧ (¬(N orm x) ⇒ y = 1)) est démontrable en logique lassique (en utilisant le tiers ex lu (N orm a) ∨ ¬(N orm a)). Démonstration Soit norm le prédi at représentant la fon tion ( al ulable) qui à a asso ie 0 si a est le ode 0 sinon. Remarque D'après les propositions i-dessus. Soit N orm = λa ∃u ∃n ((u 0) = a ∧ (norm (u n) 0) ∧ ∀p (p < n) ⇒ (beta (u p) (u (p + 1)) 0)) et P = λa λb ((N orm a) ⇒ b = 0) ∧ (¬(N orm a) ⇒ b = 1) g la fon tion partielle semi- al ulable représentée par P . alors l'élimination des oupures dans la démonstration de ∀x ∃y (P x y) spé ialisée à a est un algorithme de al ul de (f a). Proposition Il existe une fon tion al ulable f telle que la proposition ∀x ∃y (P x y) ne soit pas démontrable. 6. la fon tion g n'est pas al ulable. On obtient une démonstration sans oupures de être que ∃-intro. 87 LES FONCTIONS DONT ON PEUT PROUVER L'EXISTENCE ∃y (P a y). les fon tions dont on peut prouver l'existen e en théorie des types intuitionniste ave les axiomes de Peano sont don un sur-ensemble des fon tions primitives ré ursives (dénissables par ré urren e) mais un sous-ensemble stri t des fon tions al ulables.4. .  (g a) n'est pas déni sinon.6. La fon tion g est telle que (g a) = 0 si a est le ode de Gödel d'un terme t qui est normalisable (dans e as la proposition (N orm a) peut se démontrer en théorie des types). représentée par un prédi at P tel qu'on puisse montrer l'existen e de ette fon tion en théorie des types lassique.3 La logique lassique Proposition Il existe une fon tion semi- al ulable mais non al ulable. est une fon tion dont on peut prouver l'existen e en théorie des types. la dernière règle de ette b tel que (P a b) soit démontrable.

88 CHAPITRE 6. L'EXPRESSION ET L'EXISTENCE DE FONCTIONS EN THÉORIE DES TYPES .

Troisième partie Les démonstrations objets de la théorie 89 .

.

à toute démonstration de omme une fon tion qui asso ie. seul importe le fait que si une démonstration de A alors (f a) une est une démonstration de B. Une démonstration de est un terme fon tionnel asso iant une démonstration de 91 B à haque démonstration de A. a est La nature des démonstrations des propositions atomiques importe peu. à tout objet omme un ouple formé d'une démonstration de et . 7.1 L'isomorphisme de Curry On se pla e dans un fragment de la logique du premier ordre : la logique propositionnelle minimale. la nature des démonstrations importe moins que la relation qui existe entre les démonstrations des diérentes propositions.  une démonstration de A[x ← t]. on introduit don pour haque pro- : le type de ses éventuelles démonstrations. on se donne une fon tion f t. on se donne trois règles de dédu tion naturelle P ∈Γ hypothèse Γ⊢P Γ. une démonstration de A et d'une démonstration a priori. Comme es démonstrations sont des fon tions.L'isomorphisme de Curry-De Bruijn-Howard La sémantique de Heyting et Kolmogorov propose d'exprimer les démonstrations des théorèmes omme des objets fon tionnels :  une démonstration de démonstration de B. A ⇒ B ∀x A A∧B omme une fon tion qui asso ie. A. Les démonstrations des axiomes sont des objets donnés A ⇒ B. De manière plus générale. Par exemple. Pour démontrer des propositions.Chapitre 7 Les types dépendants . on les exprime par des λ-termes. Ce formalisme est obtenu en onsidérant des propositions formées à partir des propositions atomiques ave l'impli ation. P ⊢ Q ⇒-intro Γ⊢P ⇒Q Γ⊢P ⇒Q Γ⊢P ⇒-élim Γ⊢Q On représente les démonstrations par des position atomique un type de base A⇒B (Φ A) λ-termes simplement typés. quand on pose un axiome qui asso ie une démonstration de B à toute démonstration de A. son type .  une démonstration de de  B.

.. alors la proposition A est l'une des propositions Ai . est un terme de type ou que 'est une démonstration de la proposition 7. il est malheureusement trop peu expressif pour permettre de représenter toutes les démonstrations de la théorie des types simples. . alors il existe une proposition B et deux démonstrations de B ⇒ A et B . .. . xn : (Φ An )... An . On onstruit. Par hypothèse de ré urren e. xn+1 : (Φ B).  Si la dernière règle de la démonstration est la règle ⇒-élim. il existe un t de type (Φ C) dans le ontexte x1 : (Φ A1 ).. Le terme (t u) a le type (Φ A) dans le ontexte x1 : (Φ A1 ).. Proposition La fon tion ϕ est une bije tion de l'ensemble des démonstrations dans l'ensemble des termes. Le terme λxn+1 : (Φ B) t a le type (Φ A) dans le ontexte x1 : (Φ A1 ). . étendre l'isomorphisme de Curry. de si et seulement si (ϕ π) est un terme de type (Φ A) dans le ontexte Comme toujours on utilise les mêmes notations pour les objets isomorphes.. Par hypothèse de ré urren e. xn : (Φ An ). Proposition Soient des propositions A1 . Le terme t = λx : (Φ A) → (Φ B) → (Φ C) λy : (Φ A) → (Φ B) λz : (Φ A) ((x z) (y z)) est de type (Φ ((A → B → C) → (A → B) → A → C)) dans le ontexte vide. On étend don Φ en une fon tion asso iant à toutes les propositions le type de leurs éventuelles démonstrations la fon tion par (Φ (A ⇒ B)) = (Φ A) → (Φ B) La fon tion Φ est une bije tion de l'ensemble des propositions vers l'ensemble des types..  Si la dernière règle de la démonstration est la règle ⇒-intro..2 La logique minimale Le λ- al ul simplement typé permet don d'exprimer les démonstrations de la logique propositionnelle minimale.. xn : (Φ An ). Démonstration Cette fon tion est trivialement inje tive.. Nous allons don dans un premier temps présenter e al ul. B ⊢ C .. An ⊢ A.. .. ni même de la logique du premier ordre. Le terme xi a le type (Φ A) dans le ontexte x1 : (Φ A1 )... An x1 : (Φ A1 )... xn : (Φ An ).  Si la dernière règle de la démonstration est la règle hypothèse. On dira don de façon équivalente que λx : A → B → C λy : A → B λz : A ((x z) (y z)) (A → B → C) → (A → B) → A → C (A ⇒ B ⇒ C) ⇒ (A ⇒ B) ⇒ A ⇒ C . ..92CHAPITRE 7... xn : (Φ An ). Le λΠ- al ul peut ordre utilisant le quanti ateur universel : le être onsidérés indépendamment de l'interprétation fon tionnelle des démonstrations... . du jugement Exemple La proposition (A ⇒ B ⇒ C) ⇒ (A ⇒ B) ⇒ A ⇒ C est démontrable sans axiomes. LES TYPES DÉPENDANTS . . un terme de type (Φ A) dans le ontexte x1 : (Φ A1 ). par ré urren e sur la stru ture de π . alors la proposition A a la forme B ⇒ C et il existe une démonstration du jugement A1 .. An ⊢ A alors il existe un λ-terme simplement typé de type (Φ A) dans le ontexte x1 : (Φ A1 ).. Les fon tions Φ et ϕ dénissent don un isomorphisme (l'isomorphisme de Curry) entre la logique propositionnelle minimale et le λ- al ul simplement typé... Si il existe une démonstration en dédu tion naturelle A1 . . xn : (Φ An ). . Pour montrer qu'elle est surje tive on se donne un terme t de type A et on onstruit par ré urren e sur la stru ture de t une démonstration de (Φ−1 A).. On note (ϕ π) le terme ainsi onstruit...... .. Démonstration Soit π une démonstration du jugement A1 . .... xn : (Φ An ). xn : (Φ An ). A. An . . puisqu'elles sont bije tives et que π est une démonstration A sous les hypothèses A1 .. Nous allons don onsidérer une extensions du λ- al ul simplement typé qui permet de représenter les démonstrations de la logique du premier λ- al ul ave types dépendants (λΠ- al ul). il existe deux termes t et u de types respe tifs (Φ B) → (Φ A) et (Φ B) dans le ontexte x1 : (Φ A1 ). puis dans un se ond temps.L'ISOMORPHISME DE CURRY-DE BRUIJN-HOWARD est A′ → B ′ où A′ est le type des démonstrations de A et B ′ le type des démonstrations de B ..

. De même. . 0] (f 3) = [0. On T ype. onsidère don les types omme des termes parti uliers.. Ainsi il n'y a pas un type tab mais une famille de types (tab 0). Avant d'exprimer ainsi le λΠ- al ul. 2. (tab 1). il faut indiquer le nom sous lequel et argument sera désigné dans le reste du type. A : T ype bien formé Les variables de type sont des types : Γ A : T ype ∈ Γ Γ ⊢ A : T ype bien formé Formation des types fon tionnels : Γ ⊢ A : T ype Γ ⊢ B : T ype Γ ⊢ A → B : T ype .2. en revan he le type du résultat de la (tab n) où n est la valeur de l'argument de la fon tion. Pour é rire nat → (tab n) mais ette notation n'exprime pas le fait L'argument de ette fon tion a toujours le type fon tion n'est pas toujours le même. pour les tableaux de taille 0. 0. 1. nat (type des entiers). En plus de l'indi ation que l'argument de la fon tion est de type nat. On note e type Πn : nat (tab n) La notation A→B devient un as parti ulier de la notation fon tion n'est pas utilisé dans B Πx : A B où le nom x de l'argument de la et.2 Les types en tant que termes λΠ- al ul est plus omplexe que elui du λ- al ul simplement typé. 93 LA LOGIQUE MINIMALE 7. Un as parti ulier de e jugement est Γ ⊢ t : T ype qui exprime le fait que t est un type. 0] et .1 Les types dépendants Un exemple de type dépendant est elui du type des tableaux d'entiers. 7. On onsidère Γ ⊢ t : T qui signient que t a le type T dans le ontexte Γ. de e fait. Considérons la fon tion f qui à un entier n asso ie le tableau de taille n qui ne ontient de des 0 : (f 0) = [ ] (f 1) = [0] (f 2) = [0.2.. (tab 1). Dans la plupart des langages de programmation. la taille d'un tableau est une information exprimée dans son type. (tab 2).. le ontexte x : (tab n) n'est pas bien formé puisque la variable n Le langage des types du expressions n'est dé larée nulle part. On onsidère également une autre forme de jugement : Γ bien formé qui exprime le fait que Γ est un ontexte bien formé.2. les (tab 0). redonnons la dénition du λ- al ul simplement typé dans e langage. et on leur donne le type de base : des jugements de la forme Le ontexte vide est bien formé : [] bien formé Dé laration d'une variable de type : Γ bien formé Γ. On sent qu'il faut des règles de formation des types et des ontextes similaires à elle des termes. Πn : nat (tab n) sont des types mais pas les expressions (tab 0 0) (par e que la famille de types tab prend un seul argument) ou (tab true) (par e que l'argument du symbole tab doit être un entier et non un booléen). ne demande pas à être indiqué. e type est donner un type à ette fon tion. En eet. . on aimerait que le n qui apparaît dans ette expression réfère à l'argument de la fon tion.7.

 les genres : T ype. x : A bien formé Les variables sont des termes : x:A∈Γ Γ⊢x:A Appli ation : Γ ⊢ t : A → B Γ ⊢ t′ : A Γ ⊢ (t t′ ) : B Abstra tion : Γ ⊢ A : T ype Γ. dont le type est un type. Kind nat.L'ISOMORPHISME DE CURRY-DE BRUIJN-HOWARD Dé laration d'une variable : Γ ⊢ A : T ype Γ.. Hélas.2. dont le type est  les types (et les familles de types) : le type est un genre. 'est-à-dire Πx : nat nat). LES TYPES DÉPENDANTS .. les objets formés par appli ation (par exemple : (S 0)) et par abstra tion (par exemple : λx : nat x)..3 Le λΠ- al ul (tab 0). Les objets sont les variables d'objet (par exemple : 0). Il y a don quatre atégories de termes les types des termes ontenant une o urren e du symbole  Kind..  les objets : 0. x : A ⊢ B : T ype Γ... . tab. nat → T ype. abstra tion (par exemple : λn : nat (tab (S n))) et par produit (par exemple : Πn : nat (tab n) et nat → nat. [0]. x : T bien formé Dé laration d'une variable (d'objet) : Γ ⊢ T : T ype Γ. (tab 0).  Kind est le seul terme de sa atégorie. 'est-à-dire T ype. x : T bien formé T ype est un genre : Γ bien formé Γ ⊢ T ype : Kind . il faut que la variable tab ait le nat → T ype est le type de tab on aimerait qu'il soit lui même de type T ype. soient des termes de type T ype. (tab 1). On est don obligé d'introduire un nouveau type de base Kind pour les types de familles de types. . nat → T ype. .  Les types et les familles de types sont les variables de type et de famille de types (par exemple : tab)  et les types et familles de types formés par appli ation (par exemple : Dénition λΠ- al ul Le ontexte vide est bien formé : [] bien formé Dé laration d'une variable (de type ou de famille de types) : Γ ⊢ T : Kind Γ. 'est-à-dire nat. si on pose T ype : T ype il est possible de typer des termes non normalisables (et une théorie fondée sur Pour que les termes type nat → T ype.. De même omme le terme T ype est le type de (tab 0) on aimerait qu'il soit lui même de type T ype. x : A ⊢ t : B Γ ⊢ λx : A t : A → B 7.. dont . Ces termes sont formés ainsi.  Les genres sont T ype et les genres formés par produit (par exemple : Πx : nat T ype). Comme le terme un tel al ul serait in ohérente) omme le montre le paradoxe de Girard. (tab 0)).94CHAPITRE 7.

deux termes tels que Γ ⊢ t : T . Ainsi la règle de onversion est né essaire pour que le terme [0] qui a le type (tab (S 0)) ait aussi ′ le type (tab 0). et .  est un type si T = T ype.2. alors le terme u est un objet. . tableaux de booléens. En appliquant tab′ à 0 on obtient (λn : nat (tab (S n)) 0) qui est onvertible ave (tab (S 0)) mais qui n'est pas le terme (tab (S 0)).) permettent de telles onstru tions. 7.2. x : T ⊢ t : T ′ Γ ⊢ λx : T t : Πx : T T ′ Abstra tion (pour les objets) : Γ ⊢ T : T ype Γ. onstru teurs de types. si le terme t est une abstra tion.  est un genre si T = Kind. Les types sont des familles de types. Il est don possible de onsidérer des tableaux paramétrés par le nombre de leurs éléments mais non par le types de leurs éléments (tableaux d'entiers. 95 LA LOGIQUE MINIMALE Les variables sont des termes : Produit (pour les genres) Γ x:T ∈Γ Γ⊢x:T bien formé Γ ⊢ T : T ype Γ. Dénition Un terme t de type T dans un ontexte Γ  est un objet si Γ ⊢ T : T ype. x : T ⊢ T ′ : Kind Γ.  est une famille de types si Γ ⊢ T : Kind.4 Les termes purs typables On her he à ara tériser l'ensemble des termes purs que l'on peut typer dans le Proposition Soit Γ un ontexte et t et T λΠ- al ul. x : T ⊢ T ′ : T ype Γ. Proposition Tout terme bien typé est un objet.). Si le terme t est une appli ation. x : T ⊢ t : T ′ Γ ⊢ λx : T t : Πx : T T ′ Conversion : Γ⊢t:T Γ ⊢ T : T ype Γ ⊢ T ′ : T ype T ≡ T ′ Γ ⊢ t : T′ La dernière règle ( onversion) est utile par exemple dans le as suivant. une famille de types ou un genre. une appli ation t = (u v) ou une abstra tion t = λx : T u. et . alors les termes u et v sont des objets. On forme une famille de types tab′ = λn : nat (tab (S n)) telle que (tab′ n) soit le type des tableaux de n + 1 éléments. x : T ⊢ T ′ : T ype Γ ⊢ Πx : T T ′ : T ype Appli ation : Γ ⊢ t : Πx : T T ′ Γ ⊢ t′ : T Γ ⊢ (t t′ ) : T ′ [x ← t′ ] Abstra tion (pour les familles de types) : Γ ⊢ T : T ype Γ. x : T ⊢ T ′ : Kind Γ ⊢ Πx : T T ′ : Kind Produit (pour les types) Γ ⊢ T : T ype Γ. La règle de formation des genres par produit permet de former le genre nat → T ype mais pas le genre T ype → T ype. Si t est un objet ( 'est-à-dire si Γ ⊢ T : T ype) alors t est une variable. D'autres extensions du λ al ul simplement typé (types polymorphes.7.

nil : (tab 0). tab : nat → T ype. LES TYPES DÉPENDANTS . S : ι → ι.L'ISOMORPHISME DE CURRY-DE BRUIJN-HOWARD Démonstration Par ré urren e sur la longueur de la dérivation du jugement Γ ⊢ t : T . cons : ι → ι → ι → ι et Le terme λn λx (cons n 0 x) Γ′ ⊢ λn : ι λx : ι (cons n 0 x) : ι → ι → ι est don également typable dans le λ- al ul simplement typé.. Démonstration On dénit une fon tions β qui asso ie à haque terme du λΠ- al ul un type du λ- al ul simplement typé. on a Γ ⊢ t : T ′ dans le λ- al ul simplement typé et |t | = u. Soit t′ = (α t) et Γ′ = ι : T ype. nat : ι. est typable ar 'est le ontenu du terme λx : ι x qui a le type ι : T ype ontexte ι → ι dans le Proposition Les termes purs typables dans le λΠ- al ul sont exa tement les termes purs typables dans le λ- al ul simplement typé. |λx : T u| = λx |u|. don si un λ-terme pur u est typable dans le λΠ- al ul. (β Kind) = ι (β T ype) = ι (β x) = ι (β (Πx : A B)) = (β A) → (β B) (β (λx : A t)) = (β t) (β (t u)) = (β t) On dénit de même une fon tion α qui asso ie à haque objet du λΠ- al ul un terme du λ- al ul simplement typé. On a Exemple Le terme λn λx (cons n 0 x) est typable dans le λΠ- al ul. le ontenu de t est le λ-terme pur |t| déni par ré urren e sur t par : |x| = x si x est une |(u v)| = (|u| |v|). soit Γ = nat : T ype. on obtient Γ′ = ι : T ype. En eet. xn : An T = (β T ). t . x1 : (β A1 ). 0 : nat. Soient Γ . T omme i-dessus. t et T deux termes tels que Γ ⊢ t : T. Enn si t est un objet alors |t| = |(α t)|. .. Soit Soit ′ un ontexte. cons : Πn : nat (nat → (tab n) → (tab (S n))) on a Γ ⊢ λn : nat λx : (tab n) (cons n 0 x) : Πn : nat ((tab n) → (tab (S n))) En traduisant e jugement dans le λ- al ul simplement typé. t Exemple soit un objet dans Le terme λx x Γ et u = |t|. la stru ture de    variable. ′ ′ ′ ′ ′ ′ soit Γ.96CHAPITRE 7. . 0 : ι. tab : ι → ι... xn : (β An ) Γ′ ⊢ t′ : T ′ dans le λ- al ul simplement typé (par ré urren e sur la stru ture de la dérivation de Γ ⊢ t : T ). t et T tels que Γ ⊢ t : T dans le λΠ- al ul et |t| = u. Dénition Un terme pur u est dit typable dans le λΠ- al ul s'il existe un ontexte Γ et des termes t et T tels que Γ ⊢ t : T.. le terme u est don typable dans le λ- al ul simplement typé.. nil : ι. S : nat → nat. Dénition Soit t un terme qui est un objet. (α x) = x (α λx : A t) = λx : (β A) (α t) (α (u v)) = ((α u) (α v)) Γ = x1 : A1 . .

il existe un algorithme simple qui prend en argument un ontexte Γ t et ou bien retourne le type T de t dans Γ. on re her he Γ. une suite de rédu tions issue de t. (α′ t2 ). t2 . t et T et T ′ = (β T ). D'après le théorème de normalisation forte ette suite est nie.. Mais la normalisation des termes purs. Proposition Tout terme typé dans le λΠ- al ul est fortement normalisable. La suite (α′ de rédu tions issue de ′ (α t).. a : ι. ou bien répond que e terme n'a pas de type dans Cet algorithme utilise le fait que. ontenus termes typés..7. Par exemple. βη -rédu tion demande une démonstration relativement te hnique que nous La onuen e de la onuen e de la En revan he la ne détaillerons pas i i. sut pas pour établir la normalisation des termes typés eux-mêmes. 97 LA LOGIQUE MINIMALE 7. πTk sont les symboles de la forme πT ayant une o urren e dans simplement typé. 7. λ- al ul . On étend Dénition On dénit la fon tions α′ qui asso ie à haque terme du λΠ- al ul un terme du λ- al ul simplement typé. x1 : (β A1 ). Démonstration Soit t1 . xn : (β An ) où πT1 .2. λ- al ul simplement typé. ne λx : (tab (λy : λx x soit normal. bien que son ontenu α de façon à prendre également en ompte le type de la variable liée.. . . ..2. (α′ x) = x (α′ λx : A t) = (λy : ι λx : (β A) (α′ t) (α′ A)) (α′ (u v)) = ((α′ u) (α′ v)) (α′ Kind) = a (α′ T ype) = a (α′ (Πx : A B)) = (π(β A) (α′ A) λx : (β A) (α′ B)) Proposition Soit Γ = x1 : A1 ... est une suite dans le λ- al ul simplement typé. xn : An un ontexte.. le terme nat y 0)) x n'est pas normal puisqu'il se réduit en λx : (tab 0) x.7 La dé idabilité de la typabilité Selon Chur h Dans le et un terme Γ. t1 . pour haque terme... t don ette variable dans n'est pas typable. Sinon le terme . De plus Γ ⊢ t : T alors t est fortement normalisable que t soit un objet. Il en est de même de la suite t1 ).6 La onuen e β -rédu tion dans le λΠ- al ul se montre par les méthodes habituelles.2.5 La normalisation Comme les termes purs typables dans le λΠ- al ul sont également typables dans le λ- al ul simplement typé. ils sont fortement normalisables.. Soit t′ = (α′ t) Γ′ = ι : T ype. .. une seule règle de typage peut s'appliquer et que haque règle ne demande de al uler que le type de sous-termes de  Si t est une variable. On modie don la fon tion on veut montrer que si ou un genre. une famille de types don la fon tion α à tous les termes du al ul. peut être typé uniquement par la règle de typage des variables. deux termes tels que Soit Γ ⊢ t : T... Si on la trouve on retourne le type asso ié à ette variable. On a Γ ′ ⊢ t′ : T ′ dans le Proposition Soit t et t′ deux termes du λΠ- al ul si t se β -réduit en une étape en t′ alors (α′ t) se β -réduit en au moins une étape en (α′ t′ )..2.... 7. Cet algorithme s'exprime don ainsi... . t. t2 . πTk : ι → (Tk → ι) → ι. t′ . .. .. πT1 : ι → (T1 → ι) → ι.

Si la forme normale de e type est distin te de T ype le terme n'est pas typable. x : A. et Γ ⊢ t : T ′.98CHAPITRE 7. On ommen e par montrer les lemmes suivants. Sinon on type le sous-terme u dans le ontexte Γ. Proposition Si Γ ⊢ t : T et Γ ⊢ t : T ′ alors T ≡ T ′. On retourne le type A → B. Démonstration D'après la onuen e. alors t peut être typé uniquement par la règle de typage des appli ations. Selon Curry Les termes purs typables dans le λΠ- al ul et eux typables dans le même. t = (u v). En eet si t a le type T alors t a aussi pour type tous les équivalents bien typés de T . Si la forme normale de e type est distin te de T ype et Kind alors le terme n'est pas typable. A→B et que le type de v est A peut être typé uniquement par la règle de typage des abstra tion. Démonstration Par ré urren e sur la somme des longueurs des dérivations de Γ ⊢ t : T Proposition Si Γ ⊢ t : T alors ou bien T = Kind ou bien Γ ⊢ T : T ype ou bien Γ ⊢ T Démonstration Par ré urren e sur la stru ture de la dérivation de Γ ⊢ t : T .  Si  Si t = T ype. on type ré ursivement le sous-terme A dans le ontexte Γ. Démonstration D'après la normalisation forte et la onuen e. il n'y a plus uni ité du type. x : A. et l'ensemble des termes purs typables dans le λ- al ul λ- al ul simplement typé étant les simplement typé étant dé idable. soit B le type de e terme. x : A. On retourne le type Πx : A B . l'ensemble λΠ- al ul est dé idable.  Si on type ré ursivement les sous-termes normale du type de   Sinon on retourne e terme. alors t B. don sur la normalisation et la onuen e de la rédu tion. Dénition On obtient don l'algorithme suivant  Si t est une variable. Sinon on type le sous-terme B dans le ontexte Γ. 'est-à-dire qu'il n'existe pas d'algorithme qui prend en argument un ontexte Γ et un terme pur des termes purs typables dans le un terme pur u et ou bien retourne un ontexte . ré ursivement le sous-terme La dé idabilité du typage repose don sur la dé idabilité de l'équivalen e de deux termes. on type don ré ursivement les sous-termes alors on retourne le type  Si t = λx : A u. mais il est uniquement né essaire que le type de u soit équivalent à un produit Πx : A B et que le type de v soit équivalent à A. si la forme u est un produit Πx : A B et que la forme normale du type de v est A alors on retourne le type B[x ← u]. le problème devient indé idable. soit B le type de e terme. on type ré ursivement le sous-terme A dans le ontexte Γ. Pour que l'appli ation (u v) soit bien typée. alors on retourne Kind. Si la forme normale de e type est distin te de T ype le terme n'est pas typable. Si t = Πx : A u. alors il n'est pas typable. u et v. Sinon le terme n'est pas typable. on retourne le type asso ié à ette variable. En revan he on peut montrer que si on impose le type des variables libre de u. Dans le λΠ- al ul. u et v . : Kind. L'équivalen e entre deux termes bien typés est don dé idable. Il existe don un algorithme qui prend en argument Γ et deux termes t et T tels que Γ ⊢ t : T et |t| = u ou répond que le terme n'est pas typable dans le λΠ- al ul. il n'est plus né essaire que le type al ulé de u soit un produit Πx : A B et que le type al ulé de v soit A. on normalise es deux types. on type don u dans le ontexte Γ. Si on la trouve. on re her he ette variable dans Γ. si le type de u est une è he Sinon le terme n'est pas typable. Si t = λx : A u. Proposition Si t est équivalent à un produit alors t se réduit sur un produit. Sinon le terme n'est pas typable. t = Kind. LES TYPES DÉPENDANTS . à ause de la règle de onversion. Proposition Si t et u sont deux termes bien typés et t ≡ u alors t et u ont même forme normale.L'ISOMORPHISME DE CURRY-DE BRUIJN-HOWARD  Si t = (u v).

où la fon tion Φ est dénie par ′  (Φ x) = x . qui permet de déduire n'importe quelle En eet selon la sémantique de Heyting une fon tion qui asso ie à tout objet t. Soit un langage de premier ordre (par exemple l'arithmétique). ∀x A est ⊥ λΠ- al ul.. ′  pour haque symbole de fon tion f d'arité n une variable f de type ι → . Γ qui ontient :  une variable ι de type T ype.. ′  pour haque symbole de prédi at P d'arité n une variable P de type ι → ...An ⊢ A dans e langage.. alors il existe un terme . un )) = (P (Φ u1 ) ....2. prédi ats. l'absurde (⊥).7. une variable x de type ι. et une inje tion de l'ensemble des propositions de la théorie de premier ordre vers l'ensemble des termes normaux de type T ype. omme une abréviation pour d'après les règles de dédu tion naturelle sur l'impli ation et la négation En revan he on ne onsidère pas la règle d'élimination de proposition de ⊥. un )) = (f (Φ u1 ) .. On représente les démonstrations par des termes du et Kolmogorov une démonstration de A[x ← t].. Pour démontrer des propositions on se donne les règles de dédu tion naturelle P ∈Γ hypothèse Γ⊢P Γ. An .... u et qui retourne deux termes dans 99 LA LOGIQUE MINIMALE Γ dans le t et T tels que λΠ- al ul. (Φ un )). An . . en onsidérant ¬A A ⇒ ⊥. (Φ un )). Γ⊢t:T et |t| = u ou répond que le terme n'est pas typable 7. Soit Γ le ontexte asso ié aux propositions A1 . A.. .  (Φ (∀x A)) = Πx : ι (Φ A). une démonstration de Le type de ette fon tion est dépendant au sens où le type du résultat de la fon tion dépend de la valeur de l'argument. l'impli ation. → ι → T ype. Soit un jugement On se pla e don dans un ontexte Proposition Soient des propositions A1 .. P ⊢ Q ⇒-intro Γ⊢P ⇒Q Γ⊢P ⇒Q Γ⊢P ⇒-élim Γ⊢Q Γ⊢P ∀-intro Γ ⊢ ∀x P x non libre dans une proposition de Γ Γ ⊢ ∀x P ∀-élim Γ ⊢ P [x ← t] On peut également in lure la négation.. Si il existe une démonstration en dédu tion naturelle du jugement du λΠ- al ul de type (Φ A) dans e ontexte.. omposé de symboles de fon tions et de A1 .  (Φ (A ⇒ B)) = (Φ A) → (Φ B)..2. An . .. ′  (Φ (f u1 .. .. ′  (Φ (P u1 . A. ′  pour haque variable x apparaissant dans les propositions A1 .8 L'isomorphisme de Curry-De Bruijn-Howard pour la logique minimale La logique minimale est le formalisme obtenu en onsidérant des propositions formées à partir des pro- positions atomiques.  pour haque proposition Ai une variable de type (Φ Ai ). A1 .. et le quanti ateur universel.. An ⊢ A Démonstration Par ré urren e sur la stru ture de la démonstration. La fon tion Φ est une bije tion de l'ensemble des termes de la théorie de premier ordre vers l'ensemble des termes normaux de type ι.. Car Γ ⊢ ¬A si et seulement si Γ ⊢ A ⇒ ⊥.. → ι → ι..

ar en logique du premier ordre on ne peut pas former de termes de prédi at autres que eux donnés par le langage. A ⇒ B. sous une hypothèse puis à démontrer la proposition A A ∀-intro) ⇒-intro) ⇒-élim) la pour en déduire (ave la règle et à en déduire (ave la règle Remarque Habituellement. b = 1. Dans le se ond as la proposition B a une démonstration plus dire te onsistant à montrer B sans hypothèse omme dans la première démonstration en redémontrant la proposition A à haque fois que la démonstration initiale faisait appel à l'hypothèse A. La règle de onversion est également inutile. Par ailleurs. ar e terme est le type des symboles de prédi at unaires. par exemple.9 L'élimination des oupures en logique minimale Dénition Une oupure dans une démonstration. la proposition .2. par exemple. les démonstrations des mathématiques informelles omportent de nombreuses oupures. LES TYPES DÉPENDANTS . nous verrons qu'une démonstration intuitionniste ave oupure d'une proposition de la forme ∃x (P x) ontient un programme dont la sortie est un objet démonstration sans oupure. la règle d'abstra tion sur les types (qui permet. Remarque Une oupure est un détour dans une démonstration en eet. 'est-à-dire de l'exé uter. Pour ela.100CHAPITRE 7. de former le terme λn : nat(P (S n)) où P est un symbole de prédi at) n'est pas absolument né essaire. a qui vérie la propriété P. 'est-à-dire que la d'élimination des oupures qu'il n'y a pas de démonstration (dire te ou indire te) de logique minimale du premier ordre est ohérente. y ompris eux formés par la règle d'appli ation. L'utilité de ette règle apparaîtra dans la suite de e hapitre. la règle de produit sur les types (qui permet. alors qu'une L'élimination des oupures est don une manière de al uler la sortie d'un programme. si on veut démontrer ∀x (x2 − 1) = (x + 1)(x − 1) il vaut mieux utiliser le résultat bien onnu ∀a ∀b (a2 − b2 ) = (a + b)(a − b) que redémontrer e résultat dans le as parti ulier a = x. on pourra déduire du théorème ⊥. En parti ulier omme il est fa ile de montrer qu'il n'y a pas de démonstration dire te de ⊥. 7. on introduit une variable de type les démonstrations de la logique du T ype pour haque sorte de la théorie multisortée et on donne aux symboles de fon tion et de prédi at les types appropriés. ontient dire tement et objet a. On dira don de façon équivalente que λa : Πx : ι ((x + 0) = x) (a 0) Πx : ι ((x + 0) = x) → (0 + 0 = 0) ∀x : ι ((x + 0) = x) ⇒ (0 + 0 = 0). il est important de montrer que l'on peut en théorie éliminer les oupures et démontrer tous les théorèmes dire tement. quand nous aurons introduit le quanti ateur existentiel. est un terme de type Remarque ou que 'est une démonstration de la proposition Pour exprimer les démonstrations de la logique du premier ordre. En revan he.L'ISOMORPHISME DE CURRY-DE BRUIJN-HOWARD Comme toujours on utilise les mêmes notations pour les objets isomorphes. (P x) dans le as général pour en déduire (ave la règle la proposition B (P t). ar tous les types onsidérés sont en forme normale. est une sous-démonstration qui onsiste  ou bien à démontrer une proposition ∀x (P x) puis (ave la règle ∀-élim)  ou bien à démontrer une proposition la proposition proposition B. Remarque Il est également possible d'exprimer dans le λΠ- al ul premier ordre multisortée. de former le type ι → T ype) est né essaire. Par exemple. Néanmoins. on voit que (P t) a une démonstration plus dire te obtenue en spé ialisant elle de (P x) en substituant partout la variable x par le terme t. dans le premier as.

101 LA LOGIQUE MINIMALE Néanmoins ette remarque ne sut pas pour montrer qu'on peut toujours éliminer les oupures dans les démonstrations. Proposition (Élimination des oupures) Soit pro essus d'élimination des oupures dans Démonstration S'il π P une proposition et π une démonstration de P.. La démonstration de A ⇒ B a la forme λx : A u et elle de B la forme ((λx : A u) t). an ) où u n'est pas une appli ation. n = 0. la démonstration de ∀x (P x) a la forme λx : ι u et elle de (P t) la forme ((λx : ι u) t). il faut don montrer que e pro essus d'élimination des oupures termine. E rivons t = (u a1 . Alors il n'y a pas de terme normal de type ⊥ dans Γ. a la forme  Si u Πx : A B . ont la forme Ces démonstrations sont obtenues en réduisant les radi aux asso iés aux oupures. → ι → T ype. Corollaire Toute proposition P démontrable en logique du premier ordre admet une démonstration sans oupure. → ι → ι. il n'y a pas de démonstration de ⊢ ⊥. ou ι → . (P x) dont on ∀-intro) ∀x (P x) puis (ave la règle ∀-élim) la proposition (P t). et . La remarque que l'élimination d'une oupure peut réer de nouvelles oupures est simplement elle que la rédu tion d'un radi al peut réer de nouveaux radi aux. Pour montrer que toute proposition démontrable a une démonstration sans oupure. est une variable. ι → . dans le se ond as. alors rempla er l'invo ation à l'hypothèse A par la démonstration de ette hypothèse peut réer une nouvelle oupure qu'il faut alors éliminer... montrons que le λ-terme asso ié omporte un radi al. En eet.. Démonstration Soit une démonstration qui omporte une oupure.. Proposition Soit Γ un ontexte omprenant T ype.. Appelons u la démonstration de B sous l'hypothèse x : A et t elle de A.  Premier as : La démonstration omporte une sous-démonstration de la proposition déduit (ave la règle  Dans les deux as le sous-terme asso ié à la sous-démonstration qui est une oupure est un radi al. ne terminait pas on pourrait onstruire une suite innie de démonstrations telle que ha une s'obtient en éliminant une oupure dans la pré édente.  un symbole ι de type  des symboles de type Démonstration Considérons un terme normal bien typé dans Γ. ι → . Par l'isomorphisme de Curry-De BruijnHoward on obtiendrait une suite de rédu tions innie dans le λΠ- al ul en ontradi tion ave le théorème de normalisation forte. → ι → ι Corollaire Dans le ontexte Γ il n'y a pas de terme (normal ou non) de type ⊥. e n'est don pas ⊥..7.. don t est une abstra tion le type de T ype.2... et que sa démonstra- tion se termine par l'introdu tion de ette impli ation. Se ond as : La démonstration omporte une sous-démonstration de la proposition B sous une hypothèse A.  Si t u est une abstra tion alors omme le terme est normal. alors ette variable a le type don le type de t n'est pas ⊥. si la proposition A la forme P ⇒ Q. → ι → T ype Corollaire (Cohéren e) En logique minimale. Proposition Si une démonstration omporte une oupure. dont on déduit (ave la règle ⇒-intro) la proposition A ⇒ B puis la proposition B (ave la règle ⇒-élim) en utilisant une démonstration de A. alors le termine. Remarque Les démonstrations plus dire tes obtenues en spé ialisant dans le premier as la démonstration de (P x) en substituant partout la variable à l'hypothèse A x par le terme par la démonstration de la proposition A t et dans le se ond en remplaçant les invo ations u[x ← t]. alors le λ-terme orrespondant ontient un radi al.  des symboles de type ι → . Appelons u le terme asso ié à la démonstration de (P x).

 Une démonstration de A[x ← t]. l'arithmétique du premier et . 7. puisque es démonstrations doivent toujours s'exprimer dans un système logique plus fort que elui dont elles permettent de montrer la ohéren e.B Σx : A B .102CHAPITRE 7.3 La logique intuitionniste 7. 7. Cette remarque explique la relative di ulté des démonstrations ohérent alors il est impossible de démontrer dans de démontrer dans des théorèmes de normalisation.1 La sémantique de Heyting et Kolmogorov Nous avons exprimé ainsi des démonstrations des propositions formées ave l'impli ation et le quanti ateur universel.3. x : T ⊢ T ′ : T ype Γ ⊢ Σx : T T ′ : T ype a de A et .C orrespond à l'objet a de A et (g b) si c orrespond à l'objet b de B . B.3. Si c est un élément de A + B . LES TYPES DÉPENDANTS . don il est impossible L la normalisation de C .  Une démonstration de une démonstration de  La sémantique de Heyting et Kolmogorov propose d'exprimer ainsi les démonstrations des propositions formées ave la onjon tion. De même que le types des fon tions A→B devait se généraliser en Πx : A B quand le type de la valeur retournée par la fon tion dépendait de la valeur de l'argument de la fon tion. (π1Σx:A B c) la première omposante de c et (π2Σx:A B c) on note (j A.  Une démonstration de ∃xA s'exprime omme un ouple formé d'un terme A∨B ⊥ s'exprime omme un ouple formé d'une démonstration de t A et d'une et d'une démonstration de s'exprime ou bien omme une démonstration de A ou bien omme une s'exprime omme un élément de l'ensemble vide.2 Le λ1- al ul  On note Si c (pΣx:A B a b) le ouple de type est un terme de type la se onde. Pour représenter es démonstrations en λ- al ul il faut étendre le λΠ- al ul en ajoutant un type A × B pour A et d'un élément de type B . Σx : A B dont la première omposante est a et la se onde b. On note et objet (δ f g c).) Si un λ- al ul C permet de représenter les démonstrations de L alors la ordre. Une démonstration de ∀x A s'exprime omme une fon tion qui asso ie à tout objet t. l'absurde. on note (R a) un objet de type A.L'ISOMORPHISME DE CURRY-DE BRUIJN-HOWARD Remarque Soit L un système logique (la logique du premier ordre sans axiomes. A ⇒ B s'exprime omme une fon tion qui asso ie à toute démonstration de A. la théorie des types.  Une démonstration de démonstration de B. D'après le se ond théorème d'in omplétude de L la ohéren e de L. f une fon tion de A dans C et g une fon tion de B dans C . A∧B  Une démonstration de démonstration de B. On peut dénir l'objet d qui est (f a) si c A.B. A. normalisation de Gödel. la disjon tion.  On note (i a) l'élément de l'union disjointe de A+B orrespondant à l'élément Γ ⊢ T : T ype Γ. le type des ouples doit se généraliser en Σx : A B A×B quand le type du se ond élément du ouple dépend de la valeur du premier (pour exprimer les démonstrations des propositions formées ave le quanti ateur existentiel). On ajoute au λΠ- al ul les règles de typage suivantes. A  Si a est un terme de type ∅. un type A + B union disjointe des les ouples omposés d'un élément de type types A et B et un type vide ∅. une démonstration de A[x ← t]. si L est C implique trivialement la ohéren e de L. Cela mène au λ1- al ul.B b) l'élément de l'union disjointe de A + B orrespondant l'élément b de B . et le quanti ateur existentiel.

103 LA LOGIQUE INTUITIONNISTE Γ ⊢ T : T ype Γ.7. alors le type (Φ A) est habité. mathématique × → ⊥ ∨ ∃ ∀      ((λx : A a) b)  a[x ← b] (π1 (p a b))  a (π2 (p a b))  b (δ f g (i a))  (f a) (δ f g (j b))  (g b) nom dans les langages de programmation ensemble vide ∧ ⇒ 7. interpr. logique log.T .T b) : T + T ′ Γ ⊢ a : T + T′ Γ ⊢ U : T ype Γ ⊢ f : T → U ′ Γ ⊢ (δ T.4 La normalisation et la onuen e Dénition Règles de rédu tion nom union disjointe type on ret (ML).3. non dép.3 L'isomorphisme de Curry-De Bruijn-Howard Dénition     (Φ (Φ (Φ (Φ (A ∧ B)) = Σx : (Φ A) (Φ B) (∃x A)) = Σx : ι (Φ A) (A ∨ B)) = (Φ A) + (Φ B) ⊥) = ∅ Proposition Si la proposition A est démontrable en logique intuitionniste.U f g a) : U Γ ⊢ g : T′ → U Γ bien formé Γ ⊢ ∅ : T ype Γ⊢t:∅ Γ ⊢ (RT t) : T 7.T a) : T + T ′ Γ ⊢ T : T ype Γ ⊢ T ′ : T ype Γ ⊢ b : T ′ ′ Γ ⊢ (j T. x : T ⊢ T ′ : T ype Γ ⊢ a : T Γ ⊢ b : T ′ [x ← a] ′ Γ ⊢ (pΣx:T T a b) : Σx : T T ′ : T ype Γ ⊢ a : Σx : T T ′ ′ Γ ⊢ (π1Σx:T T a) : T Γ ⊢ a : Σx : T T ′ ′ Γ ⊢ (π2Σx:T T a) : T ′ [x ← (π1Σx:T T′ a)] ′ Γ ⊢ T : T ype Γ ⊢ T : T ype Γ ⊢ T + T ′ : T ype Γ ⊢ T : T ype Γ ⊢ T ′ : T ype Γ ⊢ a : T ′ Γ ⊢ (iT. type ∅ + Σ Π as interpr.3. type union (C) produit artésien type re ord ens. non dép.3. de fon tions type fon tionnel .

E rivons t = (u a1 .  des symboles de type ι → . On onsidère su essivement les as suivants :        u u u u u u u Γ. Démonstration On adapte la méthode de Tait.). a Proposition Tout terme est fortement normalisable.  si le terme t a le type Σy : U V alors t a la forme (p v w). il n'y a pas de démonstration de ⊢ ⊥. omme le λ1- al ul omporte déjà une notion de fon tion et d'appli ation. → ι → ι.. des (de diérents axiomes de onversion. an )  un symbole ι de type  des symboles de type où u n'est pas une appli ation. (R v). Ce terme est la forme normale de Une démonstration de P [x ← t] est la forme normale de (π1 u) où u est la démonstration de (π2 u). est une variable de est de la forme est de la forme est de la forme est de la forme est de la forme est de la forme Corollaire 1 (Cohéren e) En logique intuitionniste. . Démonstration Considérons un terme normal bien typé dans Γ... on peut op- timiser ette représentation des démonstrations en utilisant la fon tionnalité des types du λ1- al ul pour . On ajoute parfois d'autres règles appelées 10 de [5℄. une variable ε de type τo → T ype et des variables orrespondant aux La manière la plus naive de faire ela onsiste à introduire une variable de type de la théorie des types simples (ι.1 La théorie des types omme une théorie du premier ordre multisortée La théorie des types simples est une théorie du premier ordre.4 L'expression des démonstrations de la théorie des types 7. Corollaire 2 En logique intuitionniste si la proposition A ∨ B B est démontrable alors A est démontrable ou est démontrable. ι → o. Naturellement. 7.4.  si le terme t a le type U + V alors t a la forme (i v) ou (j w)...104CHAPITRE 7. LES TYPES DÉPENDANTS . Proposition Soit Γ un ontexte omprenant T ype. (π1 v) ou (π2 v). λx : T v . On introduit ensuite des variables pour les ombinateurs et variables αT.. On peut don exprimer ses démonstrations dans le λ1- al ul. T ype pour haque type o. Voir le hapitre pourtant le même argument. → ι → T ype..  le terme t n'a pas le type ⊥.. Soit t un terme normal bien typé dans Γ. t tel ∃xP . ι → . (δ v f g).U de sorte τT →U → τT → τU où τA est la variable (du λ1- al ul) qui orrespond au type la théorie des types simples) A.L'ISOMORPHISME DE CURRY-DE BRUIJN-HOWARD Ces règles peuvent être omplétées par des règles homologues à la     λx : A (a x)  a si x n'apparaît pas (p (π1 a) (π2 a))  a (δ λx : A (i x) λy : B (j y) a)  a (R∅ t)  t dans η -rédu tion pour es symboles. (p v w). Remarque Ces règles de rédu tion ne permettent pas d'identier ertaines démonstrations qui expriment règles de ommutation. Corollaire 3 En logique intuitionniste si la proposition ∃xP que P [x ← t] est démontrable alors il existe un terme soit démontrable. (i v) ou (j w).

Quand on identie les symboles o et T ype. En revan he les autres axiomes de onversion. Cela nous permet don de supprimer l'axiome de β - onversion. ι → T ype. et . pour le moment. 'est-à-dire les types β -équivalents. 105 L'EXPRESSION DES DÉMONSTRATIONS DE LA THÉORIE DES TYPES τA→B λ1- al ul pour l'appli ation de la théorie des types simples ( 'est-àu v) ave le terme (u v)) et en utilisant le λ- al ul. ar il serait possible d'y exprimer le paradoxe de et les propositions. par exemple l'axiome ε(∧˙ t u) ⇔ (ε(t) ∧ ε(u)) restent. il est né essaire d'étendre le λ1- a ul. ar un produit Πx : A B peut être formé uniquement quand A est un type (ι. qui onsiste à identier les relations sans arguments o et le type T ype et à supprimer le symbole ε. prendre une autre voie. le λ1- a ul t a modulo Nous allons.). Ces termes ne sont en eet pas bien typés en λ1- al ul. ε(t) ∧ ε(u). exprimer la fon tionnalité des types de la théorie des types simples ( 'est-à-dire en identiant le type et τA → τB ) en utilisant l'appli ation du dire en identiant le terme (αT. 'est-à-dire les axiomes de l'égalité et les axiomes d'extensionalité). 7. alors il a aussi le type dont il faut démontrer la normalisation. ι → ι. Cette remarque est à rappro her de elle qu'en λ1- al ul on peut dénir une famille de types paramétrée Pour pouvoir exprimer le type du symbole sur une variable de prédi at ou de proposition (par exemple.U pour exprimer les fon tions. Ainsi on introduit une variable de type o → T ype ι et une variable de type o de type T ype. de oté les autres axiomes de la théorie des types simples. 'est-à-dire le type simplement une variable ι de type Girard. Identier les propositions β -équivalentes. et . et non les ombinateurs. Le type de la théorie des types simples ι → o se traduit désormais dans le λ1- al ul par le type ι → T ype. Des extensions du λ1- al ul.4.) mais pas quand 'est un genre (T ype. 'est-à-dire le type ΠP : T ype (P → P )). On introduit don T ype.2 Les axiomes de onversion On veut maintenant supprimer les axiomes de onversion de la théorie des types simples ε(((λx t) u) = t[x ← u]) ε(∧˙ t u) ⇔ (ε(t) ∧ ε(u)) ε(∨˙ t u) ⇔ (ε(t) ∨ ε(u)) ε(⇒ ˙ t u) ⇔ (ε(t) ⇒ ε(u)) ε(⇔ ˙ t u) ⇔ (ε(t) ⇔ ε(u)) ε(¬˙ t) ⇔ ¬ε(t) ε(∀˙ t) ⇔ ∀x ε(t x) ε(∃˙ t) ⇔ ∃x ε(t x) en se plaçant dans une théorie modulo (laissons. on peut étendre la règle de onversion en indiquant par exemple que si le type ε(∧˙ t u). On obtient alors un nouveau al ul.7. Pour supprimer es axiomes. omme le Cal ul des onstru tions permettant la formation . est le rle de la règle de onversion (dont nous avions remarqué qu'elle était inutile pour exprimer les démonstrations de la logique du premier ordre et dont nous per evons maintenant l'inérêt). Les prédi ats sont maintenant des familles de types et non des objets. ependant. une variable ε de type et des variables orrespondant aux diérents axiomes de onversion. mais pas une famille de types paramétrée par un type (on peut dénir le type des tableaux paramétrés par leur taille.4. pour former la proposition par un objet (par exemple par un entier). mais pas le type des tableaux paramétrés par le type de leurs éléments). il faut abandonner la règle o : T ype qui s'exprimerait alors T ype : T ype et qui mènerait à un système in ohérent. ∧ (désormais T ype → T ype → T ype) et pour pouvoir quantier ∀P : o (P ⇒ P ).

En 1965. Une théorie des types basée sur le dans [8℄. Suivant Heyting. Howard donne une démonstration de λ- al ul. Une présentation moderne du paradoxe de Girard qui montre que la règle la théorie des types orrespondante est in ohérente) est exposé dans [4℄. l'axiome du hoix ∀x ∃y (P x y) ⇒ ∃f ∀x (P x (f x)) n'a pas de démonstration en théorie des types simples. LES TYPES DÉPENDANTS . mais pas sur les variables de prédi at. Le T ype : T ype permet de typer des termes non normalisables (et que démonstrations : le système AUTOMATH. Néanmoins. Howard propose en 1969 dans [7℄ un λ- al ul ave types dépendants et étend l'isomorphisme à la logique du premier ordre. Ce λ- al ul λ- al ul ave étant la base d'un des premiers systèmes informatique de véri ation de λΠ- al ul est donnée dans [6℄.L'ISOMORPHISME DE CURRY-DE BRUIJN-HOWARD de tels types polymorphes et de e fait la représentation de toutes les démonstrations de la théorie des types seront étudiées dans la suite du ours. omme le montre le théorème de normalisation. que les démonstrations d'un fragment λ1- al ul. ou ajouter le polymorphisme pour exprimer toute la théorie des types (on obtient alors le Cal ul des onstru tions). En 1969. ∀T uniquement uniquement quand le symbole o n'a pas d'o urren e dans le type Si toutes les démonstrations exprimées en dédu tion naturelle peuvent être traduites omme des termes. il en a une dans le λ1- al ul t = λu (p λx (π1 (u x)) λx (π2 (u x))) Le λ1- al ul est don un système logique plus fort que la théorie prédi ative des types (il permet de démontrer davantage de théorèmes). il est ohérent. Bibliographie La sémantique de Heyting et Kolmogorov est apparue en 1931-1932. dans [9℄ Tait remarque la orrespondan e entre normalisation et élimination des oupures. En revan he. Comme on ne peut pas quantier sur les prédi ats. il est impossible d'exprimer dans la théorie prédi ative des types le prin ipe de ré urren e sur les entiers. on peut remarquer. où l'on a les quanti ateurs T.3 L'expression des démonstrations de la théorie prédi ative des types Avant de onstruire es extensions du λ1- al ul. Le Cal ul des onstru tions. la ré iproque n'est pas vraie. . Par exemple. De Bruijn propose indépendamment en 1968 dans [2℄ une autre version du types dépendants. il ne faut pas espérer représenter les démonstrations la théorie des types simples modulo dans le λ1- al ul lui-même. Ce fragment appelé important de la théorie des types simples modulo peuvent se représenter dans le fragment prédi atif de la théorie des types simples est la restri tion de la théorie des types simples qui permet de quantier sur les variables de fon tions. Comme la normalisation du λ1- al ul peut se démontrer dans la théorie des types simples. L'élimination des oupures pour la logique du premier ordre est montrée par Gentzen en 1934 [3℄. Suivant Curry et Tait.4. omme le λ1- a ul modulo permettent de représenter les démonstrations de la théorie des types simples modulo. La normalisation de es al uls implique la ohéren e de la théorie des types simples et don ne peut pas se démontrer dans la théorie des types simple elle-même.106CHAPITRE 7. En 1958 Curry remarque dans [1℄ que les types des λ-termes bien typés sont des tautologies intuitionnistes et établit la orrespondan e entre démonstrations et termes d'une part et propositions et types d'autre part. 'est-à-dire le fragment. L'élimination des oupures λ- al ul ave types dépendants est présentée l'élimination des oupures basée sur la normalisation de son système de est exposée en détails dans [5℄. ela est du au fait que la se onde proje tion est un outil plus puissant que la règle d'élimination du quanti ateur existentiel. Il y a alors deux possibilités pour étendre e langage : ajouter le prin ipe de ré urren e sous forme d'une règle de typage parti ulière (on obtient alors la théorie des types de Martin-Löf ). 7.

1972. Lafont. A Framework for Dening Logi s. Napoli. Honsel.A. Howard. pp. 29-61. Girard. 1993. A ademi Press. Cambrige University Press.). Curry. Symposium on Automati Demonstration. Seldin (Eds. Martin-Löf. [2℄ N. G.E. 1970. 479-490. 1980. 143-184. R. . and some of its Extensions.Bibliographie [1℄ H. 40.Y. P.Y. 107 J. 1969. Harper.P. Formal Systems and Re ursive Fun tions. [8℄ P. F. Journal of the Asso iation for Computing Ma hinery. Y. The Colle ted Work of Gehrard Gentzen. Intuitionisti Type Theory. North-Holland. R. De Bruijn. Gentzen. Plotkin. Amsterdam. Types and Proofs. Girard. [4℄ J. 1. M. Crossley and M. Interprétation Fon tionnelle et Élimination des Coupures dans l'Arithmétique d'Ordre Thèse d'État. 1969. J. Szabo (Ed.E.B. North Holland. Tait. Hindley.). 1958. Supérieur.R. Curry : Essays on Combinatory Logi . [3℄ G. W. Amsterdam. SpringerVerlag.N. Lambda Cal ulus and Formalism. 1968. Vol.G. Combinatory Logi . Bibliopolis. Innitely long terms of transnite type. North Holland.). J. [5℄ [6℄ [7℄ pp. The Mathemati al Language AUTOMATH. Université de Paris VII. pp. Taylor. The Formulæ-as-type Notion of Constru tion. [9℄ W. 1965.B. J. Dummett (Eds. Le ture Notes in Mathemati s 125.A. 1989. its Usage. To H.W. Versailles. 1984. 1.Feys.

108 BIBLIOGRAPHIE .

mais β -exprimer par un terme une fon tion dénie par ré urren e. Pour montrer l'existen e de ette fon tion.Chapitre 8 Les types indu tifs λ- al ul simplement typé nous avons vu que quand on se donnait un type de nat et des symboles 0 : nat. En tant que langage de programmation. on montre par ré urren e sur x la proposition ∀x ∃y ((∃z (x = 2 × z) → y = 1) ∧ (¬ ∃z (x = 2 × z) → y = 0)) puis on en déduit en utilisant l'axiome du hoix ∃f ∀x ((∃z (x = 2 × z) → (f x) = 1) ∧ (¬ ∃z (x = 2 × z) → (f x) = 0)) L'ajout d'un opérateur de hoix (ou de des riptions) à la théorie des types donne une notation pour tous les objets dont on peut démontrer l'existen e.1 Le Système T de Gödel 8. on ne pouvait β -exprimer que très peu de fon tions des entiers Dans le hapitre onsa ré au base dans les entiers (les fon tions onstantes et les fon tions ajoutant une onstante à l'un de leurs arguments). En eet si (C P ) soit démontrable alors P est un prédi at tel que la proposition est une notation pour un objet tel que (P (C P )). le λ- al ul simplement typé est un langage très pauvre.1. La fon tion ara téristique de l'ensemble des entiers pairs est exprimée par le terme χ2N = (C λf : nat → nat ∀x ((∃z (x = 2 × z) → (f x) = 1) ∧ (¬ ∃z (x = 2 × z) → (f x) = 0))) et on peut démontrer la proposition (χ2N 0) = 1 mais le terme (χ2N 0) par un λ-terme simplement typé est qu'il est possible de qu'il est impossible de Gödel est d'étendre le démontrer une proposition par ré urren e. dans le hapitre onsa ré à la théorie des types simples nous avons vu qu'il était possible de montrer dans ette théorie l'existen e de fon tions qui n'étaient pas exprimables par un λ-terme. ∃x (P x) Mais. Par exemple on peut montrer l'existen e de la fon tion ara téristique des entiers pairs. L'idée du λ- al ul simplement typé de manière à autoriser de telles dénitions. En revan he. 8.1 Dénition La forme d'une dénition par ré urren e d'une fon tion (f 0) = a 109 f de type 1. Quand on exprime les entiers omme des itérateurs (les entiers de Chur h) on peut β -exprimer un peu plus de fon tions (les polynmes étendus) mais pas beau oup plus. ette notation n'est asso iée à au une notion de al ul. S : nat → nat. β -exprimer ne se réduit pas sur le terme La raison pour laquelle on peut montrer l'existen e de ette fon tion alors qu'on ne peut pas la nat → T est système T de .

La rédu tion du système T est donnée par  (λx : T t u)  t[x ← u]. On peut η n'apparaît pas dans t) Remarque Au lieu d'ajouter une variable RecT de type T → (nat → T → T ) → nat → T .110 CHAPITRE 8. LES TYPES INDUCTIFS (f (S n)) = (g n (f n)) est un objet de type T et g une fon tion de type nat → T T Le symbole Rec a don le type T → (nat → T → T ) → nat où a vaille a et (Rec a g (S n)) vaille (g n (Rec a g n)). Rec : T → (nat → T → T ) → nat → T . S : nat → nat. L'intention est don que (Rec a g 0) Dénition Les types du système T sont eux du λ- al ul simplement typé à un type de base : nat. on peut RecT et ajouter une règle de typage étendre le langage des termes par une onstru tion primitive Γ⊢a:T Γ ⊢ g : nat → T → T Γ ⊢ k : nat Γ ⊢ (RecT a g k) : T 8. ave des variables distinguées 0 : nat. du système T Les expressions rédu tibles par es deux dernières règles s'appellent des également ajouter la règle  λx : T (t x)  t (si x radi aux de ré urren e. → T .  (Rec a g 0)  a. On notera ette fon tion (RecT a g).1.  (Rec a g (S n))  (g n (Rec a g n)).2 Exemples La fon tion double est dénie par d = λa : nat (Recnat 0 λx : nat λy : nat (S (S y)) a) L'addition est dénie par le terme + = λa : nat λb : nat (Recnat a λx : nat λy : nat (S y) b) La multipli ation par le terme × = λa : nat λb : nat (Recnat 0 λx : nat λy : nat (+ y a) b) La fon tion puissan e par le terme ↑= λa : nat λb : nat (Recnat (S 0) λx : nat λy : nat (× y a) b) Le prédé esseur par le terme pred = λa : nat (Recnat 0 λx : nat λy : nat x a) La fon tion ara téristique de {0} par le terme χ{0} = λa : nat (Recnat (S 0) λx : nat λy : nat 0 a) La fon tion ara téristique des entiers non nuls par le terme χN ∗ = λa : nat (Recnat 0 λx : nat λy : nat (S 0) a) La fon tion ara téristique des entiers pairs par χ2N = λa : nat (Recnat (S 0) λx : nat λy : nat (χ{0} y) a) préférer . Les termes T sont eux du λ- al ul simplement typé. → T .

on peut exprimer le premier axiome de l'égalité. bien que les paramètres x1 . xp−1 0) = (a x1 . xp−1 n (f x1 .2. 'est- à-dire toutes les fon tions onstruites par omposition et ré urren e ( omme i-dessus ave des paramètres x1 .2. xp−1 n)) Par exemple l'addition est dénie par (+ x 0) = x (+ x (S n)) = (S (+ x n)) De telles fon tions peuvent être exprimées dans le système T. xp−1 ) (f x1 ...3 Propriétés Proposition La rédu tion du système T est onuente.. xp−1 ne soient RecT à des termes omportant pas expli itement pris en ompte.. ref lT : ∀x : T (x = x) en revan he on ne peut pas exprimer le se ond ∀P : T → T ype ∀x : T ∀y : T ((x = y) → ((P x) → (P y))) ar il est impossible de quantier sur un symbole de prédi at.. 111 LA THÉORIE DES TYPES DE MARTIN-LÖF 8. On peut don exprimer dans le système T toutes les fon tions ré ursives primitives..8.1 Les axiomes de l'égalité et les axiomes de Peano Dans le λ1- al ul. ar il est possible d'appliquer le ré urseur des variables libres. de la fon tion su esseur et des proje tions. Par exemple on peut dénir dans le système T la fon tion d'A kermann A telle que (A 0 m) = (S m) (A (S p) 0) = (A p (S 0)) (A (S p) (S q)) = (A p (A (S p) q)) par le terme A = λn : nat (Recnat→nat S λp : nat λf : nat → nat λm : nat (Recnat (f (S 0)) λq : nat λs : nat (f s) m) n) 8. Remarque Une dénition par ré urren e d'une fon tion à plusieurs arguments est souvent exprimée sous la forme (f x1 .... Proposition Tout terme du système T est fortement normalisable.. De plus il est possible de dénir des fon tionnelles ré ursives de type ni 'est-à-dire des fon tions onstruites par omposition et ré urren e (ave des paramètres et un résultat de types quel onques) à partir de la fon tion nulle. Démonstration On adapte la méthode de Tait. de la fon tion su esseur et des proje tions. Démonstration Par la méthode habituelle. xn−1 de type nat) à partir de la fon tion nulle. pour haque terme P un axiome LT.2 La théorie des types de Martin-Löf 8.... On peut néanmoins ajouter un s héma d'axiomes 'est-à-dire.. xp−1 (S n)) = (g x1 .P : ∀x : T ∀y : T ((x = y) → ((P x) → (P y))) .1.. .

De telles oupures sont Il y a moralement une oupure dans ette démonstration puisqu'on part de lui-même. Cette règle est T.2. ∀n : nat ((P n) → (P (S n))) Si on a deux termes a et g démonstrations des propositions (P 0) a : (P 0) g : ∀n : nat (P n) → (P (S n)) On peut en déduire par ré urren e la proposition (RecP a g). et . Cette démonstration s'exprime par le terme Si on déduit ensuite de la proposition ∀n : nat (P n).) produit par une règle d'introdu tion. Il y a moralement une oupure dans ette démonstration puisqu'on part de la démonstration ∀n : nat (P n) et enn retomber sur (P 0). En eet. Il y a moralement une oupure dans ette démonstration. on introduit don de nouvelles sorte de oupures les oupures d'égalité et de ré urren e. la démonstration de appelées oupures d'égalité. Ces règles sont . onsidérer les symboles 0 et S Les oupures traditionnelles étaient obtenues en ∀.3 Les oupures de ré urren e et Soit P un terme de type nat → T ype. (P 0) et ∀n : nat (P n) → (P (S n)) pour déduire De même.P a a (ref lT a) b)  b.112 CHAPITRE 8. On veut don ajouter des règles de rédu tions pour éliminer les oupures de ré urren e. puisque en utilisant a et g on aurait pu déduire (P (S 0)) puis (P (S (S 0))) sans utiliser la ré urren e. pour haque terme P de type nat → T ype. et . si on déduit de la proposition Ces oupures sont appelées oupures de ré urren e. Pour montrer la ohéren e de ette théorie.) produit par une règle d'introdu tion. il se pourrait que l'on puisse démontrer ⊥ en utilisant es axiomes.  (L 8.2. par exemple la proposition (P (S (S 0)))) (par P la règle ∀-élim) on obtient la démonstration (Rec a g (S (S 0))). On veut don ajouter une règle de rédu tion pour éliminer les oupures d'égalité. Cette démonstration est exprimée par le terme (g (S 0) (g 0 a)). Ensuite on peut onstruire le terme alors on peut onstruire le terme (ref l T. ∀n : nat (P n). un axiome P Rec : (P 0) → (∀n : nat (P n) → (P (S n))) → ∀n : nat (P n) La normalisation du λ1- al ul ne sut plus pour montrer la ohéren e de ette théorie. I i on peut onsidérer le premier axiome de l'égalité omme un prin ipe d'introdu tion de l'égalité et le se ond omme un prin ipe d'élimination. (P a) pour rempla er a par a = a étant donnée par le premier axiome de l'égalité. ∀. la proposition (P 0) (par la règle ∀-élim) on obtient (RecP a g 0). I i on peut omme des symboles d'introdu tion des entiers et le s héma de ré urren e omme un symbole d'élimination des entiers. T a) démonstration de (a = a). Une démonstration ontient don une oupure d'égalité quand on élimine par le se ond axiome une égalité introduite par le premier axiome.2 Les oupures d'égalité Soit P un terme de type T → T ype. Les oupures traditionnelles étaient obtenues en utilisant une règle d'élimination sur un symbole (→. on peut exprimer les deux premiers axiomes de Peano p1 : ∀x : nat ∀y : nat ((S x) = (S y)) → (x = y) p2 : ∀x : nat (0 = (S x)) → ⊥ mais on rempla e le prin ipe de ré urren e ∀P : nat → T ype (P 0) → (∀n : nat (P n) → (P (S n))) → ∀n : nat (P n) par un s héma d'axiomes 'est-à-dire. 8.P T (L a a (ref l a) b) qui est une démonstration de (P a). utilisant une règle d'élimination sur un symbole (→. ∀n : nat (P n). Une démonstration ontient don une oupure de ré urren e quand on élimine un entier introduit par les symboles 0 et S. LES TYPES INDUCTIFS De même. Si a est un terme de type T et b un terme démonstration de (P a).

=T : T → T → T ype.   113 LA THÉORIE DES TYPES DE MARTIN-LÖF (RecP a g 0)  a (RecP a g (S n))  (g n (RecP a g n)) Ce sont don exa tement les règles de rédu tion du système T. Dénitions par ré urren e et démonstra- tions par ré urren e se orrespondent don par l'isomorphisme de Curry-De Bruijn-Howard. Le terme t s'é rit (u c1 . a la forme (δ v f g). 8. T est une variable ref l : ∀x : T (x = x). a la forme (R v). a la forme (π1 v) ou (π2 v).. est la variable S : nat → nat.  Le terme t ∅. n a le type nat alors il est de la forme (S 0). est la variable 0 : nat. a la forme (i v) ou (j w).4 La théorie des types de Martin-Löf Dénition La théorie des types de Martin-Löf est le λ1- al ul. a la forme (p v w). les axiomes de Peano et la rédu tion des radi aux d'égalité et de ré urren e. a = b n'a pas le type t  Si le terme a le type alors il est de la forme (ref lT a) et de e fait a et b sont des termes équivalents. Proposition La rédu tion est onuente dans la théorie des types de Martin-Löf. et ette proposition se réduit sur x = y . Démonstration Par la méthode habituelle. Proposition Tout terme est fortement normalisable dans la théorie des types de Martin-Löf. est la variable p2 : ∀x : nat (0 = (S x)) → ∅.. cn ) a le type a le type appli ation. Par ré urren e sur la stru ture de t. Remarque Le symbole Rec sert aussi bien à dénir des objets par ré urren e.8. Proposition Soit t un terme normal bien typé dans la théorie des types de Martin-Löf sans autres variables libres que les variables distinguées. Démonstration On adapte la méthode de Tait. Si on suppose (S x) = (S y) alors par les axiomes de l'égalité on démontre (pred (S x)) = (pred (S y)). On onsidère su essivement les as suivants :             u u u u u u u u u u u u nat : T ype. U + V alors t il est de la forme (i v) ou (j w). a la forme λx : T v .2. est la variable est la variable où u n'est pas une . qu'à démontrer des propositions par ré urren e.2. Par exemple la fon tion prédé esseur est exprimée par le terme pred = λa : nat (Recλx:nat nat 0 λx : nat λy : nat x a) Remarque L'axiome de Peano ∀x : nat ∀y : nat ((S x) = (S y)) → (x = y) est en fait superu dans la théorie des types de Martin-Löf puisqu'on peut le démontrer ainsi. De même se orrespondent la rédu tion des radi aux de ré urren e et l'élimination des oupures de ré urren e. étendu par les axiomes de l'égalité.  Si le terme  Si le terme  Si le terme Démonstration t t t Σy : U V alors il est de la forme (p v w).

On dénit une fon tions β qui asso ie à Démonstration haque famille de type de la théorie des types de Martin-Löf un type sans dépendan e de ette théorie.2 L'équivalen e al ulatoire de la théorie des types de Martin-Löf et du système T de Gödel On her he maintenant à montrer que l'ensemble des fon tions exprimables en théorie des types de Martin-Löf est exa tement l'ensemble des fon tions exprimables dans le système T de Gödel. Le terme 8. La proposition y = (F x) représente la fon tion f et on peut démontrer la proposition ∀x ∃y (y = (F x)). est démontrable alors ∃x : A B A est démontrable ou B est démontrable alors il existe un terme t est démontrable. soit f une fon tion al ulable exprimée par un terme F en théorie des types de Martin-Löf. u u a la forme a la forme LES TYPES INDUCTIFS (RecP a b k). (β Kind) = nat (β T ype) = nat (β x) = nat (β (Πx : A B)) = (β A) → (β B) (β (Σx : A B)) = (β A) × (β B) (β (A + B)) = (β A) + (β B) (β ∅) = nat (β =) = nat .B et π2 un ré urseur pour les entiers et les règles de rédu tions asso iées. des onstru teurs de termes p . Ré iproquement. S : nat → nat. 8. un produit non dépendant A → B .3. L'élimination des types dépendants. des axiomes. Soit une démonstration t normale F = λx : nat (π1 (t x)) exprime la fon tion f . tel que la proposition Corollaire des Corollaires Ces propriétés valent aussi pour l'arithmétique intuitionniste du premier ordre.P a b k). une A. Démonstration Soit une fon tion f représentée par une proposition P . du type vide et de l'union disjointe Proposition Une fon tion exprimables en théorie des types de Martin-Löf est également exprimable dans dans un λ- al ul typé omprenant un unique type de base nat.B a. de ∀x : nat ∃y : nat P . On ommen e par éliminer les types dépendants.1 Les démonstrations d'existen e en théorie des types de Martin-Löf Proposition Une fon tion f a une démonstration d'existen e en théorie des types de Martin-Löf si et seulement si elle est exprimable en théorie des types de Martin-Löf.114   CHAPITRE 8. π1 A.3 Les démonstrations d'existen e et les notations pour les fon tions 8. (LT.3. Corollaire 1 La théorie des types de Martin-Löf est ohérente. des symboles 0 : nat. Corollaire 2 Si la proposition A ∨ B Corollaire 3 B[x ← t] Si la proposition soit démontrable.b somme non dépendante A × B .

. an g1 .P a b c d)) = (LβT.βB (α u)) (α (iA.... an g1 .. gn ) ..B u v)) = (pβA.....B u)) = (iβA... On rempla e enn les termes de la forme quel onque du type terme de type A B... → An → A1 . pour tout i.βP (α a) (α b) (α c) (α d)) Si t est un terme de type est le même)...C u f g)) = (δ βA.. . (i a) : A + B par (p 0 (p a b0 )) : nat × (A × B) où b0 est un terme (i b) : A + B par (p (S 0) (p a0 b)) : nat × (A × B) où a0 est un de type (δ u f g) par (Rec (π1 (π2 u)) λn λx (π2 (π2 u)) (π1 u))....... An et g1 .. gn z)) Démonstration Voir [8℄.βC (α u) (α f ) (α g)) (α (RA u)) = (RβA (α u)) (α (RecA a g k)) = (RecβA (α a) (α g) (α k)) (α (LT.. an g1 . → An → An ..βB (α u)) (α (δ A. (Rn a1 ... nat → A1 → ..B.. LES DÉMONSTRATIONS D'EXISTENCE ET LES NOTATIONS POUR LES FONCTIONS 115 (β (λx : A t)) = (β t) (β (t u)) = (β t) On dénit de même une fon tion α qui asso ie à haque objet de la théorie des types de Martin-Löf un objet de ette théorie.. an g1 ...B u)) = (j βA. . An des types du système T . L'élimination de la somme Proposition (S hütte) Soient A1 . pour tous types (Ri a1 ... fn = (Rn a1 .. Rn tels que a1 . . an g1 . nat → nat alors t et On rempla e ensuite les termes de la forme (α t) expriment la même fon tion ( ar le terme pur ontenu (LT.. gn 0)  ai (Ri a1 ... an termes du système T de types respe tifs A1 .. Puis on rempla e le symbole démonstration du premier axiome de l'égalité. gn z) . .8. gn ) . an g1 . ..βB (α u)) (α (π2A. elui démonstration du premier axiomes de Peano et les termes de la forme (R t) (élimination du type vide) par un terme quel onque du bon type.βB. gn termes du système T de respe tifs nat → A1 → ..βB (α u) (α v)) (α (π1A. Remarque Soient f1 = (R1 a1 ... les termes de la forme quel onque et les termes On montre ainsi que les fon tions dont l'existen e est prouvable en théorie des types de Martin-Löf sont exprimables dans le système T ave somme..P a b c d) par d. . il existe des termes R1 ..βB (α u)) (α (j A.3. (α x) = x (α λx : A t) = λx : (β A) (α t) (α (u v)) = ((α u) (α v)) (α (pA. gn (S z))  (gi z (R1 a1 .B u)) = (π2βA...B u)) = (π1βA...

.... . .. un où A × B est le type de u. n la longueur de |A|... .3. .. Bp où A1 ...3 L'arithmétique intuitionniste du premier ordre Trivialement si l'existen e d'une fon tion ordre. |A → B| = A1 → . ... A1 → ....  (Rec a b k) = (R1 a1 . ..... λxn : An u1 ...... 8.. np sont des entiers alors les formes normales des termes (t n1 .. 8. un . un+1 ..  |0| = 0. an b1 . vp = |v|. (fi 0) = ai (fi (S z)) = (gi z (f1 z) . .. → An → Bp où A1 . ..   Corollaire Ces trois ensembles de fon tions sont identiques :  les fon tions dont l'existen e peut être montrée en théorie des types de Martin-Löf. vp )... p la longueur de |B| et u1 . un . n la longueur de |A|. tn = |t| et u1 . bp = |b|.... → nat → nat..... .... une suite de termes |a| = a1 .  |A × B| = A1 . la réalisabilité Soit P une propriété (spé i ation) d'une fon tion. tn  un où t1 .... A1 . Les ensembles de fon tions suivants sont don égaux aux trois i-dessus :  les fon tions dont l'existen e peut être montrée en arithmétique intuitionniste du premier ordre... un = |u| et v1 .. (fn z)) Proposition Toute fon tion exprimable dans le système T ave paires est exprimable dans le système T . vp ) où u1 ...... un . alors l'existen e de f f peut être montrée en arithmétique intuitionniste du premier peut être montrée en théorie des types de Martin-Löf. . p la longueur de |B| et u1 .  les fon tions exprimables en théorie des types de Martin-Löf. .. on a |T | = T et si n1 .. Am . R1 .... . vp où u1 .  |S| = S .  |(p u v)| = u1 . v1 . . . On montre ensuite que si t et u sont deux termes tel que t  u alors t1  u1 . Rm les termes de S hütte asso iés aux types A1 .. .. . an b1 .. . Démonstration A haque type du système T ave paires on asso ie une suite nie de types du système T . (Rm a1 . λxn : An up où A1 . xn .. Ré iproquement on montre... Soit t un terme du système T de type nat → ..... |nat| = nat. An .... un+1 .. An = |A| et B1 ..  les fon tions exprimables dans le système T... .. An = |A|.. λx1 : A1 . → An → B1 . un = |u|.. vp = |v|. un+p où A × B est le type de u... ..... An = |A| et u1 .. up = |u|. Bp = |B|... fn LES TYPES INDUCTIFS sont dénies par ré urren e mutuelle... An où A1 . .  |(u v)| = (u1 v1 ..... par exemple P = ∀x ((∃z (x = 2 × z) → (f x) = 0) ∧ (¬ ∃z (x = 2 × z) → (f x) = (S 0))) .... .... np ) et (|t| n1 ...3.. ... un = |u| et v1 . que si une fon tion est exprimable dans le système T T jusqu'à alors on peut montrer son existen e en arithmétique intuitionniste du premier ordre. un+p = |u|. .  les fon tions dont l'existen e peut être montrée en arithmétique intuitionniste d'ordre supérieur prédi ative..... bp k) où A est le type de (Rec a b k).. ...... .116 CHAPITRE 8.... a1 . .  |(π1 u)| = u1 . an de types respe tifs A1 .. . .. . np ) sont le même entier.... Les fon tions f1 .  |x| = x1 ... Don toutes les fon tions exprimables dans le système T ave paires sont exprimables dans le système T . un+p = |u|. . bp k)..... an = |a| et b1 . .. . .. Bp = |B|.. ..4 L'optimisation de la onstru tion du terme.. . Am = |A|. en arithmétisant la démonstration de normalisation du système un ordre donné.. ....  |(π2 u)| = un+1 ... On asso ie ensuite à haque terme a de type A dans le système T ave paire.. . B1 ...  |λx : A u| = λx1 : A1 .. An = |A| et B1 . (un v1 . .

6 Ω  |x| = x si |A| =  |x| = ω si |A| = Ω.  |A → B| = Ω si |A| = Ω et |B| = Ω.  Malgré ela le système T est très expressif d'un point de vue al ulatoire.  |Ω| = Ω. il faut supprimer le al ul de la démonstration de orre tion et information al ulatoire de la démonstration. on élimine les types dépendants omme i-dessus mais en gardant tra e de la provenan e des variables de types : on pose un nouveau type de base Ω et une nouvelle variable ω de type Ω.  é rire un programme vériant une spé i ation.  |A → B| = Ω si |A| = 6 Ω et |B| = Ω. LES DÉMONSTRATIONS D'EXISTENCE ET LES NOTATIONS POUR LES FONCTIONS D'une démonstration intuitionniste de propriété P. On obtient nat → ... On montre par ré urren e que ou bien |A| = Ω ou bien Ω n'a pas d'o urren e dans |A|. extraire uniquement l' Pour ela. Néanmoins. al ule Néanmoins les programmes extraits naïvement ne sont pas très e a es. Autrement dit. et  Les programmes extraits sont garantis vérier leur spé i ation. On dénit ensuite une fon tion de l'ensemble des termes du système T dans lui même :  Soit x une variable de type A. ∃f P on peut don extraire un terme du système T 117 qui vérie la L'isomorphisme de Curry-De Bruijn-Howard a don omme onséquen e l'isomorphisme des tâ hes onsistant à  é rire une démonstration d'une proposition.. mais aussi une démonstration de la orre tion de l'exé ution. puisqu'il permet d'exprimer toutes les fon tions dont on peut montrer l'existen e en logique intuitionniste du premier ordre ou dans l'arithmétique intuitionniste d'ordre supérieur prédi ative. En eet. Ω est un terme sans ontenu al ulatoire et peut don ela on dénit une fon tion de l'ensemble des types du système T dans lui même :  |nat| = nat. quoi programmer est on entrée dans l'é riture de la spé i ation omment le programmer dans l'é riture de la démonstration.  |(u v)| = ω si |A| = 6 Ω et |B| = Ω. Pour rendre les programmes ainsi onstruits plus e a e. l'exé ution du programme. on pose (β nat) = nat (β =) = Ω (β ∅) = Ω On élimine ensuite les axiomes.  La démonstration d'une proposition P peut se synthétiser (partiellement) automatiquement.  |A → B| = |B| si |A| = Ω et |B| =  |A → B| = |A| → |B| si |A| = 6 Ω et |B| = 6 Ω.3. → nat → nat dans le système T étendu par le type de base Ω.  |(u v)| = ω si |A| = Ω et |B| = Ω.8.  Soit u un terme de type A → B et v un terme de type A. démontrer a ertains avantages sur programmer. le type vide les unions disjointes et les sommes omme i-dessus.  L'expression du l'expression du (proposition). si de ∀x∃yP et a un entier alors la normalisation du terme non seulement la valeur de sortie. y ← b]. 6 Ω. Pour .  Les programmes extraits des démonstrations terminent toujours (normalisation forte). t est une démonstration (t a) al ule non seulement l'entier b mais aussi une démonstration normale de la proposition P [x ← a. on onsidère un terme t de type nat → .  On peut vérier mé aniquement qu'une démonstration est une démonstration d'une proposition.  |(u v)| = |u| si |A| = Ω et |B| = 6 Ω. un terme de type Intuitivement un terme de type être ea é. → nat → nat de la théorie des types de Martin-Löf.. au lieu de poser (β x) = nat pour toutes les variables.

. on aténation. Pour les listes d'entiers. np ) et (|t| n1 .  |λx : A u| = ω si |A| = 6 Ω et |B| = Ω. et . x une variable de type A et v un terme de type B .) et de démontrer des propriétés par ré urren e sur la stru ture de la liste. → nat → nat alors |t| est un terme de même type et si n1 . d'autres types de données peuvent être dénis indu tivement : les listes.  |(Rec a b k)| = (Rec |a| |b| |k|) si |A| = 6 Ω.. Le terme |t| ne ontient que l'information al ulatoire du terme t. . LES TYPES INDUCTIFS |(u v)| = (|u| |v|) si |A| = 6 Ω et |B| = 6 Ω.. on a deux onstru teurs nil : list cons : nat → list → list Et un ré urseur Rec : ∀P : list → T ype (P nil) → (∀a ∀l : list (P l) → (P (cons a l))) → ∀l : list (P l) qui permet de onstruire des fon tions par ré urren e sur la stru ture de la liste (longueur...   Soit 8. Si t est un terme de type nat → .  |(Rec a b k)| = ω si |A| = Ω. np sont des entiers alors les formes normales des termes (t n1 . les arbres..4 Les types indu tifs Outre les entiers.. b un terme de type nat → A → A et k un terme de type nat.  |λx : A u| = ω si |A| = Ω et |B| = Ω.  |λx : A u| = |u| si |A| = Ω et |B| =  |λx : A u| = λx : |A| |u| si |A| = 6 Ω et |B| = 6 Ω. np ) sont le même entier...  Soit a un terme de type A. 6 Ω.. par exemple. et .118 CHAPITRE 8.

Hindley. [5℄ P. Intuitionisti Type Theory. Thèse de Do torat. Extra tion de Programmes dans le Cal ul des Constru tions. Y. Springer-Verlag (1973). Taylor. Paulin-Mohring. Université de Paris 7 (1989). Krivine. 119 . Springer-Verlag (1993) pp. Cambridge University Press (1986). Lambda- al ul. [3℄ J. Seldin. Typed Lambda Cal uli and Appli ations. Martin-Löf. [4℄ D. Le ture Notes in Computer S ien e 664. J. Leivant. Napoli (1984). [8℄ A. 460-469. Lafont. Annual Symposium on Foundations of Computer S ien e (1983) pp.Y. [6℄ Ch. [7℄ Ch. types et modèles. Introdu tion to Combinators and λ-Cal ulus. Bibliopolis. Rules and Properties. Paulin-Mohring. Metamathemati al Investigation of Intuitionisti Arithmeti and Analysis. 328-345.P. Indu tive Denitions in the System Coq. P.Bibliographie [1℄ J. Reasoning about Fun tional Programs and Complexity Classes Asso iated with Type Dis iplines. Masson (1990).L.S. Cambrige University Press (1989). Types and Proofs. [2℄ J. Troelstra. Girard. Le ture Notes in Mathemati s 344.R.

120 BIBLIOGRAPHIE .

Γ ⊢ T : Kind Γ[x : T ] ⊢ T ′ : Kind Γ ⊢ Πx : T T ′ : Kind et la règle orrespondantes pour les abstra tions pallient e manque. La se onde de former le produit Πn : nat (tab n) qui est. mais pas sur des prédi ats. des fon tions. et . par exemple. entre autres. le type des tableaux de taille 1. Dans e hapitre. du al ul des prédi ats minimal du premier ordre ainsi que de la théorie prédi ative des types. les règles orrespondantes pour les abstra tions permettent de former des familles de type. par exemple. le type de la fon tion qui à haque entier asso ie le tableau de longueur n ontenant n fois la valeur 0. pair. pour former une famille de types que (list nat) T ype → T ype qui soit le type des listes d'entiers. La se onde permet de former le type qui est la proposition (fausse) tout entier est pair. le produit La règle empê he de former le produit paramétrée par un type omme la famille list telles (nat → T ype) → T ype qui est le type des ensembles d'ensembles d'entiers. De même. (tab 1). par exemple. nous étendons le λ- al ul ave types dépendants de manière à pouvoir exprimer toutes les démonstrations de la théorie des types simples. les règles permettant de former un produit sont les suivantes. Le fait que le type du terme T soit T ype et non Kind serait utile. Γ ⊢ T : T ype Γ[x : T ] ⊢ T ′ : Kind Γ ⊢ Πx : T T ′ : Kind Γ ⊢ T : T ype Γ[x : T ] ⊢ T ′ : T ype Γ ⊢ Πx : T T ′ : T ype nat → T ype. des prédi ats et des démonstrations. 9. par exemple. quand on représente les propositions omme des types. qui est utile. pour tab de manière à e que (tab 0). 121 . où Πn : nat (pair n) qui est né essaire. Et de même.Chapitre 9 Le polymorphisme Le Le λ- al ul simplement typé permet d'exprimer les démonstrations du λ- al ul ave types dépendants permet d'exprimer les démonstrations al ul des propositions minimal. La première règle permet de former le type (pair n) nat → T ype. le produit dé larer une variable de famille de types Du point de vue de la représentation des propositions omme des types. soient des types : le type des tableaux de taille 0. 'est-à-dire de la théorie dans laquelle il est possible de quantier sur des fon tions. La première règle permet de former. et . pour dé larer une variable de prédi at est la proposition  n est un nombre pair. Cette règle est appelée la règle des onstru teurs de types.1 Le Cal ul des onstru tions Dans le λ- al ul ave types dépendants.

s3 >∈ R Γ ⊢ λx : T t : Πx : T T ′ Γ ⊢ T : T ype Γ ⊢ T ′ : T ype T ≡ T ′ Γ ⊢ t : T′ . Le système de types ara térisé par l'ensemble des règles R est déni par les règles de typage suivantes. Kind > les onstru teurs de types. s3 >∈ R Γ ⊢ Πx : T T ′ : s3 Appli ation : Abstra tion : Conversion : x:T ∈Γ Γ⊢x:T bien formé Γ ⊢ t : Πx : T T ′ Γ ⊢ t′ : T Γ ⊢ (t t′ ) : T ′ [x ← t′ ] Γ ⊢ T : s1 Γ⊢t:T Γ[x : T ] ⊢ T ′ : s2 Γ[x : T ] ⊢ t : T ′ < s1 . s2 . Le système ainsi obtenu est appelé Le Cal ul des onstru tions.122 CHAPITRE 9. T ype. T ype > Seuls hangent les symboles qui paramètrent es règles. Dans la se onde règle. s2 . types polymorphes Γ ⊢ T : Kind Γ[x : T ] ⊢ T ′ : T ype Γ ⊢ Πx : T T ′ : T ype et la règle orrespondantes pour les abstra tions pallient e manque. systèmes de types purs Toutes es règles ont la même forme : Γ ⊢ T : s1 Γ[x : T ] ⊢ T ′ : s2 Γ ⊢ Πx : T T ′ : s3 s 1 . T ype > les types polymorphes. Kind > ara térise les types dépendants. s3 λ- al ul qui < s1 . ette même restri tion empê he de former le type LE POLYMORPHISME ΠT : T ype (T → T ) qui est le type de la fon tion qui asso ie à haque type la fon tion identité sur e type ou la proposition ΠE : nat → T ype (ppe E) De même la règle des qui exprime que tout ensemble d'entier a un plus petit élément. T ype. Soit R un ensemble de règles. s2 . La règle < T ype. 9.2 Le ube des systèmes de types. s2 . la règle < Kind. Kind. et la règle < Kind. Dénition (Système de types du ube) Le ontexte vide est bien formé : [] Dé laration d'une variable : T ype bien formé Γ⊢T :s s = P rop Γ[x : T ] bien formé ou s = Kind est un genre : Γ bien formé Γ ⊢ T ype : Kind Les variables sont des termes : Γ Produit : Γ ⊢ T : s1 Γ[x : T ] ⊢ T ′ : s2 < s1 . s3 >=< T ype. Ave on a la règle de base du permet de former des types fon tionnels. Cette règle existe déjà dans le λ- al ul simplement typé. Kind.

9.2.

123

LE CUBE DES SYSTÈMES DE TYPES, SYSTÈMES DE TYPES PURS

Les huit systèmes obtenus en prenant la règle

< T ype, T ype, T ype >
et ertaines des règles

< T ype, Kind, Kind >, < Kind, T ype, T ype >, < Kind, Kind, Kind >
sont appelés les systèmes du ube [1℄ 

F
6

1.

- λC


7 6     

- λΠ2
6

7 
6 

6
: termes dépendant de types.

- λΠω

λω  

7    

λΠ

λ→

-

: types dépendant de termes. 

7 

7  

: types dépendant de types.

Il est possible de paramétrer davantage es règles de typage. On se donne alors un ensemble
le as des systèmes du ube est
de triplets d'éléments de

S.

{T ype, Kind}), une

ensemble

A

de paires d'éléments de

Les règles de typage sont alors les suivantes.

Dénition (Système de types purs)
Le ontexte vide est bien formé :

[]
Dé laration d'une variable :

Typage des éléments de

S

bien formé

Γ⊢T :s
s∈S
Γ[x : T ] bien formé

:

Γ bien formé
< s1 , s2 >∈ A
Γ ⊢ s1 : s2
Les variables sont des termes :

Produit :

Appli ation :

1 Mer i à Vin ent Prosper pour son dessin.

Γ

x:T ∈Γ
Γ⊢x:T

bien formé

Γ ⊢ T : s1 Γ[x : T ] ⊢ T ′ : s2
< s1 , s2 , s3 >∈ R
Γ ⊢ Πx : T T ′ : s3
Γ ⊢ t : Πx : T T ′ Γ ⊢ t′ : T
Γ ⊢ (t t′ ) : T ′ [x ← t′ ]

S

S

(qui dans

et un ensemble

R

124

CHAPITRE 9.

LE POLYMORPHISME

Abstra tion :

Γ ⊢ T : s1

Γ[x : T ] ⊢ T ′ : s2 Γ[x : T ] ⊢ t : T ′
< s1 , s2 , s3 >∈ R
Γ ⊢ λx : T t : Πx : T T ′

Conversion :

Γ ⊢ T : T ype Γ ⊢ T ′ : T ype T ≡ T ′
Γ ⊢ t : T′

Γ⊢t:T

9.3 La normalisation en présen e de types polymorphes
9.3.1 Le système F
Les termes typables dans l'un des huit systèmes du ube sont fortement normalisables.
Une di ulté nouvelle, due aux types polymorphes, apparaît dans la preuves de normalisation de es
systèmes. Pour illustrer ette di ulté, nous présentons la preuve de normalisation du système
dire du

λ- al ul

F,

'est-à-

polymorphe, sans onstru teurs de types ni types dépendants. Cette preuve peut ensuite se

généraliser à des systèmes de types plus ri hes.
Dans le système

F,

T ype. Don toutes le familles de types sont
ΠX : T ype T où T est de type T ype, ou bien Πx : T U
dernier as la variable (d'objet) x ne peut pas apparaître dans le type

il n'y a qu'un seul genre, 'est le symbole

des types. Un produit est don ou bien de la forme

U

T

et

U

sont de type

T ype. Dans e
T → U . Les

et le type peut s'é rire

seules dépendan es sont don par rapport aux variables de type.

9.3.2 Généraliser la preuve de Tait
En tentant de généraliser la preuve de Tait, on her he à dénir par ré urren e sur la stru ture des
types des ensembles

RedT

de termes rédu tibles. On garde les lauses habituelles pour les as où le type est

atomique (s'il y a de tels types) et pour les types è he.

T est un type atomique alors RedT est l'ensemble des termes de type T fortement normalisables.
T = U → V alors RedT est l'ensemble des termes t tels que pour tout u dans RedU , le terme (t u)
est dans RedV .
Il reste le as où le type T a la forme ΠX : T ype U . On voudrait qu'un terme t de e type soit rédu tible
si pour tout type V , (t V ) est rédu tible de type U [X ← V ]. Au lieu de faire ette substitution, on peut
garder la variable X , en sa hant que 'est un prête-nom pour le type V . On aboutit ainsi à une dénition 
Si 

Si

d'ensembles de termes rédu tibles pour les types ouverts ( 'est-à-dire, ontenant des variables de type libres),
modulo une interprétation de es variables de type.
Une

assignation

est une fon tion

ψ

qui asso ie à haque variable de type

(intuitivement, l'ensemble des termes rédu tibles du type pour lequel

X

X,

un ensemble de terme

E

est un prête-nom) et on dénit

T modulo l'assignation ψ par les règles suivantes.
T est un type atomique alors Redψ
T est l'ensemble des termes de type T fortement normalisables.
ψ
Si T = X alors RedT = ψ(X).
ψ
ψ
Si T = U → V alors RedT est l'ensemble des termes t de type T tels que pour tout terme u de RedU ,
ψ
le terme (t u) soit dans RedV .
ψ
Si T = ΠX : T ype U alors RedT est l'ensemble des termes t tels que pour tout type V , (t V ) soit dans
ψ
Redψ+<X,R>
où R = RedV et où ψ+ < X, R > est la fon tion qui assigne à X l'ensemble R et aux
U
variables Y distin tes de X l'ensemble ψ(Y ).

l'ensemble des termes rédu tibles de type 
Si   

Hélas, ette dénition est ir ulaire. En eet pour dénir l'ensemble des termes rédu tibles de type

ΠX : T ype U , il faudrait avoir déjà déni l'ensemble des termes rédu tibles pour tous les types V , y ompris
le type ΠX : T ype U . Il ne s'agit don pas d'une dénition orre te par ré urren e sur la stru ture des types.

9.3.

125

LA NORMALISATION EN PRÉSENCE DE TYPES POLYMORPHES

9.3.3 Les andidats de rédu tibilité
Pour ontourner ette ir ularité, l'idée onsiste à dénir l'ensemble des termes rédu tibles de terme

ΠX : T ype U omme l'ensemble des termes t tels que le terme (t V ) soit dans Redψ+<X,R>
pour tout
U
ψ
type V et pour tout ensemble R de termes normalisables de type V . Ainsi l'ensemble RedV sera parmi es
ensembles, mais il n'est pas besoin de le désigner dans la dénition et la ir ularité est évitée.

R

En fait, il faut imposer à l'ensemble

de vérier également deux autres onditions de fermeture. On

pose don la dénition suivante.

Dénition (Candidat de rédu tibilité)
Un ensemble

R

de termes de type 

tout terme de

T

est un

andidat de rédu tibilité de type T

est fortement normalisable,


se réduit en t alors t ∈ R,

t ∈ R et t
t n'est pas une abstra tion
alors t est dans R. 

si 
si

si

R

et tous les termes

t′

obtenus en réduisant un redex dans

t

sont dans

R

Dénition (Ensemble de termes rédu tibles)

T est un type atomique alors Redψ
T est l'ensemble des termes de type T fortement normalisables.
ψ 
Si T = X alors RedT = ψ(X).
ψ
ψ 
Si T = U → V alors RedT est l'ensemble des termes t tels que pour tout terme u de RedU , le terme
(t u) soit dans Redψ
V.
ψ 
Si T = ΠX : T ype U alors RedT est l'ensemble des termes t tels que pour tout type V , et pour tout
ψ+<X,R>
.
andidat de rédu tibilité R de type V , (t V ) est dans RedU
ψ
La proposition suivante assure que l'ensemble RedT est bien parmi les ensembles R de la dénition des 

Si

ensembles de termes rédu tibles.

Proposition Soit T un type ontenant des variables libres X1 , ..., Xn . Soient V1 , ..., Vn des types quel onques,
et

ψ

Xi un andidat de rédu tibilité
T [X1 ← V1 , ..., Xn ← Vn ].

une assignation qui asso ie à haque

est un andidat de rédu tibilité de type

de type

Vi .

Alors l'ensemble

Redψ
T

Comme dans la preuve de Tait on en déduit que les termes rédu tibles sont fortement normalisables.

Corollaire Soit T

un type ontenant des variables libres

X1 , ..., Xn .

Soient

V1 , ..., Vn

des types quel onques,

une assignation qui asso ie à haque Xi un andidat de rédu tibilité de type Vi . Alors les termes de
ψ
l'ensemble RedT sont des termes fortement normalisables de type T [X1 ← V1 , ..., Xn ← Vn ].

et

ψ

La proposition suivante montre qu'il est équivalent de faire la substitution dans un type, ou de garder
un prête-nom.

Proposition RedψT [X←V ] = Redψ+<X,Red
T

ψ
>
V

On termine ensuite la démonstration omme elle de Tait en montrant que tout terme bien typé est
rédu tible et don normalisable.

Proposition Soit un terme t de type T . Soient x1 , ..., xn

les variables libres d'objets de t et U1 , ..., Un leur
T, U1 , ..., Un . Soient V1 , ..., Vp de types quel onques,
u1 , ..., un des termes de type Ui [X1 ← V1 , ..., Xp ← Vp ] et ψ une assignation qui asso ie à ha un des Xi un
andidat de rédu tibilité de type Vi . Alors le terme t[X1 ← V1 , ..., Xp ← Vp ][x1 ← u1 , ..., xn ← un ] est dans
Redψ
T.
types. Soient

X1 , ..., Xp

et des variables libres de type de

Et on en déduit le résultat nal.

Theorème Tout terme du système F

est fortement normalisable.

Pour une preuve plus détaillée, voir [6℄.

Il est à présent possible de dénir une n 7→ 2n est exprimée par le terme fon tion par ré urren e quelque soit son type. f dénie par ré urren e par simplement typé on peut donner le type est une fon tion de type T →T et a un objet de type T... il y a deux façon d'in lure l'isomorphisme de Curry-De Bruijn-Howard à la théorie des types simples. mais pas la fon tion qui à n asso ie 2 . est exprimée par le terme uniquement des fon tions de type nat → nat Dans le par λ- al ul polymorphe en revan he.1 L'expression des démonstrations De manière générale.. la fon tion f = λn : nat (n nat 1 (λp : nat (× 2 p))) Proposition Toutes les fon tions exprimables dans le système T sont exprimables dans le système F. o le type des propositions et on aurait T ype : T ype T ype le et le système serait alors non normalisable. omme nat ou o lui-même. Si g la fon tion (f 0) = a (f (S n)) = (g (f n)) f = λn (n a g). le type nat des naturels et le type naturels) n'ont pas même type : L'identi ation entre types et propositions nous amène à identier type des types. o : T ype et on garde o = T ype.) Ces termes ont le type nat = ΠX : T ype (X → (X → X) → X)..  Ou bien le type des propositions est un type omme un autre (o : T ype) et dans e as propositions et types ne sont pas identiés.5.  Ou bien le type des propositions est le type des types (o = T ype) et dans e as les prédi ats sont des familles de types et non des objets. (f x) . puisque les premières ont le type o et les se ond le type T ype. Il n'est en parti ulier pas possible de dénir une fon tion de type n ré urren e puisque la multipli ation est exprimable.. mais en se laissant la possibilité d'avoir d'autres types. Même si on autorise la quanti ation sur les symboles de prédi ats. alors que real a le type Kind. mais T → T . on peut dénir les entiers omme de Chur h omme n = λX : T ype λx : X λf : X → X (f . real des réels (qui peuvent être onstruits omme des ensembles de nat a le type T ype. Comme on a T ype : Kind on a don . nat = T → (T → T ) → T à es termes..4 Les dénitions par ré urren e dans les λ- al ul polymorphes L'entier de Chur h n est déni omme n = λx λf (f . Par exemple.. On abandonne don le prin ipe o : Kind. Mais omme nous avons par ailleurs la règle o : T ype. Une troisième possibilité onsiste à prendre o : T ype et o ⊂ T ype.126 CHAPITRE 9.. 'est-à-dire à identier les propositions ave ertains des types. omme les règles o : T ype o = T ype (isomorT ype : T ype mène à un al ul (de la théorie des types simples) et phisme de Curry-de Bruijn-Howard) sont in ompatibles (puisque la règle in ohérent). LE POLYMORPHISME 9.5 L'isomorphisme de Curry-De Bruijn-Howard pour la théorie des types simples 9. Il est don possible de dénir des fon tions par ré urren es. (f x) . 9.) ave n o urren es du symboles Dans le λ- al ul f.

9. π une démonstration en théorie des types minimale ( 'est-à-dire ne ontenant que le ∀).2 L'élimination des oupures La théorie des types minimale L'élimination des oupures pour la théorie des types minimale est onséquen e du théorème de normalisation du Cal ul des onstru tions. La ontrepartie logique de l'impossibilité de dénir les ensembles de termes rédu tibles par ré urren e sur la stru ture des types est que. onne teur ⇒ et le quanti ateur Corollaire L'élimination des oupures termine en théorie des types minimale. ′ Le terme t se β -réduit en au moins une étape sur t . >= λA : T ype λB : T ype λx : A λy : B λC : T ype λu : A → B → C (u x y) . la négation et le quanti ateur existentiel). Autrement dit. en substituant proposition (B x) Proposition Soit P par B dans la preuve π. ainsi T ype qui avait été rée pour être le type des types ne reste que le type des propositions.6 que es onne teurs et quanti ateurs pouvaient être dénis en théorie des types minimale. alors le type est habité.5. (nat → o) → o sont don de nat → nat sont de type T ype. et Kind. on posera plutt nat : Kind. et t l'expression de π . par exemple. bool et . Theorème Si une proposition P P de type T ype est démontrable en théorie des types minimale. la disjon tion. type habituel 0 : nat.3. Comme il n'est lui même ou le type des fon tions type Kind alors que nat pas très pratique d'avoir un type diérent pour le type des objets selon qu'il s'agit de fon tions ou d'ensembles. les unions disjointes et le type vide peuvent se dénir dans le Cal ul des onstru tions. 9. Mais nous avons vu au paragraphe 4. don à la β -redu tion dans le Cal ul des onstru tions. L'ISOMORPHISME DE CURRY-DE BRUIJN-HOWARD POUR LA THÉORIE DES TYPES SIMPLES127 Les types des prédi ats nat → o. Les onne teurs et les quanti ateurs Dans le λΠ- al ul (λ- al ul ave types dépendants) on doit ajouter des types sommes. une oupure de la forme π A ∀P : nat → o A B : nat → o A[P ← B] en π[P ← B] A[P ← B] On peut introduire. des unions disjointes et un type vide pout pouvoir interpréter les preuves intuitionnistes (utilisant la onjon tion. les types sommes. S : nat → nat. nat → nat → o. et . omme nous l'avons déjà remarqué au hapitre 4. ≤: nat → nat → o 'est-à-dire le types des objets sont montés au niveau le type Kind au symbole o et au symbole Les autres symboles ont ensuite leur ≤: nat → nat → T ype. si on a plusieurs types de base).5. De plus l'élimination des oupures en théorie des types se ramène à l'élimination des oupures en théorie des types minimale. Démonstration Par ré urren e sur la stru ture de la démonstration de P . des oupures de tailles arbitraires ar la est arbitraire. quand on élimine. et leur règles de al ul se ramènent à la β -redu tion. et π ′ une démonstration obtenue en éliminant une oupure dans π . Ainsi pour exprimer la théorie des types simples. on donne ι (ou aux symboles nat. × = λA : T ype λB : T ype ΠC : T ype ((A → B → C) → C) <. ′ ′ Soit t l'expression de la preuve π sous forme d'un terme du Cal ul des onstru tions.

3. il est impossible de d'exprimer est la se onde proje tion dans le as des sommes dépendantes. on doit ajouter des règles de ref l et L. l'élimination des oupures d'égalité se ramène à de la β -rédu tion.6 que l'égalité pouvaient être rédu tion pour les symboles dénie en théorie des types minimale. . mais on peut oder la règle d'élimination du onne teur existentiel ainsi ex_limT = λP : T → T ype λC : T ype λu : (ΣT P ) λv : (Πx : T (P x) → C) (u C v) On en déduit le résultat suivant. Mais nous avons vu au paragraphe 4. Proposition L'élimination des oupures termine en théorie des types intuitionniste. >′T = λP : T → T ype λt : T λu : (P t) λC : T ype λv : (Πx : T (P x) → C) (v t u) En revan he.128 CHAPITRE 9. L'égalité Dans le λΠ- al ul (λ- al ul ave types dépendants) pour ajouter l'égalité. LE POLYMORPHISME π1 = λA : T ype λB : T ype λu : (A × B) (u A λx : A λy : B x) π2 = λA : T ype λB : T ype λu : (A × B) (u B λx : A λy : B y) + = λA : T ype λB : T ype ΠC : T ype ((A → C) → (B → C) → C) i = λA : T ype λB : T ype λx : A λC : T ype λu : A → C λv : B → C (u x) j = λA : T ype λB : T ype λx : B λC : T ype λu : A → C λv : B → C (v x) δ = λA : T ype λB : T ype λC : T ype λx : (A + B) λu : (A → C) λv : B → C (x C u v) ∅ = ΠC : T ype C R = λC : T ype λu : ∅ (u C) ΣT = λP : T → T ype ΠC : T ype ((Πx : T ((P x) → C)) → C) <. On en déduit le résultat suivant. Proposition L'élimination des oupures termine en théorie des types intuitionniste ave égalité. On dénit les termes =T = λa : T λb : T ΠP : T → T ype ((P a) → (P b)) ref lT = λa : T λP : T → T ype λx : (P a) x LT = λa : T λb : T λe : (a =T b) λP : T → T ype λx : (P a) (e P x) I i en ore. Car (LT a a (ref lT a) P x) = ((λP : T → T ype λx : (P a) x) P x) et e terme se β -réduit sur x.

(f 1 (f 0 w))) P a f ) et enn sur (f (k − 1) . En eet. 9. (N k) λX λw λf (f (k − 1) (f 1 (f 0 w))) (N k) 'est-à-dire est le terme mais son type est 'est.9.3. (g 0 a))) en itérant la onstru tion qui permet de passer de (P n) onstruire la preuve de à (P (S n)) ave un entier de Chur h. on a vu au paragraphe 4. .. la démonstration de a est une démonstration ∀n (P n) est Si de (λE λw λf λn λp (p E w f ) P a g) Ce terme se β -reduit sur λn λp (p P a g) (P k) en appliquant ette preuve au terme k (λn λp (p P a f ) k λX λw λf (f (k − 1) . β -rédu tion.. S : ι → ι S puis on dénit l'ensemble des entiers omme le plus petit et qui est los par N = λn (∀X (X 0) ⇒ ∀x ((X x) ⇒ (X (S x))) ⇒ (X n)) La preuve de de Chur h k. le bon type. (f 1 (f 0 w)))) 1) . à peu de hoses près.. On pose un type ι. (f 1 (f 0 a))) Si on en déduit terme et à la preuve de qui se β -réduit sur (N k) on obtient le (λX λw λf (f (k − qui est la preuve dire te. des symboles ensemble qui ontient 0 0 : ι.. Il n'est malheureusement pas possible de trouver un terme los de e type. si X). nat ΠX : T ype (X → (X → X) → est le type des entiers de Chur h on peut exprimer l'axiome de ré urren e ΠP : nat → P rop ((P 0) → (Πn : nat (P n) → (P (S n))) → (Πn : nat (P n))) a de (P n).6. 129 LES DÉMONSTRATIONS D'EXISTENCE ET LES NOTATION POUR LES FONCTIONS Les entiers Dans le Cal ul des onstru tions. ∀E ((E 0) ⇒ (∀x ((E x) ⇒ (E (S x)))) ⇒ ∀n ((N n) ⇒ (E n))) En suivant la preuve du paragraphe 4. maintenant.6 Les démonstrations d'existen e et les notation pour les fon tions Proposition Une fon tion f a une démonstration d'existen e dans le Cal ul des onstru tions si et seulement si elle est exprimable dans le Cal ul des onstru tions. si on a une preuve (P 0) et une preuve g de Πn : nat (P n) → (P (S n)).. I i en ore les oupures de ré urren es se ramènent à de la (P 0).. Cet itérateur a. Mais. on onstruit le terme-preuve λE λw λf λn λp (p E w f ) On peut remarquer que ette preuve onsiste à démontrer (E n) en itérant n fois la preuve de ∀x ((E x) ⇒ (E (S x))) en utilisant la preuve de (N n) (l'entier de Chur h n) omme itérateur. par exemple. il n'est pas possible de (g n (g . l'entier ∀X (X 0) ⇒ ∀x ((X x) ⇒ (X (S x))) ⇒ (X k) et non ∀X (X ⇒ (X ⇒ X) ⇒ X) On peut alors démontrer le prin ipe de ré urren e.3. g une démonstration de ∀x ((P x) ⇒ (P (S x)))..6.. ar ette onstru tion a un type diérent à haque itération ( ontrairement à e qui se passe quand n on itère.6 que les entiers pouvaient se dénir dans la théorie des types simples. la multipli ation par 2 pour onstruire la fon tion n 7→ 2 ).

On montre ainsi que les fon tions exprimables dans le Cal ul des onstru tions et dans le système Fω sont les mêmes.  les fon tions exprimables dans le Cal ul des onstru tions. elle l'est également dans le Cal ul des onstru tions. le nombre de β -redu tions né essaire pour al uler le prédé esseur de n est proportionnel au n. ette preuve peut être traduite dans le Cal ul des onstru tions. En revan he. le type (N k) 'est-à-dire ∀X (X 0) ⇒ ∀x ((X x) ⇒ (X (S x))) ⇒ (X k) devient le type ∀X (X ⇒ (X ⇒ X) ⇒ X) des entiers de Chur h. en éliminant les types dépendants. l'entier de Peano pour a her le résultat. La proposition y = (F x) représente la fon tion f et on peut démontrer la proposition ∀x ∃y (y = (F x)). soit f une fon tion al ulable exprimée par un terme F dans le al ul des onstru tions. il est possible d'optimiser le terme exprimant une fon tion en éliminant les parties de la démonstration inutiles au al ul. L'entier de Chur h est utilisé omme itérateur dans la onstru tion des démonstrations. Remarque système nombre Si la fon tion prédé esseur peut se programmer dans le Cal ul des onstru tions (ou dans le Fω ). Ré iproquement. LE POLYMORPHISME Démonstration Soit une fon tion f représentée par une proposition P . de ∀x : nat ∃y : nat P . Cela motive une extension Cal ul des onstru tions en ajoutant un type indu tif primitif pour les entiers.130 CHAPITRE 9. Ré iproquement. e même témoin sous forme d'un entier de Chur h (la preuve de forme d'un entier preuve de (P k). il est onstant dans la théorie des types de Martin-Löf. . on en déduit que les ensembles suivants sont sont égaux :  les fon tions dont l'existen e peut être montrée dans le Cal ul des onstru tions. on montre que si l'existen e d'une fon tion est démontrable en arithmétique intuitionniste d'ordre supérieur. On aboutit ainsi à un nouveau al ul : le Cal ul des onstru tions Indu tives qui est une synthèse entre la théorie des types de Martin-Löf et le Cal ul des onstru tions [7. Le terme Remarque Une preuve de ∃x ((N x) ∧ (P x)) k sous (N k)) et la est un triplet qui ontient le témoin et Peano. Par ailleurs. 9℄. En eet si l'existen e d'une fon tion peut être montrée en arithmétique intuitionniste d'ordre supérieur. Soit une démonstration t normale F = λx : nat (π1 (t x)) exprime la fon tion f .  les fon tions exprimables dans le système Fw À es ensembles on peut ajouter  les fon tions dont l'existen e peut être montrée en arithmétique intuitionniste d'ordre supérieur. Remarque Comme au hapitre pré édent.

) Clarendon Press. Le ture Notes in Computer S ien e 664 (1993) pp. [6℄ [7℄ [8℄ on Computer S ien e 19.C. Paris olloquium on programming. The al ulus of onstru tions. Université Paris 7 (1985).Y. [2℄ Th. Lafont. Proofs and types. D. On Girard's andidats de rédu tibilité. Huet. Le ture Notes rieur. Thèse de troisième y le. Abramsky. Lambda al uli with types. Girard. Coquand. Girard. Maibaum (eds. Taylor. Université de Paris 7 (1972). 76 (1988) [3℄ T. Rules and Properties. [4℄ J. pp. Gabbay. Y. Gallier. 95-120. Reynolds. Une théorie des onstru tions indu tives. Springer Verlag (1974). 131 Thèse de Do torat. Barendregt.S.). Une théorie des onstru tions. Cambridge Universtity Press (1989). J. Towards a theory of type stru ture.M. Information and Computation. [9℄ B. Université de Paris 7 (1994). P. S. Interprétation fon tionnelle et élimination des oupures dans l'arithmétique d'ordre supé- Thèse de Do torat d'État. Oxford (1992). Werner. Coquand. Indu tive denitions in the system COQ. Paulin-Mohring. T. London (1990) pp. Logi and Computer S ien e.Bibliographie [1℄ H. P. [5℄ J. G. Typed Lambda Cal uli and Appli ations. Handbook of Logi in Computer S ien e. Ch. A ademi Press. J. 328-345.E. Odifreddi (Ed.Y. . 123-203.

132 BIBLIOGRAPHIE .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. . . . . . . . . . . . . . . . . . .5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 La logique linéaire 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Les axiomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2. . . . . .5 Le al ul des séquents en logique du premier ordre modulo 38 . . . .1 La notion de oupure . . . . . .2. . . . . . . . . . . .3 Dénition . . . . . . . .1. . . . . . . . . . . . . . . . 39 3. . .2. . . . . . . . 33 3. . . . . .2 Les langages du premier ordre . . . . .4 Une dénition indépendante des onne teurs ? . . . . . . . . . .1. . . . . . . . . . . .2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5. . . . . . . 27 2. . . . . . . . . . . . . . . . 3 Le al ul des séquents 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Tradu tions . .3 La règle de oupure 3. . . . . . . . . . 36 3. . . . . 23 2 La dédu tion naturelle 25 2.1. . . . . . . . . . . . . . . . . . . . . .2 Les propositions . . . . . . . . . . . . . . . . . . . . . .5. . .1. . . . .2. . . . . . . . . 35 3. . . . . . 37 3. . . . . . . . . . . . . . . . . . . . .2. . . . . . .3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2. . . . . . . . . . 133 . . . . . . . . . . . . . . . . . . .3 Les langages du premier ordre multisortés . . . . . . . . 33 3. . . . . . . . . . 19 1. . . . . . . . . . . . . . . .5 Les oupures 30 . . . .3. . . .1 3. . . . . . . . . . . . . . . 29 2. . . 2. . . .3 Les extensions de la notion de oupures . . . . . . . .1. .3. . . . . . . . .2 Les démonstrations au sens de Frege et Hilbert . . . . . . . . . . . . . . . . . . . .1 La dédu tion naturelle en logique du premier ordre multisortée . . . 21 1. . . 36 36 3. . . . . . . . . . . . . . . .2 Les axiomes logiques et les règles de dédu tion 26 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. 35 . . . . . . . . . . . . . . . . . . . . . .1 Les termes 17 1. . . . . . . . . . . . . . . . .2 Les démonstrations sans oupures 2. . . . . . . . . . . . . . . . . . . . . . Le al ul des séquents . . . . . . . . . . . . . . . . . . .1. . . 17 1. . . . 29 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Table des matières I Les démonstrations 15 1 La logique du premier ordre 17 1. 21 1.1 1. . . .4 Les règles stru turelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Le lemme de dédu tion . . . . . . . . . . . . . . . . . .1 La re her he de démonstrations . .3 30 31 32 33 Motivations . . . . .2 La dédu tion naturelle en logique du premier ordre modulo . . . . . . . . . . . . . . . .2. . . . . . . . . . . . . .2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 39 Du al ul des séquents en dédu tion naturelle . . . . . . . . . . . . . . . . . . . .1 Dénition . . . 19 1. . . . . . . . .2 Les règles gau hes . . . . . . . . . . . . . . . . . . .1 L'introdu tion d'hypothèses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Le al ul des séquents lassique . . . . . . . . .2. . . . . . . . . . . . . . . . . . . 18 Les démonstrations . . . . . . . . . . . 39 . . . . . . . . . . . . . 18 1. . . . . .2 3.3 Les suites et les arbres . . . . . . . . . . . . . . . . . . . .4 La dédu tion modulo . . . . . . . . . . . 3. 22 1.4 Le al ul des séquents en logique du premier ordre multisortée .

. 55 56 4. . . . . . . . . . . . . . . 56 4. . . .4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . d'ensembles et de relations . . 72 5. . . . 70 selon Chur h . . . . . . . . 59 4. . . . .2 4. . . . . . . . . .4 La normalisation faible . . . . . . . . . . . . . . . βη -rédu tion.7 Le paradoxe de Russell . . . . . . . . . . . . . . . . .4. . . . . . . . . . 71 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 L'α-équivalen e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4. . . . 62 4.1. . . . . . . .8 La théorie des ensembles et la théorie des types simples . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5. . .2. . . . . . . . . . . . .2. .1. .3. . . . . . . . . . . . . . . . . . . . . . . .1. . 67 5. . . . . la β -équivalen e . . . . . . . . . . . . . . . . . . . . . . . . . . .2 La onuen e en La normalisation λ- al ul λ- al ul selon Curry . . . . . . . . . . . . . . .2 L'expression de fon tions. . . . . . . . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3. . . 60 4. . . . . . . . . . . . . . . .2. . . . . . . . . .3 Un peu de mathématiques . . . . . . .3 La théorie des types présentée ave le λ- al ul . . . .3 La théorie naïve des ensembles . . . . . . . . . . . . . .3.1 Les suites de rédu tions . . . . . . . . . . . . . . . . . . . . . . . . .1 Les fon tions et les ensembles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Appli ations de la normalisation et de la onuen e 5. . . . .6 Un peu de mathématiques .5 L'égalité et la onversion . . . . . . . . . . . . . . . . . . . . . .4. . . . . .2. . . . . . . .3. 69 5. . . 72 5. . . . . . . . 68 . . . . . . . . . .2 La restri tion du s héma de ompréhension . . 68 5. . . . . . . . . . . . 68 5. . . . . . . . . . . . . . . . . . . . . . . .4. . . . . . . . . . .3 La 5. . . . . . . . . . . l'équivalen e . . . . .1. . . . . . .7 La forme η -longue 73 . . . . . . . . . . . . . .2. . . . . . .5 Le . . . . . . . . . . . . . . . .4. . . . . . . . . . . . . 70 5. . . . . . . . . . . 58 La théorie des ensembles . . . . . . . . . . . . . .4 Les symboles et les axiomes d'existen e 4. . . . . . . . . . . .1 59 Les types simples . . .1. .3 5. . . . . . . . . . . . . . . . .5 La normalisation faible de la βη -rédu tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 La normalisation forte . 58 4. . . . . . . . . . . . . . . . . . .3 La normalisation forte de la βη -rédu tion . . 4. . . . . . . . . . . 68 5. . . . . . . . . . . . . . . . . .3. . . . . . . . .3. . .4. . . . . . . . .1 4. . 58 λ- al ul . . . . . . . . 70 . . 58 4. .2 La rédu tion. . . .3. . 57 4. . . . . . . . . . . . . . .1 Le simplement typé . . . . . .4 5. . . . . . . . . . . . . . . . . . . . 43 . . . 74 . . . . . . . .3. . . . . . . . . . . . . . . . .2 La théorie des types présentée ave des ombinateurs . . . .2. . . . . . .1. 59 La théorie des types simples . . . . . . . . . . . . . . . . . . .3 Un nombre ni de ombinateurs 4. . . . . . . .2. . . . . . . . . . . . . . 62 5 Le lambda- al ul simplement typé λ- al ul 67 5. 5. .4 La β -rédu tion. . . . . . . . . . . .1 La onuen e en 5.3 Tradu tion des preuves sans oupures . . . . .4. . . . . . . . . . . 74 . . . . . . . . . . . . . . . 69 La onuen e . . . . . . . . . . . . . . . . . . . . 54 4.3. 57 4. . 62 4. . . . . . . . . . . . . . . . . .6 L'extensionnalité . . . . . . . . .2 De la dédu tion naturelle en al ul des séquents 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 II La théorie des types simples 51 4 La théorie des ensembles et la théorie des types simples 53 4. . . . . . . . . . . . . . . . . .4 Les relations sans arguments et les propositions . . . . . . . . . . . . . . .1. . . . la βη -équivalen e . . . . . . . . . . . . . . . . . .134 TABLE DES MATIÈRES 3. . . .2 La substitution . . . . . . . . . . . .1 La formation des termes . 53 4. . . . . . . . . . . . . . . .3. . . . . . . . 53 4. . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . 103 L'expression des démonstrations de la théorie des types 8. . . . . . . . . . . . . . . . . . . . 85 6. . . . . . . . . . . . . . . . . . 94 7. . . . . . . . . . . .3. . 102 7.4 . . . . . . .4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 . . . . . . . . . . . . . . . . . . . .1 L'isomorphisme de Curry 7.2 Exemples 8. . . . . . . . . . . . . . . . . . . . . . . . . . III Les démonstrations objets de la théorie 89 7 Les types dépendants . . . . . . . . . . . . . . . 93 . . . .1 Les axiomes de l'égalité et les axiomes de Peano 8. . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Les termes purs typables . . . . . . . . . .3 Propriétés . . . . . . . . . 84 6. . . 92 7. . .135 TABLE DES MATIÈRES 6 L'expression et l'existen e de fon tions en théorie des types 6. . .2. . . . . . . . . .1 La théorie des types omme une théorie du premier ordre multisortée 7. . . . . . . . . . . . . 97 97 λΠ- al ul . . . . . . . . . . . . . . .3 Les oupures de ré urren e 8. . . . . . . . .2. . . . . .3. 111 . . . .2 Le 7. . . . . . .2 Les raisonnements et les al uls ave les fon tions . . . .2. . . . . . . 102 La sémantique de Heyting et Kolmogorov . . . . . . . . La dé idabilité de la typabilité . . . . . . 86 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 La onuen e . . . . . . . . . . . . . . .2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . .2. . . . .3. . 102 λ1- al ul 7. . . .7 7. . . . . . . . . . 109 8. . . . .8 L'isomorphisme de Curry-De Bruijn-Howard pour la logique minimale . . . . . . l'opérateur de des riptions . . . . . . . . . . . . .3 L'expression des démonstrations de la théorie prédi ative des types . . . . . . . . . . . . . . . . . . .2 L'existen e de l'addition . .4. . . . .1. . . . . . . 109 8. . .2. . . . . . . . . . . . . . . . . . . . 100 La logique intuitionniste . .4 L'opérateur de hoix.2 La logique minimale 7. . . . . . . . . . . 83 6. . . . . 104 109 de Gödel .2 Les types en tant que termes 7. . . . . . . . . . . . . . . . . . . . . . . .2. . . . . . . . .2 Les oupures d'égalité . .2. . .4 La normalisation et la onuen e . . . . . . . . . . . . . . 104 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 . . . . . . . . . . . . . . . . . . 112 . . . . . . . . . . . . . .2. . . . . .L'isomorphisme de Curry-De Bruijn-Howard 91 7. . . . . . . . . . . . . . .9 L'élimination des oupures en logique minimale . .4 La théorie des types de Martin-Löf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 . . 86 6.1 La 6. . . . 95 7.3. . . . . .3. 99 7. . . . 7. . . . . . . . .3 Le 7. . . . . . . . . . .1.3.3 La logique lassique 87 . . . 106 8 Les types indu tifs 8. . . . . . . . . . . . . . . . 86 6. . . . . . . . . . . . . . . . . . . . . . . 80 80 80 Les fon tions exprimables sur les entiers de Chur h . . . . . . . . .3. . . . . . Le Système T . . . . . . . . . . . .3 L'isomorphisme de Curry-De Bruijn-Howard . . . . . . . . . . . . . . . . . . . . . .3. . . . . . .5 La normalisation . . . . . . . . . .2. . . . . 86 Les fon tions dont on peut prouver l'existen e . . 105 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Les axiomes de onversion . . . . . . . . . . . . 113 .2 Les fon tions exprimables sur les entiers de Peano 6. . . . . . . .3 91 . .4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8. . . . . . . . . . .2 . . . . . . .1. . . . . . . . . . 6. . . . . . . . . . . . . . . . . . . . . . . .3 L'axiome de des riptions . . . . . . . . . 83 6. . . . . . . . . .1 Les types dépendants 7. . . . . . 110 La théorie des types de Martin-Löf . . . . . .1 L'utilisation de l'axiome du hoix . . . . . . . . . . . . . . . . .2 La logique intuitionniste . . . . . . . . . . . . .1. . . . . . . . . . . . . .1 7. . 111 8. . . . .4.1 λ- al ul L'expressivité al ulatoire du β -expressivité 79 simplement typé .2. . . .1 93 . . . . .4. . . . . . . . . . . . . . . . . . . . . . . 81 6. . . . . . 83 6. . . . . . . . . . . . . . . . . . . . .1 Dénition . . . . . . . . . . .1 La représentation des fon tions . 97 7.3 et la al ulabilité . . . . . . . . . . . . . . . . . . . . .2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.3 L'existen e de fon tions 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. .3. . . . . . . . . . . . . . 114 8. . . . . . . . . . . . . . . . . . . . . . . . .1 L'expression des démonstrations 9.1 . . . . . 124 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 . . . . . . .3 La normalisation en présen e de types polymorphes . . . .3. . . . . . . . . . . . . . 127 Les démonstrations d'existen e et les notation pour les fon tions . .136 8. . .2 Généraliser la preuve de Tait 9. . . . . .5 L'isomorphisme de Curry-De Bruijn-Howard pour la théorie des types simples . 121 9. . . . . . . . . . . . . . . . . . . . . .4 T de . . . . . . 126 . .3. . . . . . . . . . . . . . . . . 116 Les types indu tifs .3. . . . . . . . . . 129 . . . . . . . . . . .5. . . . . . . . . . . . . . . . . . . . . . 122 9. . . . . . . . .3 Les andidats de rédu tibilité . .1 Les démonstrations d'existen e en théorie des types de Martin-Löf 8. . . 118 9 Le polymorphisme 9. . . . . .6 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3. . . . . .3 L'arithmétique intuitionniste du premier ordre 8. . . . . . . . . .3 TABLE DES MATIÈRES Les démonstrations d'existen e et les notations pour les fon tions .4 Les dénitions par ré urren e dans les 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Le ube des systèmes de types. . . . . . . . . . . . .2 L'élimination des oupures . . . . . .3. . . . la réalisabilité . . . . 124 λ- al ul polymorphes . . . . . . .3. . .4 L'optimisation de la onstru tion du terme. . . . . . . . . . . . . 126 9. . . . . . . . . . . . . . . . . . . . . 124 9. . . . 114 8. . . . . . 114 Le Cal ul des onstru tions 121 . . 126 9. . . . .2 L'équivalen e al ulatoire de la théorie des types de Martin-Löf et du système Gödel 8.5. . . . . . . . . . . . . . . systèmes de types purs . . . .1 Le système F . . . . . . . . . . . . . . 116 . . . . . . . .