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