(STRATEGY INNERMOST) (VAR x y) (DATATYPES A = µX.< 0, true, s(X), false, cons(X, X), nil >) (SIGNATURES le :: [A x A] -> A int :: [A x A] -> A if :: [A x A x A] -> A) (RULES le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) int(x,y) -> if(le(x,y),x,y) if(true(),x,y) -> cons(x ,int(s(x),y)) if(false(),x,y) -> nil())