next up previous
Next: Recursive functions using Y Up: No Title Previous: Recursive functions

Fixpoints

The fixpoint theorem

Every expression E has a fixpoint E1 such that (E E1) ->* E1.

Proof. E1 can be taken to be (Y E) where
Y = f.(x.f (x x))(x.f (x x))

for then

(Y E) for any expression E
-> (x.E (x x))(x.E (x x))
-> E (x.E (x x))(x.E (x x))
= e(Y e).

Note that Y is not the only fixpoint operator, for example

Y1 = f.(g.x.f (g g) x)(g.x.f (g g) x)

is one also.



Alan Bond
1998-10-12