YES Problem: a__f(X) -> g(h(f(X))) mark(f(X)) -> a__f(mark(X)) mark(g(X)) -> g(X) mark(h(X)) -> h(mark(X)) a__f(X) -> f(X) Proof: DP Processor: DPs: mark#(f(X)) -> mark#(X) mark#(f(X)) -> a__f#(mark(X)) mark#(h(X)) -> mark#(X) TRS: a__f(X) -> g(h(f(X))) mark(f(X)) -> a__f(mark(X)) mark(g(X)) -> g(X) mark(h(X)) -> h(mark(X)) a__f(X) -> f(X) TDG Processor: DPs: mark#(f(X)) -> mark#(X) mark#(f(X)) -> a__f#(mark(X)) mark#(h(X)) -> mark#(X) TRS: a__f(X) -> g(h(f(X))) mark(f(X)) -> a__f(mark(X)) mark(g(X)) -> g(X) mark(h(X)) -> h(mark(X)) a__f(X) -> f(X) graph: mark#(h(X)) -> mark#(X) -> mark#(h(X)) -> mark#(X) mark#(h(X)) -> mark#(X) -> mark#(f(X)) -> a__f#(mark(X)) mark#(h(X)) -> mark#(X) -> mark#(f(X)) -> mark#(X) mark#(f(X)) -> mark#(X) -> mark#(h(X)) -> mark#(X) mark#(f(X)) -> mark#(X) -> mark#(f(X)) -> a__f#(mark(X)) mark#(f(X)) -> mark#(X) -> mark#(f(X)) -> mark#(X) CDG Processor: DPs: mark#(f(X)) -> mark#(X) mark#(f(X)) -> a__f#(mark(X)) mark#(h(X)) -> mark#(X) TRS: a__f(X) -> g(h(f(X))) mark(f(X)) -> a__f(mark(X)) mark(g(X)) -> g(X) mark(h(X)) -> h(mark(X)) a__f(X) -> f(X) graph: Qed