(VAR X) (RULES active(g(X)) -> mark(h(X)) active(c) -> mark(d) active(h(d)) -> mark(g(c)) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c) -> active(c) mark(d) -> active(d) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) )