in
C
-is implemented using regular, non-mutual recursion, like this (`f'` is a variable not occurring free in `A`, `B`, or `C`):
+is implemented using regular, non-mutual recursion, like this (`u` is a variable not occurring free in `A`, `B`, or `C`):
- let rec f' g x = (let f = f' g in A)
- in let rec g y = (let f = f' g in B)
- in let f = f' g in C
+ let rec u g x = (let f = u g in A)
+ in let rec g y = (let f = u g in B)
+ in let f = u g in C
or, expanded into the form we've been working with:
- let f' = Y (\f' g x. (\f. A) (f' g)) in
- let g = Y (\g y. (\f. B) (f' g)) in
- let f = f' g
+ let u = Y (\u g x. (\f. A) (u g)) in
+ let g = Y (\g y. (\f. B) (u g)) in
+ let f = u g