YES(?,O(n^1)) We are left with following problem, upon which TcT provides the certificate YES(?,O(n^1)). Strict Trs: { active(zeros()) -> mark(cons(0(), zeros())) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(and(X1, X2)) -> and(active(X1), X2) , active(and(tt(), X)) -> mark(X) , active(length(X)) -> length(active(X)) , active(length(cons(N, L))) -> mark(s(length(L))) , active(length(nil())) -> mark(0()) , active(s(X)) -> s(active(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , length(mark(X)) -> mark(length(X)) , length(ok(X)) -> ok(length(X)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , proper(s(X)) -> s(proper(X)) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: innermost runtime complexity Answer: YES(?,O(n^1)) The problem is match-bounded by 5. The enriched problem is compatible with the following automaton. { active_0(2) -> 1 , active_0(3) -> 1 , active_0(5) -> 1 , active_0(7) -> 1 , active_0(9) -> 1 , active_0(12) -> 1 , active_1(2) -> 21 , active_1(3) -> 21 , active_1(5) -> 21 , active_1(7) -> 21 , active_1(9) -> 21 , active_1(12) -> 21 , active_2(15) -> 22 , active_2(16) -> 22 , active_3(32) -> 28 , active_4(24) -> 34 , active_4(35) -> 36 , active_5(31) -> 37 , zeros_0() -> 2 , zeros_1() -> 16 , zeros_2() -> 25 , zeros_3() -> 33 , mark_0(2) -> 3 , mark_0(3) -> 3 , mark_0(5) -> 3 , mark_0(7) -> 3 , mark_0(9) -> 3 , mark_0(12) -> 3 , mark_1(14) -> 1 , mark_1(14) -> 21 , mark_1(17) -> 4 , mark_1(17) -> 17 , mark_1(18) -> 6 , mark_1(18) -> 18 , mark_1(19) -> 8 , mark_1(19) -> 19 , mark_1(20) -> 10 , mark_1(20) -> 20 , mark_2(23) -> 22 , cons_0(2, 2) -> 4 , cons_0(2, 3) -> 4 , cons_0(2, 5) -> 4 , cons_0(2, 7) -> 4 , cons_0(2, 9) -> 4 , cons_0(2, 12) -> 4 , cons_0(3, 2) -> 4 , cons_0(3, 3) -> 4 , cons_0(3, 5) -> 4 , cons_0(3, 7) -> 4 , cons_0(3, 9) -> 4 , cons_0(3, 12) -> 4 , cons_0(5, 2) -> 4 , cons_0(5, 3) -> 4 , cons_0(5, 5) -> 4 , cons_0(5, 7) -> 4 , cons_0(5, 9) -> 4 , cons_0(5, 12) -> 4 , cons_0(7, 2) -> 4 , cons_0(7, 3) -> 4 , cons_0(7, 5) -> 4 , cons_0(7, 7) -> 4 , cons_0(7, 9) -> 4 , cons_0(7, 12) -> 4 , cons_0(9, 2) -> 4 , cons_0(9, 3) -> 4 , cons_0(9, 5) -> 4 , cons_0(9, 7) -> 4 , cons_0(9, 9) -> 4 , cons_0(9, 12) -> 4 , cons_0(12, 2) -> 4 , cons_0(12, 3) -> 4 , cons_0(12, 5) -> 4 , cons_0(12, 7) -> 4 , cons_0(12, 9) -> 4 , cons_0(12, 12) -> 4 , cons_1(2, 2) -> 17 , cons_1(2, 3) -> 17 , cons_1(2, 5) -> 17 , cons_1(2, 7) -> 17 , cons_1(2, 9) -> 17 , cons_1(2, 12) -> 17 , cons_1(3, 2) -> 17 , cons_1(3, 3) -> 17 , cons_1(3, 5) -> 17 , cons_1(3, 7) -> 17 , cons_1(3, 9) -> 17 , cons_1(3, 12) -> 17 , cons_1(5, 2) -> 17 , cons_1(5, 3) -> 17 , cons_1(5, 5) -> 17 , cons_1(5, 7) -> 17 , cons_1(5, 9) -> 17 , cons_1(5, 12) -> 17 , cons_1(7, 2) -> 17 , cons_1(7, 3) -> 17 , cons_1(7, 5) -> 17 , cons_1(7, 7) -> 17 , cons_1(7, 9) -> 17 , cons_1(7, 12) -> 17 , cons_1(9, 2) -> 17 , cons_1(9, 3) -> 17 , cons_1(9, 5) -> 17 , cons_1(9, 7) -> 17 , cons_1(9, 9) -> 17 , cons_1(9, 12) -> 17 , cons_1(12, 2) -> 17 , cons_1(12, 3) -> 17 , cons_1(12, 5) -> 17 , cons_1(12, 7) -> 17 , cons_1(12, 9) -> 17 , cons_1(12, 12) -> 17 , cons_1(15, 16) -> 14 , cons_2(24, 25) -> 23 , cons_2(26, 27) -> 22 , cons_3(24, 25) -> 32 , cons_3(29, 30) -> 28 , cons_4(31, 33) -> 35 , cons_4(34, 25) -> 28 , cons_5(37, 33) -> 36 , 0_0() -> 5 , 0_1() -> 15 , 0_2() -> 24 , 0_3() -> 31 , and_0(2, 2) -> 6 , and_0(2, 3) -> 6 , and_0(2, 5) -> 6 , and_0(2, 7) -> 6 , and_0(2, 9) -> 6 , and_0(2, 12) -> 6 , and_0(3, 2) -> 6 , and_0(3, 3) -> 6 , and_0(3, 5) -> 6 , and_0(3, 7) -> 6 , and_0(3, 9) -> 6 , and_0(3, 12) -> 6 , and_0(5, 2) -> 6 , and_0(5, 3) -> 6 , and_0(5, 5) -> 6 , and_0(5, 7) -> 6 , and_0(5, 9) -> 6 , and_0(5, 12) -> 6 , and_0(7, 2) -> 6 , and_0(7, 3) -> 6 , and_0(7, 5) -> 6 , and_0(7, 7) -> 6 , and_0(7, 9) -> 6 , and_0(7, 12) -> 6 , and_0(9, 2) -> 6 , and_0(9, 3) -> 6 , and_0(9, 5) -> 6 , and_0(9, 7) -> 6 , and_0(9, 9) -> 6 , and_0(9, 12) -> 6 , and_0(12, 2) -> 6 , and_0(12, 3) -> 6 , and_0(12, 5) -> 6 , and_0(12, 7) -> 6 , and_0(12, 9) -> 6 , and_0(12, 12) -> 6 , and_1(2, 2) -> 18 , and_1(2, 3) -> 18 , and_1(2, 5) -> 18 , and_1(2, 7) -> 18 , and_1(2, 9) -> 18 , and_1(2, 12) -> 18 , and_1(3, 2) -> 18 , and_1(3, 3) -> 18 , and_1(3, 5) -> 18 , and_1(3, 7) -> 18 , and_1(3, 9) -> 18 , and_1(3, 12) -> 18 , and_1(5, 2) -> 18 , and_1(5, 3) -> 18 , and_1(5, 5) -> 18 , and_1(5, 7) -> 18 , and_1(5, 9) -> 18 , and_1(5, 12) -> 18 , and_1(7, 2) -> 18 , and_1(7, 3) -> 18 , and_1(7, 5) -> 18 , and_1(7, 7) -> 18 , and_1(7, 9) -> 18 , and_1(7, 12) -> 18 , and_1(9, 2) -> 18 , and_1(9, 3) -> 18 , and_1(9, 5) -> 18 , and_1(9, 7) -> 18 , and_1(9, 9) -> 18 , and_1(9, 12) -> 18 , and_1(12, 2) -> 18 , and_1(12, 3) -> 18 , and_1(12, 5) -> 18 , and_1(12, 7) -> 18 , and_1(12, 9) -> 18 , and_1(12, 12) -> 18 , tt_0() -> 7 , tt_1() -> 15 , tt_2() -> 24 , tt_3() -> 31 , length_0(2) -> 8 , length_0(3) -> 8 , length_0(5) -> 8 , length_0(7) -> 8 , length_0(9) -> 8 , length_0(12) -> 8 , length_1(2) -> 19 , length_1(3) -> 19 , length_1(5) -> 19 , length_1(7) -> 19 , length_1(9) -> 19 , length_1(12) -> 19 , nil_0() -> 9 , nil_1() -> 15 , nil_2() -> 24 , nil_3() -> 31 , s_0(2) -> 10 , s_0(3) -> 10 , s_0(5) -> 10 , s_0(7) -> 10 , s_0(9) -> 10 , s_0(12) -> 10 , s_1(2) -> 20 , s_1(3) -> 20 , s_1(5) -> 20 , s_1(7) -> 20 , s_1(9) -> 20 , s_1(12) -> 20 , proper_0(2) -> 11 , proper_0(3) -> 11 , proper_0(5) -> 11 , proper_0(7) -> 11 , proper_0(9) -> 11 , proper_0(12) -> 11 , proper_1(2) -> 21 , proper_1(3) -> 21 , proper_1(5) -> 21 , proper_1(7) -> 21 , proper_1(9) -> 21 , proper_1(12) -> 21 , proper_2(14) -> 22 , proper_2(15) -> 26 , proper_2(16) -> 27 , proper_3(23) -> 28 , proper_3(24) -> 29 , proper_3(25) -> 30 , ok_0(2) -> 12 , ok_0(3) -> 12 , ok_0(5) -> 12 , ok_0(7) -> 12 , ok_0(9) -> 12 , ok_0(12) -> 12 , ok_1(15) -> 11 , ok_1(15) -> 21 , ok_1(16) -> 11 , ok_1(16) -> 21 , ok_1(17) -> 4 , ok_1(17) -> 17 , ok_1(18) -> 6 , ok_1(18) -> 18 , ok_1(19) -> 8 , ok_1(19) -> 19 , ok_1(20) -> 10 , ok_1(20) -> 20 , ok_2(24) -> 26 , ok_2(25) -> 27 , ok_3(31) -> 29 , ok_3(32) -> 22 , ok_3(33) -> 30 , ok_4(35) -> 28 , top_0(2) -> 13 , top_0(3) -> 13 , top_0(5) -> 13 , top_0(7) -> 13 , top_0(9) -> 13 , top_0(12) -> 13 , top_1(21) -> 13 , top_2(22) -> 13 , top_3(28) -> 13 , top_4(36) -> 13 } Hurray, we answered YES(?,O(n^1))