We are left with following problem, upon which TcT provides the certificate YES(?,O(n^1)). Strict Trs: { comp_f_g#1(plus_x(x3), comp_f_g(x1, x2), 0()) -> plus_x#1(x3, comp_f_g#1(x1, x2, 0())) , comp_f_g#1(plus_x(x3), id(), 0()) -> plus_x#1(x3, 0()) , plus_x#1(0(), x6) -> x6 , plus_x#1(S(x8), x10) -> S(plus_x#1(x8, x10)) , map#2(Nil()) -> Nil() , map#2(Cons(x16, x6)) -> Cons(plus_x(x16), map#2(x6)) , foldr_f#3(Nil(), 0()) -> 0() , foldr_f#3(Cons(x16, x5), x24) -> comp_f_g#1(x16, foldr#3(x5), x24) , foldr#3(Nil()) -> id() , foldr#3(Cons(x32, x6)) -> comp_f_g(x32, foldr#3(x6)) , main(x3) -> foldr_f#3(map#2(x3), 0()) } Obligation: innermost runtime complexity Answer: YES(?,O(n^1)) The problem is match-bounded by 2. The enriched problem is compatible with the following automaton. { comp_f_g#1_0(2, 2, 2) -> 1 , comp_f_g#1_0(2, 2, 2) -> 10 , comp_f_g#1_1(2, 2, 4) -> 1 , comp_f_g#1_1(2, 2, 4) -> 3 , comp_f_g#1_1(2, 2, 4) -> 10 , comp_f_g#1_1(2, 8, 2) -> 1 , comp_f_g#1_1(2, 8, 2) -> 10 , comp_f_g#1_1(2, 8, 4) -> 1 , comp_f_g#1_1(2, 8, 4) -> 3 , comp_f_g#1_1(2, 8, 4) -> 10 , comp_f_g#1_1(6, 9, 10) -> 1 , comp_f_g#1_1(6, 9, 10) -> 10 , comp_f_g#1_2(6, 9, 1) -> 1 , comp_f_g#1_2(6, 9, 1) -> 10 , comp_f_g#1_2(6, 9, 4) -> 1 , comp_f_g#1_2(6, 9, 4) -> 10 , plus_x_0(2) -> 1 , plus_x_0(2) -> 2 , plus_x_0(2) -> 5 , plus_x_0(2) -> 10 , plus_x_1(2) -> 6 , comp_f_g_0(2, 2) -> 1 , comp_f_g_0(2, 2) -> 2 , comp_f_g_0(2, 2) -> 5 , comp_f_g_0(2, 2) -> 10 , comp_f_g_1(2, 8) -> 1 , comp_f_g_1(2, 8) -> 8 , comp_f_g_1(2, 8) -> 10 , comp_f_g_2(6, 9) -> 9 , 0_0() -> 1 , 0_0() -> 2 , 0_0() -> 5 , 0_0() -> 10 , 0_1() -> 1 , 0_1() -> 3 , 0_1() -> 4 , 0_1() -> 10 , 0_2() -> 1 , 0_2() -> 10 , plus_x#1_0(2, 2) -> 1 , plus_x#1_0(2, 2) -> 10 , plus_x#1_1(2, 1) -> 1 , plus_x#1_1(2, 1) -> 10 , plus_x#1_1(2, 2) -> 5 , plus_x#1_1(2, 3) -> 1 , plus_x#1_1(2, 3) -> 3 , plus_x#1_1(2, 3) -> 10 , plus_x#1_1(2, 4) -> 1 , plus_x#1_1(2, 4) -> 3 , plus_x#1_1(2, 4) -> 10 , plus_x#1_1(2, 10) -> 1 , plus_x#1_1(2, 10) -> 10 , plus_x#1_2(2, 1) -> 1 , plus_x#1_2(2, 1) -> 10 , plus_x#1_2(2, 10) -> 1 , plus_x#1_2(2, 10) -> 10 , id_0() -> 1 , id_0() -> 2 , id_0() -> 5 , id_0() -> 10 , id_1() -> 1 , id_1() -> 8 , id_1() -> 10 , id_2() -> 9 , map#2_0(2) -> 1 , map#2_0(2) -> 10 , map#2_1(2) -> 7 , Nil_0() -> 1 , Nil_0() -> 2 , Nil_0() -> 5 , Nil_0() -> 10 , Nil_1() -> 1 , Nil_1() -> 7 , Nil_1() -> 10 , Cons_0(2, 2) -> 1 , Cons_0(2, 2) -> 2 , Cons_0(2, 2) -> 5 , Cons_0(2, 2) -> 10 , Cons_1(6, 7) -> 1 , Cons_1(6, 7) -> 7 , Cons_1(6, 7) -> 10 , S_0(2) -> 1 , S_0(2) -> 2 , S_0(2) -> 5 , S_0(2) -> 10 , S_1(1) -> 1 , S_1(1) -> 10 , S_1(3) -> 1 , S_1(3) -> 3 , S_1(3) -> 10 , S_1(5) -> 1 , S_1(5) -> 5 , S_1(5) -> 10 , foldr_f#3_0(2, 2) -> 1 , foldr_f#3_0(2, 2) -> 10 , foldr_f#3_1(7, 4) -> 1 , foldr_f#3_1(7, 4) -> 10 , foldr#3_0(2) -> 1 , foldr#3_0(2) -> 10 , foldr#3_1(2) -> 8 , foldr#3_2(7) -> 9 , main_0(2) -> 1 , main_0(2) -> 10 } Hurray, we answered YES(?,O(n^1))