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].