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