Rachunek lambda: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Niedokładne i nieprawidłowe tłumaczenie, uwagi na stronie dyskusji wikipedysty
lambda-wyrażenie (term) -> wyrażenie lambda
Linia 17:
Funkcję dwuargumentową można zdefiniować za pomocą techniki zwanej [[currying]]iem, mianowicie jako funkcję jednoargumentową, której wynikiem jest znowu funkcja jednoargumentowa. Rozpatrzmy funkcję <math>f(x, y) = x - y</math>, której zapis w rachunku lambda ma postać <math>\lambda\, x\, .\, \lambda\, y\, .\, x - y</math>. Aby uprościć zapis stosuje się powszechnie konwencję, aby funkcje "curried" zapisywać według wzoru <math>\lambda\, x\, y\, .\, x - y</math>.
 
== Lambda-wyrażeniaWyrażenia lambda ==
Niech <math>X</math> będzie nieskończonym, [[Zbiór przeliczalny|przeliczalnym]] zbiorem zmiennych. Lambda-wyrażenieWyrażenie (lambda-term)lmbda definiuje się następująco:
* Jeżeli <math>x \in X</math> to <math>x</math> jest lambda-wyrażeniem lambda,
* Jeżeli <math>M</math> jest lambda wyrażeniem lambda i <math>x \in X</math>, to napis <math>\lambda x . M</math> jest lambda-wyrażeniem lambda,
* Jeżeli <math>M</math> oraz <math>N</math> są lambda wyrażeniami lambda, to napis <math>(NM)</math> jest lambda-wyrażeniem lambda,
* Wszystkie lambda-wyrażenia lambda można utworzyć korzystając z powyższych reguł.
 
Zbiór wszystkich lambda-wyrażeń lambda oznacza się <math>\Lambda</math>.
 
Lambda-termyWyrażenia lambda rozpatruje się najczęściej jako [[klasa abstrakcji|klasy abstrakcji]] relacji [[konwersja alpha|alfa-konwersji]].
 
=== Zmienne wolne ===