1% generated: 17 November 1989
2% option(s): SOURCE_TRANSFORM_1
3%
4%   tak
5%
6%   Evan Tick (from Lisp version by R. P. Gabriel)
7%
8%   (almost) Takeuchi function (recursive arithmetic)
9
10top:-tak.
11
12tak :- tak(18,12,6,_).
13
14tak(X,Y,Z,A) :-
15        X =< Y,
16        Z = A.
17tak(X,Y,Z,A) :-
18	X > Y,
19        X1 is X - 1,
20        tak(X1,Y,Z,A1),
21        Y1 is Y - 1,
22        tak(Y1,Z,X,A2),
23        Z1 is Z - 1,
24        tak(Z1,X,Y,A3),
25        tak(A1,A2,A3,A).
26