(STRATEGY INNERMOST) (VAR X Y) (DATATYPES A = µX.< c, n__f(X), true, false >) (SIGNATURES f :: [A] -> A if :: [A x A x A] -> A activate :: [A] -> A) (RULES f(X) -> if(X,c(),n__f(true())) if(true(),X,Y) -> X if(false(),X,Y) -> activate(Y) f(X) -> n__f(X) activate(n__f(X)) -> f(X) activate(X) -> X)