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