GATE | GATE CS 1999 | Question 58
[5 Marks question]
Suppose we have a function HALTS which when applied to any arbitrary function f and its arguments will say TRUE if function f terminates for those arguments and FALSE otherwise. Example, Given the following function definition.
FACTORIAL (N) = IF(N=0) THEN 1 ELSE N*FACTORIAL (N-1) Then HALTS(FACTORIAL 4)= TRUE and HATS(FACTORIAL -5)=FLASE Let us define the function FUNNY(f) = IF HALTS(ff) THEN not(ff) ELSE TRUE
a. Show that FUNNY terminates for all functions f
b. Use (a) to prove (by contradiction) that it is not possible to have a function like HALTS which for arbitrary functions and inputs says whether it will terminate on that input or not.
Quiz of this Question