(STRATEGY INNERMOST) (VAR x y) (DATATYPES A = µX.< 0, true, s(X), false >) (SIGNATURES 1024 :: [] -> A 1024_1 :: [A] -> A if :: [A x A] -> A lt :: [A x A] -> A double :: [A] -> A 10 :: [] -> A) (RULES 1024() -> 1024_1(0()) 1024_1(x) -> if(lt(x,10()),x) if(true(),x) -> double(1024_1(s(x))) if(false(),x) -> s(0()) lt(0(),s(y)) -> true() lt(x,0()) -> false() lt(s(x),s(y)) -> lt(x,y) double(0()) -> 0() double(s(x)) -> s(s(double(x))) 10() -> double(s(double(s(s(0()))))))