YES Problem: f(c(s(x),y)) -> f(c(x,s(y))) g(c(x,s(y))) -> g(c(s(x),y)) Proof: DP Processor: DPs: f#(c(s(x),y)) -> f#(c(x,s(y))) g#(c(x,s(y))) -> g#(c(s(x),y)) TRS: f(c(s(x),y)) -> f(c(x,s(y))) g(c(x,s(y))) -> g(c(s(x),y)) Usable Rule Processor: DPs: f#(c(s(x),y)) -> f#(c(x,s(y))) g#(c(x,s(y))) -> g#(c(s(x),y)) TRS: CDG Processor: DPs: f#(c(s(x),y)) -> f#(c(x,s(y))) g#(c(x,s(y))) -> g#(c(s(x),y)) TRS: graph: g#(c(x,s(y))) -> g#(c(s(x),y)) -> g#(c(x,s(y))) -> g#(c(s(x),y)) f#(c(s(x),y)) -> f#(c(x,s(y))) -> f#(c(s(x),y)) -> f#(c(x,s(y))) Restore Modifier: DPs: f#(c(s(x),y)) -> f#(c(x,s(y))) g#(c(x,s(y))) -> g#(c(s(x),y)) TRS: f(c(s(x),y)) -> f(c(x,s(y))) g(c(x,s(y))) -> g(c(s(x),y)) SCC Processor: #sccs: 2 #rules: 2 #arcs: 2/4 DPs: f#(c(s(x),y)) -> f#(c(x,s(y))) TRS: f(c(s(x),y)) -> f(c(x,s(y))) g(c(x,s(y))) -> g(c(s(x),y)) Matrix Interpretation Processor: dimension: 1 interpretation: [f#](x0) = x0, [g](x0) = 0, [f](x0) = 0, [c](x0, x1) = x0, [s](x0) = x0 + 1 orientation: f#(c(s(x),y)) = x + 1 >= x = f#(c(x,s(y))) f(c(s(x),y)) = 0 >= 0 = f(c(x,s(y))) g(c(x,s(y))) = 0 >= 0 = g(c(s(x),y)) problem: DPs: TRS: f(c(s(x),y)) -> f(c(x,s(y))) g(c(x,s(y))) -> g(c(s(x),y)) Qed DPs: g#(c(x,s(y))) -> g#(c(s(x),y)) TRS: f(c(s(x),y)) -> f(c(x,s(y))) g(c(x,s(y))) -> g(c(s(x),y)) Matrix Interpretation Processor: dimension: 1 interpretation: [g#](x0) = x0, [g](x0) = 1, [f](x0) = 0, [c](x0, x1) = x1, [s](x0) = x0 + 1 orientation: g#(c(x,s(y))) = y + 1 >= y = g#(c(s(x),y)) f(c(s(x),y)) = 0 >= 0 = f(c(x,s(y))) g(c(x,s(y))) = 1 >= 1 = g(c(s(x),y)) problem: DPs: TRS: f(c(s(x),y)) -> f(c(x,s(y))) g(c(x,s(y))) -> g(c(s(x),y)) Qed