Rozwiniętą implikację „jeśli to w przeciwnym razie ” zapisać można jako czyli

Przykład Obliczmy wartość wyrażenia „prawda i fałsz”, czyli w rachunku lambda

czyli „fałsz” zgodnie z oczekiwaniami.

Struktury danych Para złożona z elementów i to Pierwszy element wyciąga się za pomocą natomiast drugi przez

Listy można konstruować następującym sposobem: NIL to CONS to PARA wartość i lista

Następująca funkcja zwraca jeśli argumentem jest NIL, oraz jeśli to CONS:

Rekurencja w rachunku lambda Rachunek lambda z pozoru nie ma żadnego mechanizmu, który umożliwiałby rekurencję – nie można odwoływać się w definicji do samej funkcji. A jednak rekurencję można osiągnąć poprzez operator paradoksalny Y.

Paradoks polega na tym że dla każdego F zachodzi: Y F = F (Y F)

Tak więc np. funkcja negacji nie jest możliwa do zaimplementowania w postaci ogólnej, gdyż: (Y nie) = nie (Y nie)

Funkcja rekurencyjna musi pobrać siebie samą jako wartość.

Działa to w następujący sposób: (Y f) n f (Y f) n λ f. λ n. ciało_f

gdzie ciało_f może się odwoływać do siebie samej

Np.: silnia = Y (λ f. λ n. if_then_else (is_zero n) 1 (mult n (f (pred n))))

Zobacz też arytmetyka w rachunku lambda konwersja α rachunek kombinatorów redukcja β S-wyrażenie

Linki zewnętrzne

Lambda calculus , Routledge Encyclopedia of Philosophy, rep.routledge.com [dostęp 2023-05-10].