MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), M, N)) -> mark(U12(tt(), M, N)) , active(U12(X1, X2, X3)) -> U12(active(X1), X2, X3) , active(U12(tt(), M, N)) -> mark(s(plus(N, M))) , active(s(X)) -> s(active(X)) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(N, s(M))) -> mark(U11(tt(), M, N)) , active(plus(N, 0())) -> mark(N) , active(U21(X1, X2, X3)) -> U21(active(X1), X2, X3) , active(U21(tt(), M, N)) -> mark(U22(tt(), M, N)) , active(U22(X1, X2, X3)) -> U22(active(X1), X2, X3) , active(U22(tt(), M, N)) -> mark(plus(x(N, M), N)) , active(x(X1, X2)) -> x(X1, active(X2)) , active(x(X1, X2)) -> x(active(X1), X2) , active(x(N, s(M))) -> mark(U21(tt(), M, N)) , active(x(N, 0())) -> mark(0()) , U11(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)) , U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)) , U12(mark(X1), X2, X3) -> mark(U12(X1, X2, X3)) , U12(ok(X1), ok(X2), ok(X3)) -> ok(U12(X1, X2, X3)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , U21(mark(X1), X2, X3) -> mark(U21(X1, X2, X3)) , U21(ok(X1), ok(X2), ok(X3)) -> ok(U21(X1, X2, X3)) , U22(mark(X1), X2, X3) -> mark(U22(X1, X2, X3)) , U22(ok(X1), ok(X2), ok(X3)) -> ok(U22(X1, X2, X3)) , x(X1, mark(X2)) -> mark(x(X1, X2)) , x(mark(X1), X2) -> mark(x(X1, X2)) , x(ok(X1), ok(X2)) -> ok(x(X1, X2)) , proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2, X3)) -> U12(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(U21(X1, X2, X3)) -> U21(proper(X1), proper(X2), proper(X3)) , proper(U22(X1, X2, X3)) -> U22(proper(X1), proper(X2), proper(X3)) , proper(x(X1, X2)) -> x(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'WithProblem (timeout of 60 seconds)' failed due to the following reason: Computation stopped due to timeout after 60.0 seconds. 2) 'Best' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'WithProblem (timeout of 30 seconds) (timeout of 60 seconds)' failed due to the following reason: Computation stopped due to timeout after 30.0 seconds. 2) 'Fastest (timeout of 5 seconds) (timeout of 60 seconds)' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'Bounds with minimal-enrichment and initial automaton 'match'' failed due to the following reason: match-boundness of the problem could not be verified. 2) 'Bounds with perSymbol-enrichment and initial automaton 'match'' failed due to the following reason: match-boundness of the problem could not be verified. 3) 'Best' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'Polynomial Path Order (PS) (timeout of 60 seconds)' failed due to the following reason: The processor is inapplicable, reason: Processor only applicable for innermost runtime complexity analysis 2) 'bsearch-popstar (timeout of 60 seconds)' failed due to the following reason: The processor is inapplicable, reason: Processor only applicable for innermost runtime complexity analysis 3) 'Innermost Weak Dependency Pairs (timeout of 60 seconds)' failed due to the following reason: We add the following weak dependency pairs: Strict DPs: { active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) , active^#(U11(tt(), M, N)) -> c_2(U12^#(tt(), M, N)) , active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) , active^#(U12(tt(), M, N)) -> c_4(s^#(plus(N, M))) , active^#(s(X)) -> c_5(s^#(active(X))) , active^#(plus(X1, X2)) -> c_6(plus^#(X1, active(X2))) , active^#(plus(X1, X2)) -> c_7(plus^#(active(X1), X2)) , active^#(plus(N, s(M))) -> c_8(U11^#(tt(), M, N)) , active^#(plus(N, 0())) -> c_9(N) , active^#(U21(X1, X2, X3)) -> c_10(U21^#(active(X1), X2, X3)) , active^#(U21(tt(), M, N)) -> c_11(U22^#(tt(), M, N)) , active^#(U22(X1, X2, X3)) -> c_12(U22^#(active(X1), X2, X3)) , active^#(U22(tt(), M, N)) -> c_13(plus^#(x(N, M), N)) , active^#(x(X1, X2)) -> c_14(x^#(X1, active(X2))) , active^#(x(X1, X2)) -> c_15(x^#(active(X1), X2)) , active^#(x(N, s(M))) -> c_16(U21^#(tt(), M, N)) , active^#(x(N, 0())) -> c_17() , U11^#(mark(X1), X2, X3) -> c_18(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_19(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2, X3) -> c_20(U12^#(X1, X2, X3)) , U12^#(ok(X1), ok(X2), ok(X3)) -> c_21(U12^#(X1, X2, X3)) , s^#(mark(X)) -> c_22(s^#(X)) , s^#(ok(X)) -> c_23(s^#(X)) , plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) , U21^#(mark(X1), X2, X3) -> c_27(U21^#(X1, X2, X3)) , U21^#(ok(X1), ok(X2), ok(X3)) -> c_28(U21^#(X1, X2, X3)) , U22^#(mark(X1), X2, X3) -> c_29(U22^#(X1, X2, X3)) , U22^#(ok(X1), ok(X2), ok(X3)) -> c_30(U22^#(X1, X2, X3)) , x^#(X1, mark(X2)) -> c_31(x^#(X1, X2)) , x^#(mark(X1), X2) -> c_32(x^#(X1, X2)) , x^#(ok(X1), ok(X2)) -> c_33(x^#(X1, X2)) , proper^#(U11(X1, X2, X3)) -> c_34(U11^#(proper(X1), proper(X2), proper(X3))) , proper^#(tt()) -> c_35() , proper^#(U12(X1, X2, X3)) -> c_36(U12^#(proper(X1), proper(X2), proper(X3))) , proper^#(s(X)) -> c_37(s^#(proper(X))) , proper^#(plus(X1, X2)) -> c_38(plus^#(proper(X1), proper(X2))) , proper^#(U21(X1, X2, X3)) -> c_39(U21^#(proper(X1), proper(X2), proper(X3))) , proper^#(U22(X1, X2, X3)) -> c_40(U22^#(proper(X1), proper(X2), proper(X3))) , proper^#(x(X1, X2)) -> c_41(x^#(proper(X1), proper(X2))) , proper^#(0()) -> c_42() , top^#(mark(X)) -> c_43(top^#(proper(X))) , top^#(ok(X)) -> c_44(top^#(active(X))) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) , active^#(U11(tt(), M, N)) -> c_2(U12^#(tt(), M, N)) , active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) , active^#(U12(tt(), M, N)) -> c_4(s^#(plus(N, M))) , active^#(s(X)) -> c_5(s^#(active(X))) , active^#(plus(X1, X2)) -> c_6(plus^#(X1, active(X2))) , active^#(plus(X1, X2)) -> c_7(plus^#(active(X1), X2)) , active^#(plus(N, s(M))) -> c_8(U11^#(tt(), M, N)) , active^#(plus(N, 0())) -> c_9(N) , active^#(U21(X1, X2, X3)) -> c_10(U21^#(active(X1), X2, X3)) , active^#(U21(tt(), M, N)) -> c_11(U22^#(tt(), M, N)) , active^#(U22(X1, X2, X3)) -> c_12(U22^#(active(X1), X2, X3)) , active^#(U22(tt(), M, N)) -> c_13(plus^#(x(N, M), N)) , active^#(x(X1, X2)) -> c_14(x^#(X1, active(X2))) , active^#(x(X1, X2)) -> c_15(x^#(active(X1), X2)) , active^#(x(N, s(M))) -> c_16(U21^#(tt(), M, N)) , active^#(x(N, 0())) -> c_17() , U11^#(mark(X1), X2, X3) -> c_18(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_19(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2, X3) -> c_20(U12^#(X1, X2, X3)) , U12^#(ok(X1), ok(X2), ok(X3)) -> c_21(U12^#(X1, X2, X3)) , s^#(mark(X)) -> c_22(s^#(X)) , s^#(ok(X)) -> c_23(s^#(X)) , plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) , U21^#(mark(X1), X2, X3) -> c_27(U21^#(X1, X2, X3)) , U21^#(ok(X1), ok(X2), ok(X3)) -> c_28(U21^#(X1, X2, X3)) , U22^#(mark(X1), X2, X3) -> c_29(U22^#(X1, X2, X3)) , U22^#(ok(X1), ok(X2), ok(X3)) -> c_30(U22^#(X1, X2, X3)) , x^#(X1, mark(X2)) -> c_31(x^#(X1, X2)) , x^#(mark(X1), X2) -> c_32(x^#(X1, X2)) , x^#(ok(X1), ok(X2)) -> c_33(x^#(X1, X2)) , proper^#(U11(X1, X2, X3)) -> c_34(U11^#(proper(X1), proper(X2), proper(X3))) , proper^#(tt()) -> c_35() , proper^#(U12(X1, X2, X3)) -> c_36(U12^#(proper(X1), proper(X2), proper(X3))) , proper^#(s(X)) -> c_37(s^#(proper(X))) , proper^#(plus(X1, X2)) -> c_38(plus^#(proper(X1), proper(X2))) , proper^#(U21(X1, X2, X3)) -> c_39(U21^#(proper(X1), proper(X2), proper(X3))) , proper^#(U22(X1, X2, X3)) -> c_40(U22^#(proper(X1), proper(X2), proper(X3))) , proper^#(x(X1, X2)) -> c_41(x^#(proper(X1), proper(X2))) , proper^#(0()) -> c_42() , top^#(mark(X)) -> c_43(top^#(proper(X))) , top^#(ok(X)) -> c_44(top^#(active(X))) } Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), M, N)) -> mark(U12(tt(), M, N)) , active(U12(X1, X2, X3)) -> U12(active(X1), X2, X3) , active(U12(tt(), M, N)) -> mark(s(plus(N, M))) , active(s(X)) -> s(active(X)) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(N, s(M))) -> mark(U11(tt(), M, N)) , active(plus(N, 0())) -> mark(N) , active(U21(X1, X2, X3)) -> U21(active(X1), X2, X3) , active(U21(tt(), M, N)) -> mark(U22(tt(), M, N)) , active(U22(X1, X2, X3)) -> U22(active(X1), X2, X3) , active(U22(tt(), M, N)) -> mark(plus(x(N, M), N)) , active(x(X1, X2)) -> x(X1, active(X2)) , active(x(X1, X2)) -> x(active(X1), X2) , active(x(N, s(M))) -> mark(U21(tt(), M, N)) , active(x(N, 0())) -> mark(0()) , U11(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)) , U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)) , U12(mark(X1), X2, X3) -> mark(U12(X1, X2, X3)) , U12(ok(X1), ok(X2), ok(X3)) -> ok(U12(X1, X2, X3)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , U21(mark(X1), X2, X3) -> mark(U21(X1, X2, X3)) , U21(ok(X1), ok(X2), ok(X3)) -> ok(U21(X1, X2, X3)) , U22(mark(X1), X2, X3) -> mark(U22(X1, X2, X3)) , U22(ok(X1), ok(X2), ok(X3)) -> ok(U22(X1, X2, X3)) , x(X1, mark(X2)) -> mark(x(X1, X2)) , x(mark(X1), X2) -> mark(x(X1, X2)) , x(ok(X1), ok(X2)) -> ok(x(X1, X2)) , proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2, X3)) -> U12(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(U21(X1, X2, X3)) -> U21(proper(X1), proper(X2), proper(X3)) , proper(U22(X1, X2, X3)) -> U22(proper(X1), proper(X2), proper(X3)) , proper(x(X1, X2)) -> x(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE Consider the dependency graph: 1: active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_19(U11^#(X1, X2, X3)) :19 -->_1 U11^#(mark(X1), X2, X3) -> c_18(U11^#(X1, X2, X3)) :18 2: active^#(U11(tt(), M, N)) -> c_2(U12^#(tt(), M, N)) 3: active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_21(U12^#(X1, X2, X3)) :21 -->_1 U12^#(mark(X1), X2, X3) -> c_20(U12^#(X1, X2, X3)) :20 4: active^#(U12(tt(), M, N)) -> c_4(s^#(plus(N, M))) -->_1 s^#(ok(X)) -> c_23(s^#(X)) :23 -->_1 s^#(mark(X)) -> c_22(s^#(X)) :22 5: active^#(s(X)) -> c_5(s^#(active(X))) -->_1 s^#(ok(X)) -> c_23(s^#(X)) :23 -->_1 s^#(mark(X)) -> c_22(s^#(X)) :22 6: active^#(plus(X1, X2)) -> c_6(plus^#(X1, active(X2))) -->_1 plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) :26 -->_1 plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) :25 -->_1 plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) :24 7: active^#(plus(X1, X2)) -> c_7(plus^#(active(X1), X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) :26 -->_1 plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) :25 -->_1 plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) :24 8: active^#(plus(N, s(M))) -> c_8(U11^#(tt(), M, N)) 9: active^#(plus(N, 0())) -> c_9(N) -->_1 top^#(ok(X)) -> c_44(top^#(active(X))) :44 -->_1 top^#(mark(X)) -> c_43(top^#(proper(X))) :43 -->_1 proper^#(x(X1, X2)) -> c_41(x^#(proper(X1), proper(X2))) :41 -->_1 proper^#(U22(X1, X2, X3)) -> c_40(U22^#(proper(X1), proper(X2), proper(X3))) :40 -->_1 proper^#(U21(X1, X2, X3)) -> c_39(U21^#(proper(X1), proper(X2), proper(X3))) :39 -->_1 proper^#(plus(X1, X2)) -> c_38(plus^#(proper(X1), proper(X2))) :38 -->_1 proper^#(s(X)) -> c_37(s^#(proper(X))) :37 -->_1 proper^#(U12(X1, X2, X3)) -> c_36(U12^#(proper(X1), proper(X2), proper(X3))) :36 -->_1 proper^#(U11(X1, X2, X3)) -> c_34(U11^#(proper(X1), proper(X2), proper(X3))) :34 -->_1 x^#(ok(X1), ok(X2)) -> c_33(x^#(X1, X2)) :33 -->_1 x^#(mark(X1), X2) -> c_32(x^#(X1, X2)) :32 -->_1 x^#(X1, mark(X2)) -> c_31(x^#(X1, X2)) :31 -->_1 U22^#(ok(X1), ok(X2), ok(X3)) -> c_30(U22^#(X1, X2, X3)) :30 -->_1 U22^#(mark(X1), X2, X3) -> c_29(U22^#(X1, X2, X3)) :29 -->_1 U21^#(ok(X1), ok(X2), ok(X3)) -> c_28(U21^#(X1, X2, X3)) :28 -->_1 U21^#(mark(X1), X2, X3) -> c_27(U21^#(X1, X2, X3)) :27 -->_1 plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) :26 -->_1 plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) :25 -->_1 plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) :24 -->_1 s^#(ok(X)) -> c_23(s^#(X)) :23 -->_1 s^#(mark(X)) -> c_22(s^#(X)) :22 -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_21(U12^#(X1, X2, X3)) :21 -->_1 U12^#(mark(X1), X2, X3) -> c_20(U12^#(X1, X2, X3)) :20 -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_19(U11^#(X1, X2, X3)) :19 -->_1 U11^#(mark(X1), X2, X3) -> c_18(U11^#(X1, X2, X3)) :18 -->_1 active^#(x(X1, X2)) -> c_15(x^#(active(X1), X2)) :15 -->_1 active^#(x(X1, X2)) -> c_14(x^#(X1, active(X2))) :14 -->_1 active^#(U22(tt(), M, N)) -> c_13(plus^#(x(N, M), N)) :13 -->_1 active^#(U22(X1, X2, X3)) -> c_12(U22^#(active(X1), X2, X3)) :12 -->_1 active^#(U21(X1, X2, X3)) -> c_10(U21^#(active(X1), X2, X3)) :10 -->_1 proper^#(0()) -> c_42() :42 -->_1 proper^#(tt()) -> c_35() :35 -->_1 active^#(x(N, 0())) -> c_17() :17 -->_1 active^#(x(N, s(M))) -> c_16(U21^#(tt(), M, N)) :16 -->_1 active^#(U21(tt(), M, N)) -> c_11(U22^#(tt(), M, N)) :11 -->_1 active^#(plus(N, 0())) -> c_9(N) :9 -->_1 active^#(plus(N, s(M))) -> c_8(U11^#(tt(), M, N)) :8 -->_1 active^#(plus(X1, X2)) -> c_7(plus^#(active(X1), X2)) :7 -->_1 active^#(plus(X1, X2)) -> c_6(plus^#(X1, active(X2))) :6 -->_1 active^#(s(X)) -> c_5(s^#(active(X))) :5 -->_1 active^#(U12(tt(), M, N)) -> c_4(s^#(plus(N, M))) :4 -->_1 active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) :3 -->_1 active^#(U11(tt(), M, N)) -> c_2(U12^#(tt(), M, N)) :2 -->_1 active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) :1 10: active^#(U21(X1, X2, X3)) -> c_10(U21^#(active(X1), X2, X3)) -->_1 U21^#(ok(X1), ok(X2), ok(X3)) -> c_28(U21^#(X1, X2, X3)) :28 -->_1 U21^#(mark(X1), X2, X3) -> c_27(U21^#(X1, X2, X3)) :27 11: active^#(U21(tt(), M, N)) -> c_11(U22^#(tt(), M, N)) 12: active^#(U22(X1, X2, X3)) -> c_12(U22^#(active(X1), X2, X3)) -->_1 U22^#(ok(X1), ok(X2), ok(X3)) -> c_30(U22^#(X1, X2, X3)) :30 -->_1 U22^#(mark(X1), X2, X3) -> c_29(U22^#(X1, X2, X3)) :29 13: active^#(U22(tt(), M, N)) -> c_13(plus^#(x(N, M), N)) -->_1 plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) :26 -->_1 plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) :25 -->_1 plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) :24 14: active^#(x(X1, X2)) -> c_14(x^#(X1, active(X2))) -->_1 x^#(ok(X1), ok(X2)) -> c_33(x^#(X1, X2)) :33 -->_1 x^#(mark(X1), X2) -> c_32(x^#(X1, X2)) :32 -->_1 x^#(X1, mark(X2)) -> c_31(x^#(X1, X2)) :31 15: active^#(x(X1, X2)) -> c_15(x^#(active(X1), X2)) -->_1 x^#(ok(X1), ok(X2)) -> c_33(x^#(X1, X2)) :33 -->_1 x^#(mark(X1), X2) -> c_32(x^#(X1, X2)) :32 -->_1 x^#(X1, mark(X2)) -> c_31(x^#(X1, X2)) :31 16: active^#(x(N, s(M))) -> c_16(U21^#(tt(), M, N)) 17: active^#(x(N, 0())) -> c_17() 18: U11^#(mark(X1), X2, X3) -> c_18(U11^#(X1, X2, X3)) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_19(U11^#(X1, X2, X3)) :19 -->_1 U11^#(mark(X1), X2, X3) -> c_18(U11^#(X1, X2, X3)) :18 19: U11^#(ok(X1), ok(X2), ok(X3)) -> c_19(U11^#(X1, X2, X3)) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_19(U11^#(X1, X2, X3)) :19 -->_1 U11^#(mark(X1), X2, X3) -> c_18(U11^#(X1, X2, X3)) :18 20: U12^#(mark(X1), X2, X3) -> c_20(U12^#(X1, X2, X3)) -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_21(U12^#(X1, X2, X3)) :21 -->_1 U12^#(mark(X1), X2, X3) -> c_20(U12^#(X1, X2, X3)) :20 21: U12^#(ok(X1), ok(X2), ok(X3)) -> c_21(U12^#(X1, X2, X3)) -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_21(U12^#(X1, X2, X3)) :21 -->_1 U12^#(mark(X1), X2, X3) -> c_20(U12^#(X1, X2, X3)) :20 22: s^#(mark(X)) -> c_22(s^#(X)) -->_1 s^#(ok(X)) -> c_23(s^#(X)) :23 -->_1 s^#(mark(X)) -> c_22(s^#(X)) :22 23: s^#(ok(X)) -> c_23(s^#(X)) -->_1 s^#(ok(X)) -> c_23(s^#(X)) :23 -->_1 s^#(mark(X)) -> c_22(s^#(X)) :22 24: plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) :26 -->_1 plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) :25 -->_1 plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) :24 25: plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) :26 -->_1 plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) :25 -->_1 plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) :24 26: plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) :26 -->_1 plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) :25 -->_1 plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) :24 27: U21^#(mark(X1), X2, X3) -> c_27(U21^#(X1, X2, X3)) -->_1 U21^#(ok(X1), ok(X2), ok(X3)) -> c_28(U21^#(X1, X2, X3)) :28 -->_1 U21^#(mark(X1), X2, X3) -> c_27(U21^#(X1, X2, X3)) :27 28: U21^#(ok(X1), ok(X2), ok(X3)) -> c_28(U21^#(X1, X2, X3)) -->_1 U21^#(ok(X1), ok(X2), ok(X3)) -> c_28(U21^#(X1, X2, X3)) :28 -->_1 U21^#(mark(X1), X2, X3) -> c_27(U21^#(X1, X2, X3)) :27 29: U22^#(mark(X1), X2, X3) -> c_29(U22^#(X1, X2, X3)) -->_1 U22^#(ok(X1), ok(X2), ok(X3)) -> c_30(U22^#(X1, X2, X3)) :30 -->_1 U22^#(mark(X1), X2, X3) -> c_29(U22^#(X1, X2, X3)) :29 30: U22^#(ok(X1), ok(X2), ok(X3)) -> c_30(U22^#(X1, X2, X3)) -->_1 U22^#(ok(X1), ok(X2), ok(X3)) -> c_30(U22^#(X1, X2, X3)) :30 -->_1 U22^#(mark(X1), X2, X3) -> c_29(U22^#(X1, X2, X3)) :29 31: x^#(X1, mark(X2)) -> c_31(x^#(X1, X2)) -->_1 x^#(ok(X1), ok(X2)) -> c_33(x^#(X1, X2)) :33 -->_1 x^#(mark(X1), X2) -> c_32(x^#(X1, X2)) :32 -->_1 x^#(X1, mark(X2)) -> c_31(x^#(X1, X2)) :31 32: x^#(mark(X1), X2) -> c_32(x^#(X1, X2)) -->_1 x^#(ok(X1), ok(X2)) -> c_33(x^#(X1, X2)) :33 -->_1 x^#(mark(X1), X2) -> c_32(x^#(X1, X2)) :32 -->_1 x^#(X1, mark(X2)) -> c_31(x^#(X1, X2)) :31 33: x^#(ok(X1), ok(X2)) -> c_33(x^#(X1, X2)) -->_1 x^#(ok(X1), ok(X2)) -> c_33(x^#(X1, X2)) :33 -->_1 x^#(mark(X1), X2) -> c_32(x^#(X1, X2)) :32 -->_1 x^#(X1, mark(X2)) -> c_31(x^#(X1, X2)) :31 34: proper^#(U11(X1, X2, X3)) -> c_34(U11^#(proper(X1), proper(X2), proper(X3))) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_19(U11^#(X1, X2, X3)) :19 -->_1 U11^#(mark(X1), X2, X3) -> c_18(U11^#(X1, X2, X3)) :18 35: proper^#(tt()) -> c_35() 36: proper^#(U12(X1, X2, X3)) -> c_36(U12^#(proper(X1), proper(X2), proper(X3))) -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_21(U12^#(X1, X2, X3)) :21 -->_1 U12^#(mark(X1), X2, X3) -> c_20(U12^#(X1, X2, X3)) :20 37: proper^#(s(X)) -> c_37(s^#(proper(X))) -->_1 s^#(ok(X)) -> c_23(s^#(X)) :23 -->_1 s^#(mark(X)) -> c_22(s^#(X)) :22 38: proper^#(plus(X1, X2)) -> c_38(plus^#(proper(X1), proper(X2))) -->_1 plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) :26 -->_1 plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) :25 -->_1 plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) :24 39: proper^#(U21(X1, X2, X3)) -> c_39(U21^#(proper(X1), proper(X2), proper(X3))) -->_1 U21^#(ok(X1), ok(X2), ok(X3)) -> c_28(U21^#(X1, X2, X3)) :28 -->_1 U21^#(mark(X1), X2, X3) -> c_27(U21^#(X1, X2, X3)) :27 40: proper^#(U22(X1, X2, X3)) -> c_40(U22^#(proper(X1), proper(X2), proper(X3))) -->_1 U22^#(ok(X1), ok(X2), ok(X3)) -> c_30(U22^#(X1, X2, X3)) :30 -->_1 U22^#(mark(X1), X2, X3) -> c_29(U22^#(X1, X2, X3)) :29 41: proper^#(x(X1, X2)) -> c_41(x^#(proper(X1), proper(X2))) -->_1 x^#(ok(X1), ok(X2)) -> c_33(x^#(X1, X2)) :33 -->_1 x^#(mark(X1), X2) -> c_32(x^#(X1, X2)) :32 -->_1 x^#(X1, mark(X2)) -> c_31(x^#(X1, X2)) :31 42: proper^#(0()) -> c_42() 43: top^#(mark(X)) -> c_43(top^#(proper(X))) -->_1 top^#(ok(X)) -> c_44(top^#(active(X))) :44 -->_1 top^#(mark(X)) -> c_43(top^#(proper(X))) :43 44: top^#(ok(X)) -> c_44(top^#(active(X))) -->_1 top^#(ok(X)) -> c_44(top^#(active(X))) :44 -->_1 top^#(mark(X)) -> c_43(top^#(proper(X))) :43 Only the nodes {18,19,20,21,22,23,24,26,25,27,28,29,30,31,33,32,35,42,43,44} are reachable from nodes {18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,42,43,44} that start derivation from marked basic terms. The nodes not reachable are removed from the problem. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { U11^#(mark(X1), X2, X3) -> c_18(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_19(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2, X3) -> c_20(U12^#(X1, X2, X3)) , U12^#(ok(X1), ok(X2), ok(X3)) -> c_21(U12^#(X1, X2, X3)) , s^#(mark(X)) -> c_22(s^#(X)) , s^#(ok(X)) -> c_23(s^#(X)) , plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) , U21^#(mark(X1), X2, X3) -> c_27(U21^#(X1, X2, X3)) , U21^#(ok(X1), ok(X2), ok(X3)) -> c_28(U21^#(X1, X2, X3)) , U22^#(mark(X1), X2, X3) -> c_29(U22^#(X1, X2, X3)) , U22^#(ok(X1), ok(X2), ok(X3)) -> c_30(U22^#(X1, X2, X3)) , x^#(X1, mark(X2)) -> c_31(x^#(X1, X2)) , x^#(mark(X1), X2) -> c_32(x^#(X1, X2)) , x^#(ok(X1), ok(X2)) -> c_33(x^#(X1, X2)) , proper^#(tt()) -> c_35() , proper^#(0()) -> c_42() , top^#(mark(X)) -> c_43(top^#(proper(X))) , top^#(ok(X)) -> c_44(top^#(active(X))) } Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), M, N)) -> mark(U12(tt(), M, N)) , active(U12(X1, X2, X3)) -> U12(active(X1), X2, X3) , active(U12(tt(), M, N)) -> mark(s(plus(N, M))) , active(s(X)) -> s(active(X)) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(N, s(M))) -> mark(U11(tt(), M, N)) , active(plus(N, 0())) -> mark(N) , active(U21(X1, X2, X3)) -> U21(active(X1), X2, X3) , active(U21(tt(), M, N)) -> mark(U22(tt(), M, N)) , active(U22(X1, X2, X3)) -> U22(active(X1), X2, X3) , active(U22(tt(), M, N)) -> mark(plus(x(N, M), N)) , active(x(X1, X2)) -> x(X1, active(X2)) , active(x(X1, X2)) -> x(active(X1), X2) , active(x(N, s(M))) -> mark(U21(tt(), M, N)) , active(x(N, 0())) -> mark(0()) , U11(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)) , U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)) , U12(mark(X1), X2, X3) -> mark(U12(X1, X2, X3)) , U12(ok(X1), ok(X2), ok(X3)) -> ok(U12(X1, X2, X3)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , U21(mark(X1), X2, X3) -> mark(U21(X1, X2, X3)) , U21(ok(X1), ok(X2), ok(X3)) -> ok(U21(X1, X2, X3)) , U22(mark(X1), X2, X3) -> mark(U22(X1, X2, X3)) , U22(ok(X1), ok(X2), ok(X3)) -> ok(U22(X1, X2, X3)) , x(X1, mark(X2)) -> mark(x(X1, X2)) , x(mark(X1), X2) -> mark(x(X1, X2)) , x(ok(X1), ok(X2)) -> ok(x(X1, X2)) , proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2, X3)) -> U12(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(U21(X1, X2, X3)) -> U21(proper(X1), proper(X2), proper(X3)) , proper(U22(X1, X2, X3)) -> U22(proper(X1), proper(X2), proper(X3)) , proper(x(X1, X2)) -> x(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {17,18} by applications of Pre({17,18}) = {}. Here rules are labeled as follows: DPs: { 1: U11^#(mark(X1), X2, X3) -> c_18(U11^#(X1, X2, X3)) , 2: U11^#(ok(X1), ok(X2), ok(X3)) -> c_19(U11^#(X1, X2, X3)) , 3: U12^#(mark(X1), X2, X3) -> c_20(U12^#(X1, X2, X3)) , 4: U12^#(ok(X1), ok(X2), ok(X3)) -> c_21(U12^#(X1, X2, X3)) , 5: s^#(mark(X)) -> c_22(s^#(X)) , 6: s^#(ok(X)) -> c_23(s^#(X)) , 7: plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) , 8: plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) , 9: plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) , 10: U21^#(mark(X1), X2, X3) -> c_27(U21^#(X1, X2, X3)) , 11: U21^#(ok(X1), ok(X2), ok(X3)) -> c_28(U21^#(X1, X2, X3)) , 12: U22^#(mark(X1), X2, X3) -> c_29(U22^#(X1, X2, X3)) , 13: U22^#(ok(X1), ok(X2), ok(X3)) -> c_30(U22^#(X1, X2, X3)) , 14: x^#(X1, mark(X2)) -> c_31(x^#(X1, X2)) , 15: x^#(mark(X1), X2) -> c_32(x^#(X1, X2)) , 16: x^#(ok(X1), ok(X2)) -> c_33(x^#(X1, X2)) , 17: proper^#(tt()) -> c_35() , 18: proper^#(0()) -> c_42() , 19: top^#(mark(X)) -> c_43(top^#(proper(X))) , 20: top^#(ok(X)) -> c_44(top^#(active(X))) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { U11^#(mark(X1), X2, X3) -> c_18(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_19(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2, X3) -> c_20(U12^#(X1, X2, X3)) , U12^#(ok(X1), ok(X2), ok(X3)) -> c_21(U12^#(X1, X2, X3)) , s^#(mark(X)) -> c_22(s^#(X)) , s^#(ok(X)) -> c_23(s^#(X)) , plus^#(X1, mark(X2)) -> c_24(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_25(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_26(plus^#(X1, X2)) , U21^#(mark(X1), X2, X3) -> c_27(U21^#(X1, X2, X3)) , U21^#(ok(X1), ok(X2), ok(X3)) -> c_28(U21^#(X1, X2, X3)) , U22^#(mark(X1), X2, X3) -> c_29(U22^#(X1, X2, X3)) , U22^#(ok(X1), ok(X2), ok(X3)) -> c_30(U22^#(X1, X2, X3)) , x^#(X1, mark(X2)) -> c_31(x^#(X1, X2)) , x^#(mark(X1), X2) -> c_32(x^#(X1, X2)) , x^#(ok(X1), ok(X2)) -> c_33(x^#(X1, X2)) , top^#(mark(X)) -> c_43(top^#(proper(X))) , top^#(ok(X)) -> c_44(top^#(active(X))) } Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), M, N)) -> mark(U12(tt(), M, N)) , active(U12(X1, X2, X3)) -> U12(active(X1), X2, X3) , active(U12(tt(), M, N)) -> mark(s(plus(N, M))) , active(s(X)) -> s(active(X)) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(N, s(M))) -> mark(U11(tt(), M, N)) , active(plus(N, 0())) -> mark(N) , active(U21(X1, X2, X3)) -> U21(active(X1), X2, X3) , active(U21(tt(), M, N)) -> mark(U22(tt(), M, N)) , active(U22(X1, X2, X3)) -> U22(active(X1), X2, X3) , active(U22(tt(), M, N)) -> mark(plus(x(N, M), N)) , active(x(X1, X2)) -> x(X1, active(X2)) , active(x(X1, X2)) -> x(active(X1), X2) , active(x(N, s(M))) -> mark(U21(tt(), M, N)) , active(x(N, 0())) -> mark(0()) , U11(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)) , U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)) , U12(mark(X1), X2, X3) -> mark(U12(X1, X2, X3)) , U12(ok(X1), ok(X2), ok(X3)) -> ok(U12(X1, X2, X3)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , U21(mark(X1), X2, X3) -> mark(U21(X1, X2, X3)) , U21(ok(X1), ok(X2), ok(X3)) -> ok(U21(X1, X2, X3)) , U22(mark(X1), X2, X3) -> mark(U22(X1, X2, X3)) , U22(ok(X1), ok(X2), ok(X3)) -> ok(U22(X1, X2, X3)) , x(X1, mark(X2)) -> mark(x(X1, X2)) , x(mark(X1), X2) -> mark(x(X1, X2)) , x(ok(X1), ok(X2)) -> ok(x(X1, X2)) , proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2, X3)) -> U12(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(U21(X1, X2, X3)) -> U21(proper(X1), proper(X2), proper(X3)) , proper(U22(X1, X2, X3)) -> U22(proper(X1), proper(X2), proper(X3)) , proper(x(X1, X2)) -> x(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Weak DPs: { proper^#(tt()) -> c_35() , proper^#(0()) -> c_42() } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..