YES Time: 0.022019 TRS: { r1(empty(), a) -> a, r1(cons(x, k), a) -> r1(k, cons(x, a)), rev ls -> r1(ls, empty())} DP: DP: {r1#(cons(x, k), a) -> r1#(k, cons(x, a)), rev# ls -> r1#(ls, empty())} TRS: { r1(empty(), a) -> a, r1(cons(x, k), a) -> r1(k, cons(x, a)), rev ls -> r1(ls, empty())} UR: {} EDG: {(rev# ls -> r1#(ls, empty()), r1#(cons(x, k), a) -> r1#(k, cons(x, a))) (r1#(cons(x, k), a) -> r1#(k, cons(x, a)), r1#(cons(x, k), a) -> r1#(k, cons(x, a)))} STATUS: arrows: 0.500000 SCCS (1): Scc: {r1#(cons(x, k), a) -> r1#(k, cons(x, a))} SCC (1): Strict: {r1#(cons(x, k), a) -> r1#(k, cons(x, a))} Weak: { r1(empty(), a) -> a, r1(cons(x, k), a) -> r1(k, cons(x, a)), rev ls -> r1(ls, empty())} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [r1](x0, x1) = 0, [cons](x0, x1) = x0 + 1, [rev](x0) = 0, [empty] = 0, [r1#](x0, x1) = x0 Strict: r1#(cons(x, k), a) -> r1#(k, cons(x, a)) 1 + 0a + 1k + 0x >= 0 + 0a + 1k + 0x Weak: rev ls -> r1(ls, empty()) 0 + 0ls >= 0 + 0ls r1(cons(x, k), a) -> r1(k, cons(x, a)) 0 + 0a + 0k + 0x >= 0 + 0a + 0k + 0x r1(empty(), a) -> a 0 + 0a >= 1a Qed