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