(STRATEGY INNERMOST) (VAR x y) (DATATYPES A = µX.< t, 1, constant, 0, +(X, X), *(X, X), -(X, X) >) (SIGNATURES D :: [A] -> A) (RULES D(t()) -> 1() D(constant()) -> 0() D(+(x,y)) -> +(D(x),D(y)) D(*(x,y)) -> +(*(y,D(x)) ,*(x,D(y))) D(-(x,y)) -> -(D(x),D(y)))