Operator paradoksalny

Operator paradoksalny (operator punktu stałego) – funkcja w rachunku lambda, która dla każdej funkcji tworzy jej punkt stały:

Y ( f ) = β f ( Y ( f ) ) . {\displaystyle \mathbb {Y} (f)=_{\beta }f(\mathbb {Y} (f)).}

Nazwa bierze się stąd, iż jeśli tą funkcją będzie na przykład negacja (niezależnie od przyjętej definicji) to:

Y ( ¬ ) = β ¬ Y ( ¬ ) . {\displaystyle \mathbb {Y} (\neg )=_{\beta }\neg \mathbb {Y} (\neg ).}

Operatorów paradoksalnych jest nieskończenie wiele. Najczęściej używany jest zdefiniowany następująco:

Y λ f .   ( λ x .   f   ( x   x ) ) ( λ x .   f   ( x   x ) ) . {\displaystyle \mathbb {Y} \equiv \lambda f.\ (\lambda x.\ f\ (x\ x))(\lambda x.\ f\ (x\ x)).}

Niemniej jeśli

? λ a b c d e f g h i j k l m n o p q s t u v w x y z r .   r   ( t h i s i s a f i x e d p o i n t c o m b i n a t o r ) , {\displaystyle ?\equiv \lambda abcdefghijklmnopqstuvwxyzr.\ r\ (thisisafixedpointcombinator),}

to funkcja

$   ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {\displaystyle \$\equiv \ ??????????????????????????}

też jest operatorem punktu stałego[1].

Przypisy

  1. H.P. Barendregt: The Lambda Calculus: Its Syntax and Semantics. 1984. (ang.).