(STRATEGY INNERMOST) (VAR x y) (DATATYPES A = µX.< 0, true, 1, false, s(X), c(X) >) (SIGNATURES f :: [A] -> A if :: [A x A x A] -> A g :: [A x A] -> A) (RULES f(0()) -> true() f(1()) -> false() f(s(x)) -> f(x) if(true(),s(x),s(y)) -> s(x) if(false(),s(x),s(y)) -> s(y) g(x,c(y)) -> c(g(x,y)) g(x,c(y)) -> g(x ,if(f(x),c(g(s(x),y)),c(y))))