(VAR F X Y Z ) (RULES eval(fun(F, X, Y), Z) -> dom(s(X), s(Y), s(Z)) -> s(dom(X, Y, Z)) dom(o, s(Y), s(Z)) -> s(dom(o, Y, Z)) dom(X, Y, o) -> X dom(o, o, Z) -> o )