YES Time: 0.007452 TRS: {f(x, c y) -> f(x, s f(y, y)), f(s x, y) -> f(x, s c y)} DP: DP: {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)} TRS: {f(x, c y) -> f(x, s f(y, y)), f(s x, y) -> f(x, s c y)} UR: {f(x, c y) -> f(x, s f(y, y)), f(s x, y) -> f(x, s c y), a(z, w) -> z, a(z, w) -> w} EDG: {(f#(x, c y) -> f#(y, 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#(s x, y) -> f#(x, s c 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))} STATUS: arrows: 0.444444 SCCS (2): Scc: {f#(x, c y) -> f#(y, y)} Scc: {f#(s x, y) -> f#(x, s c y)} SCC (1): Strict: {f#(x, c y) -> f#(y, y)} Weak: {f(x, c y) -> f(x, s f(y, y)), f(s x, y) -> f(x, s c y)} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [f](x0, x1) = x0, [s](x0) = 1, [c](x0) = x0 + 1, [f#](x0, x1) = x0 Strict: f#(x, c y) -> f#(y, y) 1 + 0x + 1y >= 0 + 1y Weak: f(s x, y) -> f(x, s c y) 1 + 0x + 0y >= 0 + 1x + 0y f(x, c y) -> f(x, s f(y, y)) 0 + 1x + 0y >= 0 + 1x + 0y Qed SCC (1): Strict: {f#(s x, y) -> f#(x, s c y)} Weak: {f(x, c y) -> f(x, s f(y, y)), f(s x, y) -> f(x, s c y)} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [f](x0, x1) = x0 + x1 + 1, [s](x0) = x0 + 1, [c](x0) = 0, [f#](x0, x1) = x0 Strict: f#(s x, y) -> f#(x, s c y) 1 + 1x + 0y >= 0 + 1x + 0y Weak: f(s x, y) -> f(x, s c y) 2 + 1x + 1y >= 2 + 1x + 0y f(x, c y) -> f(x, s f(y, y)) 1 + 1x + 0y >= 3 + 1x + 2y Qed