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