YES Problem: f(x,y) -> g(x,y) g(h(x),y) -> h(f(x,y)) g(h(x),y) -> h(g(x,y)) Proof: DP Processor: DPs: f#(x,y) -> g#(x,y) g#(h(x),y) -> f#(x,y) g#(h(x),y) -> g#(x,y) TRS: f(x,y) -> g(x,y) g(h(x),y) -> h(f(x,y)) g(h(x),y) -> h(g(x,y)) EDG Processor: DPs: f#(x,y) -> g#(x,y) g#(h(x),y) -> f#(x,y) g#(h(x),y) -> g#(x,y) TRS: f(x,y) -> g(x,y) g(h(x),y) -> h(f(x,y)) g(h(x),y) -> h(g(x,y)) graph: g#(h(x),y) -> g#(x,y) -> g#(h(x),y) -> f#(x,y) g#(h(x),y) -> g#(x,y) -> g#(h(x),y) -> g#(x,y) g#(h(x),y) -> f#(x,y) -> f#(x,y) -> g#(x,y) f#(x,y) -> g#(x,y) -> g#(h(x),y) -> f#(x,y) f#(x,y) -> g#(x,y) -> g#(h(x),y) -> g#(x,y) Subterm Criterion Processor: simple projection: pi(f#) = 0 pi(g#) = 0 problem: DPs: f#(x,y) -> g#(x,y) TRS: f(x,y) -> g(x,y) g(h(x),y) -> h(f(x,y)) g(h(x),y) -> h(g(x,y)) Matrix Interpretation Processor: dimension: 1 interpretation: [g#](x0, x1) = 0, [f#](x0, x1) = 1, [h](x0) = 0, [g](x0, x1) = 0, [f](x0, x1) = 0 orientation: f#(x,y) = 1 >= 0 = g#(x,y) f(x,y) = 0 >= 0 = g(x,y) g(h(x),y) = 0 >= 0 = h(f(x,y)) g(h(x),y) = 0 >= 0 = h(g(x,y)) problem: DPs: TRS: f(x,y) -> g(x,y) g(h(x),y) -> h(f(x,y)) g(h(x),y) -> h(g(x,y)) Qed