YES(?,O(n^1)) 1118.57/297.04 YES(?,O(n^1)) 1118.57/297.04 1118.57/297.04 We are left with following problem, upon which TcT provides the 1118.57/297.04 certificate YES(?,O(n^1)). 1118.57/297.04 1118.57/297.04 Strict Trs: 1118.57/297.04 { active(__(X1, X2)) -> __(X1, active(X2)) 1118.57/297.04 , active(__(X1, X2)) -> __(active(X1), X2) 1118.57/297.04 , active(__(X, nil())) -> mark(X) 1118.57/297.04 , active(__(__(X, Y), Z)) -> mark(__(X, __(Y, Z))) 1118.57/297.04 , active(__(nil(), X)) -> mark(X) 1118.57/297.04 , active(U11(X)) -> U11(active(X)) 1118.57/297.04 , active(U11(tt())) -> mark(U12(tt())) 1118.57/297.04 , active(U12(X)) -> U12(active(X)) 1118.57/297.04 , active(U12(tt())) -> mark(tt()) 1118.57/297.04 , active(isNePal(X)) -> isNePal(active(X)) 1118.57/297.04 , active(isNePal(__(I, __(P, I)))) -> mark(U11(tt())) 1118.57/297.04 , __(X1, mark(X2)) -> mark(__(X1, X2)) 1118.57/297.04 , __(mark(X1), X2) -> mark(__(X1, X2)) 1118.57/297.04 , __(ok(X1), ok(X2)) -> ok(__(X1, X2)) 1118.57/297.04 , U11(mark(X)) -> mark(U11(X)) 1118.57/297.04 , U11(ok(X)) -> ok(U11(X)) 1118.57/297.04 , U12(mark(X)) -> mark(U12(X)) 1118.57/297.04 , U12(ok(X)) -> ok(U12(X)) 1118.57/297.04 , isNePal(mark(X)) -> mark(isNePal(X)) 1118.57/297.04 , isNePal(ok(X)) -> ok(isNePal(X)) 1118.57/297.04 , proper(__(X1, X2)) -> __(proper(X1), proper(X2)) 1118.57/297.04 , proper(nil()) -> ok(nil()) 1118.57/297.04 , proper(U11(X)) -> U11(proper(X)) 1118.57/297.04 , proper(tt()) -> ok(tt()) 1118.57/297.04 , proper(U12(X)) -> U12(proper(X)) 1118.57/297.04 , proper(isNePal(X)) -> isNePal(proper(X)) 1118.57/297.04 , top(mark(X)) -> top(proper(X)) 1118.57/297.04 , top(ok(X)) -> top(active(X)) } 1118.57/297.04 Obligation: 1118.57/297.04 runtime complexity 1118.57/297.04 Answer: 1118.57/297.04 YES(?,O(n^1)) 1118.57/297.04 1118.57/297.04 The problem is match-bounded by 2. The enriched problem is 1118.57/297.04 compatible with the following automaton. 1118.57/297.04 { active_0(3) -> 1 1118.57/297.04 , active_0(4) -> 1 1118.57/297.04 , active_0(6) -> 1 1118.57/297.04 , active_0(10) -> 1 1118.57/297.04 , active_1(3) -> 17 1118.57/297.04 , active_1(4) -> 17 1118.57/297.04 , active_1(6) -> 17 1118.57/297.04 , active_1(10) -> 17 1118.57/297.04 , active_2(16) -> 18 1118.57/297.04 , ___0(3, 3) -> 2 1118.57/297.04 , ___0(3, 4) -> 2 1118.57/297.04 , ___0(3, 6) -> 2 1118.57/297.04 , ___0(3, 10) -> 2 1118.57/297.04 , ___0(4, 3) -> 2 1118.57/297.04 , ___0(4, 4) -> 2 1118.57/297.04 , ___0(4, 6) -> 2 1118.57/297.04 , ___0(4, 10) -> 2 1118.57/297.04 , ___0(6, 3) -> 2 1118.57/297.04 , ___0(6, 4) -> 2 1118.57/297.04 , ___0(6, 6) -> 2 1118.57/297.04 , ___0(6, 10) -> 2 1118.57/297.04 , ___0(10, 3) -> 2 1118.57/297.04 , ___0(10, 4) -> 2 1118.57/297.04 , ___0(10, 6) -> 2 1118.57/297.04 , ___0(10, 10) -> 2 1118.57/297.04 , ___1(3, 3) -> 12 1118.57/297.04 , ___1(3, 4) -> 12 1118.57/297.04 , ___1(3, 6) -> 12 1118.57/297.04 , ___1(3, 10) -> 12 1118.57/297.04 , ___1(4, 3) -> 12 1118.57/297.04 , ___1(4, 4) -> 12 1118.57/297.04 , ___1(4, 6) -> 12 1118.57/297.04 , ___1(4, 10) -> 12 1118.57/297.04 , ___1(6, 3) -> 12 1118.57/297.04 , ___1(6, 4) -> 12 1118.57/297.04 , ___1(6, 6) -> 12 1118.57/297.04 , ___1(6, 10) -> 12 1118.57/297.04 , ___1(10, 3) -> 12 1118.57/297.04 , ___1(10, 4) -> 12 1118.57/297.04 , ___1(10, 6) -> 12 1118.57/297.04 , ___1(10, 10) -> 12 1118.57/297.04 , mark_0(3) -> 3 1118.57/297.04 , mark_0(4) -> 3 1118.57/297.04 , mark_0(6) -> 3 1118.57/297.04 , mark_0(10) -> 3 1118.57/297.04 , mark_1(12) -> 2 1118.57/297.04 , mark_1(12) -> 12 1118.57/297.04 , mark_1(13) -> 5 1118.57/297.04 , mark_1(13) -> 13 1118.57/297.04 , mark_1(14) -> 7 1118.57/297.04 , mark_1(14) -> 14 1118.57/297.04 , mark_1(15) -> 8 1118.57/297.04 , mark_1(15) -> 15 1118.57/297.04 , nil_0() -> 4 1118.57/297.04 , nil_1() -> 16 1118.57/297.04 , U11_0(3) -> 5 1118.57/297.04 , U11_0(4) -> 5 1118.57/297.04 , U11_0(6) -> 5 1118.57/297.04 , U11_0(10) -> 5 1118.57/297.04 , U11_1(3) -> 13 1118.57/297.04 , U11_1(4) -> 13 1118.57/297.04 , U11_1(6) -> 13 1118.57/297.04 , U11_1(10) -> 13 1118.57/297.04 , tt_0() -> 6 1118.57/297.04 , tt_1() -> 16 1118.57/297.04 , U12_0(3) -> 7 1118.57/297.04 , U12_0(4) -> 7 1118.57/297.04 , U12_0(6) -> 7 1118.57/297.04 , U12_0(10) -> 7 1118.57/297.04 , U12_1(3) -> 14 1118.57/297.04 , U12_1(4) -> 14 1118.57/297.04 , U12_1(6) -> 14 1118.57/297.04 , U12_1(10) -> 14 1118.57/297.04 , isNePal_0(3) -> 8 1118.57/297.04 , isNePal_0(4) -> 8 1118.57/297.04 , isNePal_0(6) -> 8 1118.57/297.04 , isNePal_0(10) -> 8 1118.57/297.04 , isNePal_1(3) -> 15 1118.57/297.04 , isNePal_1(4) -> 15 1118.57/297.04 , isNePal_1(6) -> 15 1118.57/297.04 , isNePal_1(10) -> 15 1118.57/297.04 , proper_0(3) -> 9 1118.57/297.04 , proper_0(4) -> 9 1118.57/297.04 , proper_0(6) -> 9 1118.57/297.04 , proper_0(10) -> 9 1118.57/297.04 , proper_1(3) -> 17 1118.57/297.04 , proper_1(4) -> 17 1118.57/297.04 , proper_1(6) -> 17 1118.57/297.04 , proper_1(10) -> 17 1118.57/297.04 , ok_0(3) -> 10 1118.57/297.04 , ok_0(4) -> 10 1118.57/297.04 , ok_0(6) -> 10 1118.57/297.04 , ok_0(10) -> 10 1118.57/297.04 , ok_1(12) -> 2 1118.57/297.04 , ok_1(12) -> 12 1118.57/297.04 , ok_1(13) -> 5 1118.57/297.04 , ok_1(13) -> 13 1118.57/297.04 , ok_1(14) -> 7 1118.57/297.04 , ok_1(14) -> 14 1118.57/297.04 , ok_1(15) -> 8 1118.57/297.04 , ok_1(15) -> 15 1118.57/297.04 , ok_1(16) -> 9 1118.57/297.04 , ok_1(16) -> 17 1118.57/297.04 , top_0(3) -> 11 1118.57/297.04 , top_0(4) -> 11 1118.57/297.04 , top_0(6) -> 11 1118.57/297.04 , top_0(10) -> 11 1118.57/297.04 , top_1(17) -> 11 1118.57/297.04 , top_2(18) -> 11 } 1118.57/297.04 1118.57/297.04 Hurray, we answered YES(?,O(n^1)) 1118.86/297.28 EOF