(VAR F G X Y ) (RULES if(true, X, Y) -> X if(false, X, Y) -> Y h(F, G, 0) -> 0 h(F, G, s(Y)) -> )