De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

1 Prof. Dr. Martine De Cock academiejaar 2005-2006 Lambdarekenen.

Verwante presentaties


Presentatie over: "1 Prof. Dr. Martine De Cock academiejaar 2005-2006 Lambdarekenen."— Transcript van de presentatie:

1 1 Prof. Dr. Martine De Cock academiejaar Lambdarekenen

2 2 Turing-machine toestand symbool nieuwe toestand nieuw symbool richting a1a1R a0b1R b1b1R b0c0L c1s0L a10110 a10110 b11110 b11110 b11110 c11110 s11100

3 3 Lambdacalculus (Church) ( x.( y.x(yy))( y.x(yy)))( zxy.(( x.(x( xy.x))) x)y(z(( x.(x( xy.y)))x)(( x.(( xyz.zxy)( xy.y) x))y)))(( xyz.zxy)( xy.y)( x.x))(( xyz.zxy)( xy.y)(( xyz.zxy)( xy.y)( x.x))) optellen van 1 en 2 programma (inclusief invoer): ( xyz.zxy)( xy.y)(( xyz.zxy) ( xy.y)(( xyz.zxy)( xy.y)( x.x))) uitvoer:

4 4 Overzicht Lambdatermen Substitutie Rekenregels Lambdacombinatoren Programmeren in lambdacalculus

5 5 Lambdatermen vmet v in V (M N) met M in  en N in  ( v.M) met v in V en M in  3 GEDAANTES  verz. van alle uitdrukkingen

6 6 Haakjes en vernestelde abstr. buitenste haakjes applicatie is linksassociatief vernestelde abstractie invloed abstractor: naar rechts x.(xy)  x.(xy)) xy(xy) VOORNAAFSPRAAK x.xy x.(xy) xyz (xy)z x. y.xy xy.xy

7 7 Overzicht Lambdatermen Substitutie Rekenregels Lambdacombinatoren Programmeren in lambdacalculus

8 8 Vrij en gebonden verzameling van veranderlijken met vrij voorkomen in L voor v in V, M en N in 

9 9 Substitutie voor v in V, M en N in  met u niet vrij in M !

10 10 Overzicht Lambdatermen Substitutie Rekenregels Lambdacombinatoren Programmeren in lambdacalculus

11 11 Rekenregels voor v in V, M en N in   conversie  conversie voor v en w in V, M in  en w niet vrij in M

12 12  conversie veranderlijken in abstractor verschillend veranderlijken vrij en gebonden verschillend vergemakkelijkt substitutie lambatermen zijn  -congruent indien ze door  -conversie in elkaar kunnen omgezet worden

13 13  redex en  -normaalvorm Een  -redex is een lambdaterm van de vorm ( v.M)N Een  -normaalvorm is een lambdaterm waarin geen  -redex voorkomt

14 14 Overzicht Lambdatermen Substitutie Rekenregels Lambdacombinatoren Programmeren in lambdacalculus

15 15 Lambdacombinatoren Een lambdacombinator (of gesloten term) is een lambdaterm die geen vrije voorkomens van veranderlijken bevat.

16 16 Overzicht Lambdatermen Substitutie Rekenregels Lambdacombinatoren Programmeren in lambdacalculus

17 17 Lambdacalculus (Church) ( x.( y.x(yy))( y.x(yy)))( zxy.(( x.(x( xy.x))) x)y(z(( x.(x( xy.y)))x)(( x.(( xyz.zxy)( xy.y) x))y)))(( xyz.zxy)( xy.y)( x.x))(( xyz.zxy)( xy.y)(( xyz.zxy)( xy.y)( x.x))) optellen van 1 en 2 programma (inclusief invoer): ( xyz.zxy)( xy.y)(( xyz.zxy) ( xy.y)(( xyz.zxy)( xy.y)( x.x))) uitvoer:

18 18 Waarheidswaarden Tru = K en Fls = TK Tru MN = M Fls MN = N Cons MN = z.zMN Cons MN Tru = M Cons MN Fls = N

19 19 Getallen 1 ( xyz.zxy) ( xy.y) ( x.x) 2 ( xyz.zxy) ( xy.y) (( xyz.zxy) ( xy.y) ( x.x)) 3 ( xyz.zxy) ( xy.y) (( xyz.zxy) ( xy.y) (( xyz.zxy) ( xy.y) ( x.x)))

20 20 Lijsten [] x.( xy.x) [t]( xyz.zxy)t( x.( xy.x)) [s,t]( xyz.zxy)s(( xyz.zxy)t( x.( xy.x))) koppel lege lijst

21 21 Recursie probleem opsplitsen in deelproblemen die analoog zijn maar gemakkelijker F is een fixpuntcombinator als M( F M) = F M voor elke lambdaterm M x.( y.x(yy)) ( y.x(yy)) (Curry)


Download ppt "1 Prof. Dr. Martine De Cock academiejaar 2005-2006 Lambdarekenen."

Verwante presentaties


Ads door Google