52
Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry C ollège de France C haire Informatique et sciences numériques C ours 2, 2 décembre 2009

Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

Embed Size (px)

Citation preview

Page 1: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

Le lambda-calcul : réductions, causalité et déterminisme

Gérard Berry

Collège de France

Chaire Informatique et sciences numériques

Cours 2, 2 décembre 2009

Page 2: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

19/11/2009 2Collège de France, G. Berry,

Le -calcul pur

• x, y, z,... : variables • x. M : abstraction fonction de x de corps M• (MN) : application d’une fonction à un argument

• (x. M) N M[N/x] : -réduction

0 f. x. x1 f. x. fx...

n f. x. f n(x) = f(f(...f(x)...))

let rec Fact m si m1 alors 1 sinon Mult (m, Fact (m1))

Fact = Y (FACT) avec Y = (x. y.y(xxy)) (x. y.y(xxy))

Page 3: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

• Récursion / point fixe

Boucle, récursion, ou point fixe

while e do p for (i=0; i<n; i++) p

Fact(m) if m1 then 1 else Mult(m, Fact(m1))

• Boucle

while e do p if e then { p; while e do p }

While e p = if e then { p; While e p }

While = Y (W. e. p. if e then { p; W e p })

• Boucle récursion / point fixe : facile !

• Récursion boucle : dur !

La récursion est plus primitive que la boucle 02/12/2009 3G. Berry, Collège de France,

Fact Y (f. m if m1 then 1 else Mult(m, f(m1)))

Page 4: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

# let f n = n+1 in map f [3; 1; 4];;

: int list = [4; 2; 5]

CAML : programmation fonctionnelle typée

val map : ('a -> 'b) -> 'a list -> 'b list = <fun>

3 1 4 En C / C++ : pointeurs, boucles, etc.Bien mieux et plus sûr en CAML !

Théorème : un programme bien typé ne peut pas faire d’erreur non détectée à l’exécution

# let rec map f lst = match lst with [] [] | head :: tail (f head) :: (map f tail);;

head

tailA faire : [ 3; 1; 4 ] [4; 2; 5

]

Page 5: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 5G. Berry, Collège de France,

Erreur de type

02/12/2009 5G. Berry, Collège de France,

# let rec badmap f lst = match lst with []-> [] | head :: tail -> (f head) (badmap f tail);;

val badmap : ('a -> 'b list -> 'b list) -> 'a list -> 'b list = <fun>

# let f n = n+1 in badmap f [1; 2; 3];;

Characters 24-25:

let f n = n+1 in badmap f [1; 2; 3];;

^

Error: This expression has type int -> int but is here used with type

int -> 'a list -> 'a list

oubli de “::”

Page 6: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 6G. Berry, Collège de France,

Récursion et ordre supérieuren calcul numérique

M

M

1

M

2

M

3

M

4

F (f, x) T (F, f, x) U (F, f, x)

Page 7: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

1. Cohérence et confluence

2. Causalité

3. Normalisation relative

4. Approximations, stabilité, séquentialité

5. Le -calcul simplement typé

6. Les types d’ordre supérieur

02/12/2009 7G. Berry, Collège de France,

Agenda

Page 8: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

1. Cohérence et confluence

2. Causalité

3. Normalisation relative

4. Approximations, stabilité, séquentialité

5. Le -calcul simplement typé

6. Les types d’ordre supérieur

02/12/2009 8G. Berry, Collège de France,

Agenda

Page 9: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 9G. Berry, Collège de France,

Interconvertibilité et cohérence

3+4 7 5+2

3+4 se calcule en 7, forme normale

et 7 est aussi la valeur de 5+2M

NM Q S

* * * * *

NP Rinterconvertibles

• Mais nous avons caché quelque chose : le -calcul est-il cohérent? Par exemple, les entiers sont ils bien tous différents? m n si m n ?

Le calcul ne change pas la valeur, il la rend plus lisible

Page 10: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 10G. Berry, Collège de France,

Confuence (Church-Rosser)

M

N

M

N1 N2

Théorème de Church-Rosser=> forme normale unique=> résultat déterministe

Page 11: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 11G. Berry, Collège de France,

Interconvertibilité et cohérence

M N

M Q S

* * * * *

NP R

T

* * * *

* *

=> M et N confluent

=> cohérence : m n si m n

Page 12: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

7+5

25/11/2009 12G. Berry, Collège de France,

Confluence locale – le cas simple

(3+4)+(8-3)(3+4)+(8-3)

7+(8-3) (3+4)+5résidu

Page 13: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

( M) (x. x x) ((y. y) M)

02/12/2009 13G. Berry, Collège de France,

Confluence locale du -calcul

((y. y) M) ((y. y) M) (x. x x) M

M ((y. y) M)

M M

résidus

Les résidus de redex non réduits sont les mêmes

résidu

Page 14: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

(x. z ) ((y. y) M)

02/12/2009 14G. Berry, Collège de France,

Disparition de redex

z

(x. z ) M

Dans une réduction, un redex non réduit a0, 1 ou plusieurs résidus

Certains calculs peuvent être inutiles

M

* *

N

Page 15: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 15G. Berry, Collège de France,

Problème de récurrence

M

* *

Argl !Carreaux pas carrés !

Page 16: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

Théorème : Soient R1, R2, ..., Rn des redex de M.

Les réductions qui réduisent tous les Ri et leurs

résidus sont finies et conduisent au même terme

02/12/2009 16G. Berry, Collège de France,

Développements finis (Curry & Feys)

réduire unpaquet de redex en un coup

M

M

M

* *

N

Page 17: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 17G. Berry, Collège de France,

Solution 2 : lemme de NewmanSoit M fortement normalisable (toutes les réductions terminent).

Soit p(M) la longueur de la plus longue réduction de M.montrons la confluence par récurrence sur p(M)

M

*N 1. p(N) p(M)P

2. p(P) p(M)

3. CQFD

Page 18: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

1. Cohérence et confluence

2. Causalité

3. Normalisation relative

4. Approximations, stabilité, séquentialité

5. Le -calcul simplement typé

6. Les types d’ordre supérieur

02/12/2009 18G. Berry, Collège de France,

Agenda

Page 19: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

7+5

25/11/2009 19G. Berry, Collège de France,

Création de redex – le cas simple

(3+4)+(8-3)(3+4)+(8-3)

7+(8-3) (3+4)+5résidu

7+5 créé

12

Page 20: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

( ) (x. x x) ((y. y) )

02/12/2009 20G. Berry, Collège de France,

Causalité : la création de redex

((y. y) ) ((y. y) ) (x. x x)

((y. y) )

créé

(z. z) (z.

z)

(z. z)

Page 21: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

1. Cohérence et confluence

2. Causalité

3. Normalisation relative

4. Approximations, stabilité, séquentialité

5. Le -calcul simplement typé

6. Les types d’ordre supérieur

02/12/2009 21G. Berry, Collège de France,

Agenda

Page 22: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

• Familles de redex d’un terme : les classes obtenues par fermeture réflexive, transitive et symétrique de résidu

02/12/2009 22G. Berry, Collège de France,

Développements finis généralisés

( ) (x. x x) ((y. y) )

((y. y) ) ((y. y) ) (x. x x)

((y. y) )

(x. x) (y. y)créé

3 familles

Théorème (Lévy) : toute réduction qui réduit seulementdes redex d’un nombre fini de familles est finie

Page 23: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 23G. Berry, Collège de France,

Corollaire immédiat : la confluence

M

La confluence locale n’introduit pas de nouvelles famillesle lemme de Newman s’applique aux réductions finies des

familles de redex initiales

*

Page 24: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

25/11/2009 24G. Berry, Collège de France,

si Mult(2, Fact(2))0 alors Fact(2)sinon si Fact(2)0 alors Mult(2, Fact(2))sinon (Add(Mult(2, Fact(2))1, Fact(2)1)1)1

si

Mult(2, • )

Fact(2)

• 0 si

Add(•1, •1)1)1 • 0

Calculer sur les arbresen partageant les sous-arbres communs

Page 25: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 25G. Berry, Collège de France,

Les résidus peuvent s’emboîter !

(x. x x) (y. (z.z) y y)

(y. (z.z) y y) (y. (z.z) y y)

(z.z) (y. (z.z) y y) (y. (z.z) y y)

Théorème de Lévy : partager les redex de même famille donnerait des réductions optimales.

Abadi-Gonthier-Lévy : mais les structures de

données adaptées sont dures et chères!

Page 26: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

1. Cohérence et confluence

2. Causalité

3. Normalisation relative

4. Approximations, stabilité, séquentialité

5. Le -calcul simplement typé

6. Les types d’ordre supérieur

02/12/2009 26G. Berry, Collège de France,

Agenda

Page 27: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

• En C, trois disjonctions booléennes sont possibles– OuS (e, e’) e | e’ : boucle si e ou e’ boucle

– OuG (e, e’) e || e’ : si e alors vrai sinon e’

rend vrai si e rend vrai, même si e’ boucle

– OuD (e, e’) e’ || e : symétrique

02/12/2009 27G. Berry, Collège de France,

Le problème du ou parallèle

• Le parallélisme est-il possible ?– existe-t-il OuP (e, e’) qui rend vrai si l’un de e ou e’

rend vrai, même si l’autre boucle ?

Réponse : non !

Page 28: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

• On ajoute un nouveau terme , sans réduction. Un -terme est un terme avec des .

• Pour un terme M, le terme M est obtenu par

remplacement des redex externes de M par

• On écrit M N si on peut obtenir N en remplaçant des de M par des -termes quelconques

02/12/2009 28G. Berry, Collège de France,

Approximations de -termes

x. x ((y. y) x) (z ((u. u)

x))

x. x (z )

x. x P (z )

Page 29: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

M

Théorème de monotonie : si M N et si M a une forme normale sans , alors N a la même forme normale

02/12/2009 29G. Berry, Collège de France,

Théorèmes sur l’approximation

Théorème de stabilité : si M1 M et M2 M et si

M1 et M2 ont une forme normale N sans , alors

M1 M2 a la même forme normale.

M

1

M

2

M

2

M1M2

N

Page 30: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

Corollaire : Il n’existe pas de terme « ou parallèle »

OuP tel que M1 OuP vrai * vrai

M2 OuP vrai * vrai

M3 OuP faux faux * faux

02/12/2009 30G. Berry, Collège de France,

L’impossibilité du vrai parallélisme

Preuve : Si OuP existe, on pose M OuP vrai vrai

On a M1 M et M2 M

stabilité : M1 * vrai et M2 * vrai M1 M2 Oup * vrai

monotonie : Oup * vrai Oup faux faux * vrai

confluence : contredit Oup faux faux * faux, contradiction !

Page 31: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

• Théorème de séquentialité : si M N, si M n’a pas de forme normale mais N en a une, alors il existe un dans M qui doit devenir non- dans tout P M qui a une forme normale.

02/12/2009 31G. Berry, Collège de France,

La séquentialité

M

point critiquepour le

calcul

Page 32: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

• Corollaire : la fonction de Gustave suivante n’est pas définissable :

Gus vrai faux * vrai

Gus faux vrai * vrai

Gus vrai faux * vrai

02/12/2009 32G. Berry, Collège de France,

Corollaire

• Preuve : le terme Gus n’a pas de critique

Page 33: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

1. Cohérence et confluence

2. Causalité

3. Normalisation relative

4. Approximations, stabilité, séquentialité

5. Le -calcul simplement typé

6. Les types d’ordre supérieur

02/12/2009 33G. Berry, Collège de France,

Agenda

Page 34: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 34G. Berry, Collège de France,

Le -calcul simplement typé

f : DE, x : D f x : E

○ : (EF)(DE) (DF)

○ : (EF)((DE) (DF))

○ : (EF)(DE)DF

g : EFg○f : DF

○ f. g. x. g(f(x))

Page 35: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 35G. Berry, Collège de France,

• Variables de type : , , , ...• Si et sont des types, alors () est un type

•Un terme bien typé M doit vérifier 4 conditions:1. Tout sous-terme doit être bien typé

2. Toute abstraction doit avoir la forme

(x. M)()

3. Toute application doit avoir la forme

(M() N)

4. Toute les occurrences libres ou liées par le même lieurdoivent avoir le même type

... x... x ... y. ... y... y...

Un terme M est typable s’il existe des types pour lui

Page 36: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 36G. Berry, Collège de France,

Exemples

2 f(). x. (f(f x)) type ()()

○ (g(). f(). x. (g() (f() (x))))()()()

ouch!

○ : (EF)(DE)DF

○ g(). f (). x. g(f x)

mieux

x. x x demanderait t.q. ()

idD : (DD) (x. x)

()

Page 37: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

Proposition : Si M est typable de type et si M*N

dans le calcul pur, alors N est typable de type

02/12/2009 37G. Berry, Collège de France,

La normalisation forte du -calcul typé

Théorème : Si M est typable, alors toutes les réductions de M sont finies

Preuve : par morphisme des familles de Lévy

Corollaire : il n’existe pas de combinateur de point

fixe Y() tel que YMM(YM)

Preuve : Y() (x. x) bouclerait !

Page 38: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

Théorème : sur les entiers de Church, seuls les polynômes étendus sont définissables

polynômes étendus : projections, constantes, test à 0, fermés par somme et produits

02/12/2009 38G. Berry, Collège de France,

La limitation intrinsèque du -calcul typé

Page 39: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

• Ajouter explicitement ce qui a disparu– PCF : booléens, entiers, Y() pour tout , cf cours 3– ML / CAML : types paramétriques, inférence de types, etc.– reste indécidable, mais raisonnablement domestiqué

02/12/2009 39G. Berry, Collège de France,

Augmenter la puissanceen gardant la simplicité

• Rendre le système de types plus puissant– augmenter l’expressivité, préserver de la normalisation forte

– Système T (Gödel)

– Système F (Jean-Yves Girard, John Reynolds)

– Théorie des constructions (G. Huet, T. Coquand)

Page 40: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

• On ne peut écrire que des programmes qui terminent, mais beaucoup de programmes qui terminent !

• La preuve de terminaison doit faire partie du programme

• On peut ensuite l’enlever et extraire automatiquement un programme CAML exécutable du terme source complet

• On peut aussi faire des maths vraiment formelles

02/12/2009 40G. Berry, Collège de France,

Théorie des constructions

CompCert, compilateur C prouvé (Leroy et. al.)

Théorème des 4 couleurs (Gonthier – Werner)

Page 41: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

1. Cohérence et confluence

2. Causalité

3. Normalisation relative

4. Le -calcul simplement typé

5. Approximations, stabilité, séquentialité

6. Les types d’ordre supérieur

02/12/2009 41G. Berry, Collège de France,

Agenda

Page 42: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

• Système F (Jean-Yves Girard / John Reynolds) :– quantificateurs explicites pour les types– deux réductions, une pour les termes et une pour les

types

02/12/2009 42G. Berry, Collège de France,

Types d’ordre supérieur

. x. x de type .()

b xb. xb

b vrai (xb. xb) vrai vraiThéorème : un terme typable dans Système F

estfortement normalisable

Preuve : dur !Relations avec les familles de redex : inconnue

Page 43: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

• Permet des définitions de types très riches (record, listes, arbres, types récursifs, types

existentiels, etc.)

• Ne permet de coder que des fonctions qui terminent, mais permet de coder toutes les fonctions primitives récursives, plus d’autres

• Mais la typabilité est indécidable et il n’y a pas d’inférence de types !

02/12/2009 43G. Berry, Collège de France,

Avantages de Système F

Page 44: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 44G. Berry, Collège de France,

Exemple : produit

• Système F

. ( )

x, y . z . z x y

1 p. p (x.x. x)

2 p. (x.x. y)

• Lambda-calcul pur

x, y z. z x y

1 p. p (x.y. x)

2 p. p (x.y. y)

Page 45: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 45G. Berry, Collège de France,

• Entiers de Church, de type int d . ()()

0int d . f ().x. x

+1int d . nint. f ().x. f (n u f x)

• It : itération n fois d’une fonction f() sur y

It d nint . f(). y. n f y

- It 0 f y 0 f y (. f ().x. x) f y y

- It n+1 f y n+1 f y

It u f n+ 1 (. f ().x. f(n f x)) f y

It u f n+1 f(n y f)

It u f n+1 f(It f n y)

Page 46: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 46G. Berry, Collège de France,

Récursion primitive

• R d f (int). nint. y.

1(It n (x. f(1 x) (2

x), +1 2 x) y,0)

Pred d R +1

Pred 0 0Pred n+1

nPred(+1(+1(+1(+1(0)))))

R 0 f y yR n+1 f y f (R n f y)

n

Page 47: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

1. Cohérence et confluence

2. Causalité

3. Normalisation relative

4. Le -calcul simplement typé

5. Approximations, stabilité, séquentialité

6. Les types d’ordre supérieur

7. Bonus: inférence de types en ML

02/12/2009 47G. Berry, Collège de France,

Agenda

Page 48: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 48G. Berry, Collège de France,

Types polymorphes à la ML

1. Factoriser les types identiques

au lieu d’une identité () x. x pour chaque ,

avoir une seule identité (’a’a) où ’a est un typegénérique, i.e. une variable de type quantifiée

universellement.

2. Inférer les types pour ne pas les déclarer

Page 49: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 49G. Berry, Collège de France,

# let rec append x L <= si null L alors cons x nil sinon cons (hd L) (append x (tl

L))

append : ‘a ’a list’a list

# let rec append x L <= si null L alors cons x nil sinon cons (tl L) (append x (tl

L))

type-check error !

Page 50: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

• Le -calcul est apparemment hyper-simple mais il est hyper-expressif.

• Les théorèmes syntaxiques sont fondamentaux mais durs.

• Les types d’ordre supérieurs permettent de définir toutes les fonctions totales d’intérêt => fondamental pour la preuve de programme (CoQ).

• Mais le -calcul reste strictement séquentiel.

02/12/2009 51G. Berry, Collège de France,

Conclusion

Page 51: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

02/12/2009 52G. Berry, Collège de France,

Références (1)• http://worrydream.com/AlligatorEggs/

un très joli -calcul intuitif

• Generalized Finite Developments

Jean-Jacques Lévy From Semantics to Computer Science, in honor of Gilles

Kahn Cambridge University Press, 2009

• Proofs and Types

Jean-Yves Girard, traduit par Yves Lafont et Paul Taylor Cambridge University Press (1989). http://www.paultaylor.eu/stable/Proofs%2BTypes.html

• The geometry of optimal lambda reduction

Georges Gonthier, Martin Abadi, Jean-Jacques Lévy Proc. ACM POPL conf., 1992

Page 52: Le lambda-calcul : réductions, causalité et déterminisme Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 2, 2 décembre

• Interactive Theorem Proving And Program Development. Coq'art: The Calculus Of Inductive Constructions

Yves Bertot, Pierre Castéran Springer, 2004

02/12/2009 53G. Berry, Collège de France,

Références (2)

• Formal Proof – The Four-Color Theorem

Georges Gonthier. Notices of the American Mathematical Society, 55(11), pp. 1382-1393 (Dec. 2008).