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