MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { active(U11(X1, X2)) -> U11(active(X1), X2) , active(U11(tt(), V2)) -> mark(U12(isNat(V2))) , active(U12(X)) -> U12(active(X)) , active(U12(tt())) -> mark(tt()) , active(isNat(s(V1))) -> mark(U21(isNat(V1))) , active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) , active(isNat(0())) -> mark(tt()) , active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) , active(U21(X)) -> U21(active(X)) , active(U21(tt())) -> mark(tt()) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), V2)) -> mark(U32(isNat(V2))) , active(U32(X)) -> U32(active(X)) , active(U32(tt())) -> mark(tt()) , active(U41(X1, X2)) -> U41(active(X1), X2) , active(U41(tt(), N)) -> mark(N) , active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3) , active(U51(tt(), M, N)) -> mark(U52(isNat(N), M, N)) , active(U52(X1, X2, X3)) -> U52(active(X1), X2, X3) , active(U52(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(U51(isNat(M), M, N)) , active(plus(N, 0())) -> mark(U41(isNat(N), N)) , active(U61(X)) -> U61(active(X)) , active(U61(tt())) -> mark(0()) , active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3) , active(U71(tt(), M, N)) -> mark(U72(isNat(N), M, N)) , active(U72(X1, X2, X3)) -> U72(active(X1), X2, X3) , active(U72(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(U71(isNat(M), M, N)) , active(x(N, 0())) -> mark(U61(isNat(N))) , U11(mark(X1), X2) -> mark(U11(X1, X2)) , U11(ok(X1), ok(X2)) -> ok(U11(X1, X2)) , U12(mark(X)) -> mark(U12(X)) , U12(ok(X)) -> ok(U12(X)) , isNat(ok(X)) -> ok(isNat(X)) , U21(mark(X)) -> mark(U21(X)) , U21(ok(X)) -> ok(U21(X)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U32(mark(X)) -> mark(U32(X)) , U32(ok(X)) -> ok(U32(X)) , U41(mark(X1), X2) -> mark(U41(X1, X2)) , U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)) , U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)) , U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)) , U52(mark(X1), X2, X3) -> mark(U52(X1, X2, X3)) , U52(ok(X1), ok(X2), ok(X3)) -> ok(U52(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)) , U61(mark(X)) -> mark(U61(X)) , U61(ok(X)) -> ok(U61(X)) , U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)) , U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)) , U72(mark(X1), X2, X3) -> mark(U72(X1, X2, X3)) , U72(ok(X1), ok(X2), ok(X3)) -> ok(U72(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)) -> U11(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(U12(X)) -> U12(proper(X)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U21(X)) -> U21(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X)) -> U32(proper(X)) , proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)) , proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)) , proper(U52(X1, X2, X3)) -> U52(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(U61(X)) -> U61(proper(X)) , proper(0()) -> ok(0()) , proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)) , proper(U72(X1, X2, X3)) -> U72(proper(X1), proper(X2), proper(X3)) , proper(x(X1, X2)) -> x(proper(X1), proper(X2)) , 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)) -> c_1(U11^#(active(X1), X2)) , active^#(U11(tt(), V2)) -> c_2(U12^#(isNat(V2))) , active^#(U12(X)) -> c_3(U12^#(active(X))) , active^#(U12(tt())) -> c_4() , active^#(isNat(s(V1))) -> c_5(U21^#(isNat(V1))) , active^#(isNat(plus(V1, V2))) -> c_6(U11^#(isNat(V1), V2)) , active^#(isNat(0())) -> c_7() , active^#(isNat(x(V1, V2))) -> c_8(U31^#(isNat(V1), V2)) , active^#(U21(X)) -> c_9(U21^#(active(X))) , active^#(U21(tt())) -> c_10() , active^#(U31(X1, X2)) -> c_11(U31^#(active(X1), X2)) , active^#(U31(tt(), V2)) -> c_12(U32^#(isNat(V2))) , active^#(U32(X)) -> c_13(U32^#(active(X))) , active^#(U32(tt())) -> c_14() , active^#(U41(X1, X2)) -> c_15(U41^#(active(X1), X2)) , active^#(U41(tt(), N)) -> c_16(N) , active^#(U51(X1, X2, X3)) -> c_17(U51^#(active(X1), X2, X3)) , active^#(U51(tt(), M, N)) -> c_18(U52^#(isNat(N), M, N)) , active^#(U52(X1, X2, X3)) -> c_19(U52^#(active(X1), X2, X3)) , active^#(U52(tt(), M, N)) -> c_20(s^#(plus(N, M))) , active^#(s(X)) -> c_21(s^#(active(X))) , active^#(plus(X1, X2)) -> c_22(plus^#(X1, active(X2))) , active^#(plus(X1, X2)) -> c_23(plus^#(active(X1), X2)) , active^#(plus(N, s(M))) -> c_24(U51^#(isNat(M), M, N)) , active^#(plus(N, 0())) -> c_25(U41^#(isNat(N), N)) , active^#(U61(X)) -> c_26(U61^#(active(X))) , active^#(U61(tt())) -> c_27() , active^#(U71(X1, X2, X3)) -> c_28(U71^#(active(X1), X2, X3)) , active^#(U71(tt(), M, N)) -> c_29(U72^#(isNat(N), M, N)) , active^#(U72(X1, X2, X3)) -> c_30(U72^#(active(X1), X2, X3)) , active^#(U72(tt(), M, N)) -> c_31(plus^#(x(N, M), N)) , active^#(x(X1, X2)) -> c_32(x^#(X1, active(X2))) , active^#(x(X1, X2)) -> c_33(x^#(active(X1), X2)) , active^#(x(N, s(M))) -> c_34(U71^#(isNat(M), M, N)) , active^#(x(N, 0())) -> c_35(U61^#(isNat(N))) , U11^#(mark(X1), X2) -> c_36(U11^#(X1, X2)) , U11^#(ok(X1), ok(X2)) -> c_37(U11^#(X1, X2)) , U12^#(mark(X)) -> c_38(U12^#(X)) , U12^#(ok(X)) -> c_39(U12^#(X)) , U21^#(mark(X)) -> c_41(U21^#(X)) , U21^#(ok(X)) -> c_42(U21^#(X)) , U31^#(mark(X1), X2) -> c_43(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_44(U31^#(X1, X2)) , U32^#(mark(X)) -> c_45(U32^#(X)) , U32^#(ok(X)) -> c_46(U32^#(X)) , U41^#(mark(X1), X2) -> c_47(U41^#(X1, X2)) , U41^#(ok(X1), ok(X2)) -> c_48(U41^#(X1, X2)) , U51^#(mark(X1), X2, X3) -> c_49(U51^#(X1, X2, X3)) , U51^#(ok(X1), ok(X2), ok(X3)) -> c_50(U51^#(X1, X2, X3)) , U52^#(mark(X1), X2, X3) -> c_51(U52^#(X1, X2, X3)) , U52^#(ok(X1), ok(X2), ok(X3)) -> c_52(U52^#(X1, X2, X3)) , s^#(mark(X)) -> c_53(s^#(X)) , s^#(ok(X)) -> c_54(s^#(X)) , plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) , U61^#(mark(X)) -> c_58(U61^#(X)) , U61^#(ok(X)) -> c_59(U61^#(X)) , U71^#(mark(X1), X2, X3) -> c_60(U71^#(X1, X2, X3)) , U71^#(ok(X1), ok(X2), ok(X3)) -> c_61(U71^#(X1, X2, X3)) , U72^#(mark(X1), X2, X3) -> c_62(U72^#(X1, X2, X3)) , U72^#(ok(X1), ok(X2), ok(X3)) -> c_63(U72^#(X1, X2, X3)) , x^#(X1, mark(X2)) -> c_64(x^#(X1, X2)) , x^#(mark(X1), X2) -> c_65(x^#(X1, X2)) , x^#(ok(X1), ok(X2)) -> c_66(x^#(X1, X2)) , isNat^#(ok(X)) -> c_40(isNat^#(X)) , proper^#(U11(X1, X2)) -> c_67(U11^#(proper(X1), proper(X2))) , proper^#(tt()) -> c_68() , proper^#(U12(X)) -> c_69(U12^#(proper(X))) , proper^#(isNat(X)) -> c_70(isNat^#(proper(X))) , proper^#(U21(X)) -> c_71(U21^#(proper(X))) , proper^#(U31(X1, X2)) -> c_72(U31^#(proper(X1), proper(X2))) , proper^#(U32(X)) -> c_73(U32^#(proper(X))) , proper^#(U41(X1, X2)) -> c_74(U41^#(proper(X1), proper(X2))) , proper^#(U51(X1, X2, X3)) -> c_75(U51^#(proper(X1), proper(X2), proper(X3))) , proper^#(U52(X1, X2, X3)) -> c_76(U52^#(proper(X1), proper(X2), proper(X3))) , proper^#(s(X)) -> c_77(s^#(proper(X))) , proper^#(plus(X1, X2)) -> c_78(plus^#(proper(X1), proper(X2))) , proper^#(U61(X)) -> c_79(U61^#(proper(X))) , proper^#(0()) -> c_80() , proper^#(U71(X1, X2, X3)) -> c_81(U71^#(proper(X1), proper(X2), proper(X3))) , proper^#(U72(X1, X2, X3)) -> c_82(U72^#(proper(X1), proper(X2), proper(X3))) , proper^#(x(X1, X2)) -> c_83(x^#(proper(X1), proper(X2))) , top^#(mark(X)) -> c_84(top^#(proper(X))) , top^#(ok(X)) -> c_85(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)) -> c_1(U11^#(active(X1), X2)) , active^#(U11(tt(), V2)) -> c_2(U12^#(isNat(V2))) , active^#(U12(X)) -> c_3(U12^#(active(X))) , active^#(U12(tt())) -> c_4() , active^#(isNat(s(V1))) -> c_5(U21^#(isNat(V1))) , active^#(isNat(plus(V1, V2))) -> c_6(U11^#(isNat(V1), V2)) , active^#(isNat(0())) -> c_7() , active^#(isNat(x(V1, V2))) -> c_8(U31^#(isNat(V1), V2)) , active^#(U21(X)) -> c_9(U21^#(active(X))) , active^#(U21(tt())) -> c_10() , active^#(U31(X1, X2)) -> c_11(U31^#(active(X1), X2)) , active^#(U31(tt(), V2)) -> c_12(U32^#(isNat(V2))) , active^#(U32(X)) -> c_13(U32^#(active(X))) , active^#(U32(tt())) -> c_14() , active^#(U41(X1, X2)) -> c_15(U41^#(active(X1), X2)) , active^#(U41(tt(), N)) -> c_16(N) , active^#(U51(X1, X2, X3)) -> c_17(U51^#(active(X1), X2, X3)) , active^#(U51(tt(), M, N)) -> c_18(U52^#(isNat(N), M, N)) , active^#(U52(X1, X2, X3)) -> c_19(U52^#(active(X1), X2, X3)) , active^#(U52(tt(), M, N)) -> c_20(s^#(plus(N, M))) , active^#(s(X)) -> c_21(s^#(active(X))) , active^#(plus(X1, X2)) -> c_22(plus^#(X1, active(X2))) , active^#(plus(X1, X2)) -> c_23(plus^#(active(X1), X2)) , active^#(plus(N, s(M))) -> c_24(U51^#(isNat(M), M, N)) , active^#(plus(N, 0())) -> c_25(U41^#(isNat(N), N)) , active^#(U61(X)) -> c_26(U61^#(active(X))) , active^#(U61(tt())) -> c_27() , active^#(U71(X1, X2, X3)) -> c_28(U71^#(active(X1), X2, X3)) , active^#(U71(tt(), M, N)) -> c_29(U72^#(isNat(N), M, N)) , active^#(U72(X1, X2, X3)) -> c_30(U72^#(active(X1), X2, X3)) , active^#(U72(tt(), M, N)) -> c_31(plus^#(x(N, M), N)) , active^#(x(X1, X2)) -> c_32(x^#(X1, active(X2))) , active^#(x(X1, X2)) -> c_33(x^#(active(X1), X2)) , active^#(x(N, s(M))) -> c_34(U71^#(isNat(M), M, N)) , active^#(x(N, 0())) -> c_35(U61^#(isNat(N))) , U11^#(mark(X1), X2) -> c_36(U11^#(X1, X2)) , U11^#(ok(X1), ok(X2)) -> c_37(U11^#(X1, X2)) , U12^#(mark(X)) -> c_38(U12^#(X)) , U12^#(ok(X)) -> c_39(U12^#(X)) , U21^#(mark(X)) -> c_41(U21^#(X)) , U21^#(ok(X)) -> c_42(U21^#(X)) , U31^#(mark(X1), X2) -> c_43(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_44(U31^#(X1, X2)) , U32^#(mark(X)) -> c_45(U32^#(X)) , U32^#(ok(X)) -> c_46(U32^#(X)) , U41^#(mark(X1), X2) -> c_47(U41^#(X1, X2)) , U41^#(ok(X1), ok(X2)) -> c_48(U41^#(X1, X2)) , U51^#(mark(X1), X2, X3) -> c_49(U51^#(X1, X2, X3)) , U51^#(ok(X1), ok(X2), ok(X3)) -> c_50(U51^#(X1, X2, X3)) , U52^#(mark(X1), X2, X3) -> c_51(U52^#(X1, X2, X3)) , U52^#(ok(X1), ok(X2), ok(X3)) -> c_52(U52^#(X1, X2, X3)) , s^#(mark(X)) -> c_53(s^#(X)) , s^#(ok(X)) -> c_54(s^#(X)) , plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) , U61^#(mark(X)) -> c_58(U61^#(X)) , U61^#(ok(X)) -> c_59(U61^#(X)) , U71^#(mark(X1), X2, X3) -> c_60(U71^#(X1, X2, X3)) , U71^#(ok(X1), ok(X2), ok(X3)) -> c_61(U71^#(X1, X2, X3)) , U72^#(mark(X1), X2, X3) -> c_62(U72^#(X1, X2, X3)) , U72^#(ok(X1), ok(X2), ok(X3)) -> c_63(U72^#(X1, X2, X3)) , x^#(X1, mark(X2)) -> c_64(x^#(X1, X2)) , x^#(mark(X1), X2) -> c_65(x^#(X1, X2)) , x^#(ok(X1), ok(X2)) -> c_66(x^#(X1, X2)) , isNat^#(ok(X)) -> c_40(isNat^#(X)) , proper^#(U11(X1, X2)) -> c_67(U11^#(proper(X1), proper(X2))) , proper^#(tt()) -> c_68() , proper^#(U12(X)) -> c_69(U12^#(proper(X))) , proper^#(isNat(X)) -> c_70(isNat^#(proper(X))) , proper^#(U21(X)) -> c_71(U21^#(proper(X))) , proper^#(U31(X1, X2)) -> c_72(U31^#(proper(X1), proper(X2))) , proper^#(U32(X)) -> c_73(U32^#(proper(X))) , proper^#(U41(X1, X2)) -> c_74(U41^#(proper(X1), proper(X2))) , proper^#(U51(X1, X2, X3)) -> c_75(U51^#(proper(X1), proper(X2), proper(X3))) , proper^#(U52(X1, X2, X3)) -> c_76(U52^#(proper(X1), proper(X2), proper(X3))) , proper^#(s(X)) -> c_77(s^#(proper(X))) , proper^#(plus(X1, X2)) -> c_78(plus^#(proper(X1), proper(X2))) , proper^#(U61(X)) -> c_79(U61^#(proper(X))) , proper^#(0()) -> c_80() , proper^#(U71(X1, X2, X3)) -> c_81(U71^#(proper(X1), proper(X2), proper(X3))) , proper^#(U72(X1, X2, X3)) -> c_82(U72^#(proper(X1), proper(X2), proper(X3))) , proper^#(x(X1, X2)) -> c_83(x^#(proper(X1), proper(X2))) , top^#(mark(X)) -> c_84(top^#(proper(X))) , top^#(ok(X)) -> c_85(top^#(active(X))) } Strict Trs: { active(U11(X1, X2)) -> U11(active(X1), X2) , active(U11(tt(), V2)) -> mark(U12(isNat(V2))) , active(U12(X)) -> U12(active(X)) , active(U12(tt())) -> mark(tt()) , active(isNat(s(V1))) -> mark(U21(isNat(V1))) , active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) , active(isNat(0())) -> mark(tt()) , active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) , active(U21(X)) -> U21(active(X)) , active(U21(tt())) -> mark(tt()) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), V2)) -> mark(U32(isNat(V2))) , active(U32(X)) -> U32(active(X)) , active(U32(tt())) -> mark(tt()) , active(U41(X1, X2)) -> U41(active(X1), X2) , active(U41(tt(), N)) -> mark(N) , active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3) , active(U51(tt(), M, N)) -> mark(U52(isNat(N), M, N)) , active(U52(X1, X2, X3)) -> U52(active(X1), X2, X3) , active(U52(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(U51(isNat(M), M, N)) , active(plus(N, 0())) -> mark(U41(isNat(N), N)) , active(U61(X)) -> U61(active(X)) , active(U61(tt())) -> mark(0()) , active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3) , active(U71(tt(), M, N)) -> mark(U72(isNat(N), M, N)) , active(U72(X1, X2, X3)) -> U72(active(X1), X2, X3) , active(U72(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(U71(isNat(M), M, N)) , active(x(N, 0())) -> mark(U61(isNat(N))) , U11(mark(X1), X2) -> mark(U11(X1, X2)) , U11(ok(X1), ok(X2)) -> ok(U11(X1, X2)) , U12(mark(X)) -> mark(U12(X)) , U12(ok(X)) -> ok(U12(X)) , isNat(ok(X)) -> ok(isNat(X)) , U21(mark(X)) -> mark(U21(X)) , U21(ok(X)) -> ok(U21(X)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U32(mark(X)) -> mark(U32(X)) , U32(ok(X)) -> ok(U32(X)) , U41(mark(X1), X2) -> mark(U41(X1, X2)) , U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)) , U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)) , U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)) , U52(mark(X1), X2, X3) -> mark(U52(X1, X2, X3)) , U52(ok(X1), ok(X2), ok(X3)) -> ok(U52(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)) , U61(mark(X)) -> mark(U61(X)) , U61(ok(X)) -> ok(U61(X)) , U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)) , U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)) , U72(mark(X1), X2, X3) -> mark(U72(X1, X2, X3)) , U72(ok(X1), ok(X2), ok(X3)) -> ok(U72(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)) -> U11(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(U12(X)) -> U12(proper(X)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U21(X)) -> U21(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X)) -> U32(proper(X)) , proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)) , proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)) , proper(U52(X1, X2, X3)) -> U52(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(U61(X)) -> U61(proper(X)) , proper(0()) -> ok(0()) , proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)) , proper(U72(X1, X2, X3)) -> U72(proper(X1), proper(X2), proper(X3)) , proper(x(X1, X2)) -> x(proper(X1), proper(X2)) , 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)) -> c_1(U11^#(active(X1), X2)) -->_1 U11^#(ok(X1), ok(X2)) -> c_37(U11^#(X1, X2)) :37 -->_1 U11^#(mark(X1), X2) -> c_36(U11^#(X1, X2)) :36 2: active^#(U11(tt(), V2)) -> c_2(U12^#(isNat(V2))) -->_1 U12^#(ok(X)) -> c_39(U12^#(X)) :39 -->_1 U12^#(mark(X)) -> c_38(U12^#(X)) :38 3: active^#(U12(X)) -> c_3(U12^#(active(X))) -->_1 U12^#(ok(X)) -> c_39(U12^#(X)) :39 -->_1 U12^#(mark(X)) -> c_38(U12^#(X)) :38 4: active^#(U12(tt())) -> c_4() 5: active^#(isNat(s(V1))) -> c_5(U21^#(isNat(V1))) -->_1 U21^#(ok(X)) -> c_42(U21^#(X)) :41 -->_1 U21^#(mark(X)) -> c_41(U21^#(X)) :40 6: active^#(isNat(plus(V1, V2))) -> c_6(U11^#(isNat(V1), V2)) -->_1 U11^#(ok(X1), ok(X2)) -> c_37(U11^#(X1, X2)) :37 -->_1 U11^#(mark(X1), X2) -> c_36(U11^#(X1, X2)) :36 7: active^#(isNat(0())) -> c_7() 8: active^#(isNat(x(V1, V2))) -> c_8(U31^#(isNat(V1), V2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_44(U31^#(X1, X2)) :43 -->_1 U31^#(mark(X1), X2) -> c_43(U31^#(X1, X2)) :42 9: active^#(U21(X)) -> c_9(U21^#(active(X))) -->_1 U21^#(ok(X)) -> c_42(U21^#(X)) :41 -->_1 U21^#(mark(X)) -> c_41(U21^#(X)) :40 10: active^#(U21(tt())) -> c_10() 11: active^#(U31(X1, X2)) -> c_11(U31^#(active(X1), X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_44(U31^#(X1, X2)) :43 -->_1 U31^#(mark(X1), X2) -> c_43(U31^#(X1, X2)) :42 12: active^#(U31(tt(), V2)) -> c_12(U32^#(isNat(V2))) -->_1 U32^#(ok(X)) -> c_46(U32^#(X)) :45 -->_1 U32^#(mark(X)) -> c_45(U32^#(X)) :44 13: active^#(U32(X)) -> c_13(U32^#(active(X))) -->_1 U32^#(ok(X)) -> c_46(U32^#(X)) :45 -->_1 U32^#(mark(X)) -> c_45(U32^#(X)) :44 14: active^#(U32(tt())) -> c_14() 15: active^#(U41(X1, X2)) -> c_15(U41^#(active(X1), X2)) -->_1 U41^#(ok(X1), ok(X2)) -> c_48(U41^#(X1, X2)) :47 -->_1 U41^#(mark(X1), X2) -> c_47(U41^#(X1, X2)) :46 16: active^#(U41(tt(), N)) -> c_16(N) -->_1 top^#(ok(X)) -> c_85(top^#(active(X))) :85 -->_1 top^#(mark(X)) -> c_84(top^#(proper(X))) :84 -->_1 proper^#(x(X1, X2)) -> c_83(x^#(proper(X1), proper(X2))) :83 -->_1 proper^#(U72(X1, X2, X3)) -> c_82(U72^#(proper(X1), proper(X2), proper(X3))) :82 -->_1 proper^#(U71(X1, X2, X3)) -> c_81(U71^#(proper(X1), proper(X2), proper(X3))) :81 -->_1 proper^#(U61(X)) -> c_79(U61^#(proper(X))) :79 -->_1 proper^#(plus(X1, X2)) -> c_78(plus^#(proper(X1), proper(X2))) :78 -->_1 proper^#(s(X)) -> c_77(s^#(proper(X))) :77 -->_1 proper^#(U52(X1, X2, X3)) -> c_76(U52^#(proper(X1), proper(X2), proper(X3))) :76 -->_1 proper^#(U51(X1, X2, X3)) -> c_75(U51^#(proper(X1), proper(X2), proper(X3))) :75 -->_1 proper^#(U41(X1, X2)) -> c_74(U41^#(proper(X1), proper(X2))) :74 -->_1 proper^#(U32(X)) -> c_73(U32^#(proper(X))) :73 -->_1 proper^#(U31(X1, X2)) -> c_72(U31^#(proper(X1), proper(X2))) :72 -->_1 proper^#(U21(X)) -> c_71(U21^#(proper(X))) :71 -->_1 proper^#(isNat(X)) -> c_70(isNat^#(proper(X))) :70 -->_1 proper^#(U12(X)) -> c_69(U12^#(proper(X))) :69 -->_1 proper^#(U11(X1, X2)) -> c_67(U11^#(proper(X1), proper(X2))) :67 -->_1 isNat^#(ok(X)) -> c_40(isNat^#(X)) :66 -->_1 x^#(ok(X1), ok(X2)) -> c_66(x^#(X1, X2)) :65 -->_1 x^#(mark(X1), X2) -> c_65(x^#(X1, X2)) :64 -->_1 x^#(X1, mark(X2)) -> c_64(x^#(X1, X2)) :63 -->_1 U72^#(ok(X1), ok(X2), ok(X3)) -> c_63(U72^#(X1, X2, X3)) :62 -->_1 U72^#(mark(X1), X2, X3) -> c_62(U72^#(X1, X2, X3)) :61 -->_1 U71^#(ok(X1), ok(X2), ok(X3)) -> c_61(U71^#(X1, X2, X3)) :60 -->_1 U71^#(mark(X1), X2, X3) -> c_60(U71^#(X1, X2, X3)) :59 -->_1 U61^#(ok(X)) -> c_59(U61^#(X)) :58 -->_1 U61^#(mark(X)) -> c_58(U61^#(X)) :57 -->_1 plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) :56 -->_1 plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) :55 -->_1 plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) :54 -->_1 s^#(ok(X)) -> c_54(s^#(X)) :53 -->_1 s^#(mark(X)) -> c_53(s^#(X)) :52 -->_1 U52^#(ok(X1), ok(X2), ok(X3)) -> c_52(U52^#(X1, X2, X3)) :51 -->_1 U52^#(mark(X1), X2, X3) -> c_51(U52^#(X1, X2, X3)) :50 -->_1 U51^#(ok(X1), ok(X2), ok(X3)) -> c_50(U51^#(X1, X2, X3)) :49 -->_1 U51^#(mark(X1), X2, X3) -> c_49(U51^#(X1, X2, X3)) :48 -->_1 U41^#(ok(X1), ok(X2)) -> c_48(U41^#(X1, X2)) :47 -->_1 U41^#(mark(X1), X2) -> c_47(U41^#(X1, X2)) :46 -->_1 U32^#(ok(X)) -> c_46(U32^#(X)) :45 -->_1 U32^#(mark(X)) -> c_45(U32^#(X)) :44 -->_1 U31^#(ok(X1), ok(X2)) -> c_44(U31^#(X1, X2)) :43 -->_1 U31^#(mark(X1), X2) -> c_43(U31^#(X1, X2)) :42 -->_1 U21^#(ok(X)) -> c_42(U21^#(X)) :41 -->_1 U21^#(mark(X)) -> c_41(U21^#(X)) :40 -->_1 U12^#(ok(X)) -> c_39(U12^#(X)) :39 -->_1 U12^#(mark(X)) -> c_38(U12^#(X)) :38 -->_1 U11^#(ok(X1), ok(X2)) -> c_37(U11^#(X1, X2)) :37 -->_1 U11^#(mark(X1), X2) -> c_36(U11^#(X1, X2)) :36 -->_1 active^#(x(N, 0())) -> c_35(U61^#(isNat(N))) :35 -->_1 active^#(x(N, s(M))) -> c_34(U71^#(isNat(M), M, N)) :34 -->_1 active^#(x(X1, X2)) -> c_33(x^#(active(X1), X2)) :33 -->_1 active^#(x(X1, X2)) -> c_32(x^#(X1, active(X2))) :32 -->_1 active^#(U72(tt(), M, N)) -> c_31(plus^#(x(N, M), N)) :31 -->_1 active^#(U72(X1, X2, X3)) -> c_30(U72^#(active(X1), X2, X3)) :30 -->_1 active^#(U71(tt(), M, N)) -> c_29(U72^#(isNat(N), M, N)) :29 -->_1 active^#(U71(X1, X2, X3)) -> c_28(U71^#(active(X1), X2, X3)) :28 -->_1 active^#(U61(X)) -> c_26(U61^#(active(X))) :26 -->_1 active^#(plus(N, 0())) -> c_25(U41^#(isNat(N), N)) :25 -->_1 active^#(plus(N, s(M))) -> c_24(U51^#(isNat(M), M, N)) :24 -->_1 active^#(plus(X1, X2)) -> c_23(plus^#(active(X1), X2)) :23 -->_1 active^#(plus(X1, X2)) -> c_22(plus^#(X1, active(X2))) :22 -->_1 active^#(s(X)) -> c_21(s^#(active(X))) :21 -->_1 active^#(U52(tt(), M, N)) -> c_20(s^#(plus(N, M))) :20 -->_1 active^#(U52(X1, X2, X3)) -> c_19(U52^#(active(X1), X2, X3)) :19 -->_1 active^#(U51(tt(), M, N)) -> c_18(U52^#(isNat(N), M, N)) :18 -->_1 active^#(U51(X1, X2, X3)) -> c_17(U51^#(active(X1), X2, X3)) :17 -->_1 proper^#(0()) -> c_80() :80 -->_1 proper^#(tt()) -> c_68() :68 -->_1 active^#(U61(tt())) -> c_27() :27 -->_1 active^#(U41(tt(), N)) -> c_16(N) :16 -->_1 active^#(U41(X1, X2)) -> c_15(U41^#(active(X1), X2)) :15 -->_1 active^#(U32(tt())) -> c_14() :14 -->_1 active^#(U32(X)) -> c_13(U32^#(active(X))) :13 -->_1 active^#(U31(tt(), V2)) -> c_12(U32^#(isNat(V2))) :12 -->_1 active^#(U31(X1, X2)) -> c_11(U31^#(active(X1), X2)) :11 -->_1 active^#(U21(tt())) -> c_10() :10 -->_1 active^#(U21(X)) -> c_9(U21^#(active(X))) :9 -->_1 active^#(isNat(x(V1, V2))) -> c_8(U31^#(isNat(V1), V2)) :8 -->_1 active^#(isNat(0())) -> c_7() :7 -->_1 active^#(isNat(plus(V1, V2))) -> c_6(U11^#(isNat(V1), V2)) :6 -->_1 active^#(isNat(s(V1))) -> c_5(U21^#(isNat(V1))) :5 -->_1 active^#(U12(tt())) -> c_4() :4 -->_1 active^#(U12(X)) -> c_3(U12^#(active(X))) :3 -->_1 active^#(U11(tt(), V2)) -> c_2(U12^#(isNat(V2))) :2 -->_1 active^#(U11(X1, X2)) -> c_1(U11^#(active(X1), X2)) :1 17: active^#(U51(X1, X2, X3)) -> c_17(U51^#(active(X1), X2, X3)) -->_1 U51^#(ok(X1), ok(X2), ok(X3)) -> c_50(U51^#(X1, X2, X3)) :49 -->_1 U51^#(mark(X1), X2, X3) -> c_49(U51^#(X1, X2, X3)) :48 18: active^#(U51(tt(), M, N)) -> c_18(U52^#(isNat(N), M, N)) -->_1 U52^#(ok(X1), ok(X2), ok(X3)) -> c_52(U52^#(X1, X2, X3)) :51 -->_1 U52^#(mark(X1), X2, X3) -> c_51(U52^#(X1, X2, X3)) :50 19: active^#(U52(X1, X2, X3)) -> c_19(U52^#(active(X1), X2, X3)) -->_1 U52^#(ok(X1), ok(X2), ok(X3)) -> c_52(U52^#(X1, X2, X3)) :51 -->_1 U52^#(mark(X1), X2, X3) -> c_51(U52^#(X1, X2, X3)) :50 20: active^#(U52(tt(), M, N)) -> c_20(s^#(plus(N, M))) -->_1 s^#(ok(X)) -> c_54(s^#(X)) :53 -->_1 s^#(mark(X)) -> c_53(s^#(X)) :52 21: active^#(s(X)) -> c_21(s^#(active(X))) -->_1 s^#(ok(X)) -> c_54(s^#(X)) :53 -->_1 s^#(mark(X)) -> c_53(s^#(X)) :52 22: active^#(plus(X1, X2)) -> c_22(plus^#(X1, active(X2))) -->_1 plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) :56 -->_1 plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) :55 -->_1 plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) :54 23: active^#(plus(X1, X2)) -> c_23(plus^#(active(X1), X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) :56 -->_1 plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) :55 -->_1 plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) :54 24: active^#(plus(N, s(M))) -> c_24(U51^#(isNat(M), M, N)) -->_1 U51^#(ok(X1), ok(X2), ok(X3)) -> c_50(U51^#(X1, X2, X3)) :49 -->_1 U51^#(mark(X1), X2, X3) -> c_49(U51^#(X1, X2, X3)) :48 25: active^#(plus(N, 0())) -> c_25(U41^#(isNat(N), N)) -->_1 U41^#(ok(X1), ok(X2)) -> c_48(U41^#(X1, X2)) :47 -->_1 U41^#(mark(X1), X2) -> c_47(U41^#(X1, X2)) :46 26: active^#(U61(X)) -> c_26(U61^#(active(X))) -->_1 U61^#(ok(X)) -> c_59(U61^#(X)) :58 -->_1 U61^#(mark(X)) -> c_58(U61^#(X)) :57 27: active^#(U61(tt())) -> c_27() 28: active^#(U71(X1, X2, X3)) -> c_28(U71^#(active(X1), X2, X3)) -->_1 U71^#(ok(X1), ok(X2), ok(X3)) -> c_61(U71^#(X1, X2, X3)) :60 -->_1 U71^#(mark(X1), X2, X3) -> c_60(U71^#(X1, X2, X3)) :59 29: active^#(U71(tt(), M, N)) -> c_29(U72^#(isNat(N), M, N)) -->_1 U72^#(ok(X1), ok(X2), ok(X3)) -> c_63(U72^#(X1, X2, X3)) :62 -->_1 U72^#(mark(X1), X2, X3) -> c_62(U72^#(X1, X2, X3)) :61 30: active^#(U72(X1, X2, X3)) -> c_30(U72^#(active(X1), X2, X3)) -->_1 U72^#(ok(X1), ok(X2), ok(X3)) -> c_63(U72^#(X1, X2, X3)) :62 -->_1 U72^#(mark(X1), X2, X3) -> c_62(U72^#(X1, X2, X3)) :61 31: active^#(U72(tt(), M, N)) -> c_31(plus^#(x(N, M), N)) -->_1 plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) :56 -->_1 plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) :55 -->_1 plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) :54 32: active^#(x(X1, X2)) -> c_32(x^#(X1, active(X2))) -->_1 x^#(ok(X1), ok(X2)) -> c_66(x^#(X1, X2)) :65 -->_1 x^#(mark(X1), X2) -> c_65(x^#(X1, X2)) :64 -->_1 x^#(X1, mark(X2)) -> c_64(x^#(X1, X2)) :63 33: active^#(x(X1, X2)) -> c_33(x^#(active(X1), X2)) -->_1 x^#(ok(X1), ok(X2)) -> c_66(x^#(X1, X2)) :65 -->_1 x^#(mark(X1), X2) -> c_65(x^#(X1, X2)) :64 -->_1 x^#(X1, mark(X2)) -> c_64(x^#(X1, X2)) :63 34: active^#(x(N, s(M))) -> c_34(U71^#(isNat(M), M, N)) -->_1 U71^#(ok(X1), ok(X2), ok(X3)) -> c_61(U71^#(X1, X2, X3)) :60 -->_1 U71^#(mark(X1), X2, X3) -> c_60(U71^#(X1, X2, X3)) :59 35: active^#(x(N, 0())) -> c_35(U61^#(isNat(N))) -->_1 U61^#(ok(X)) -> c_59(U61^#(X)) :58 -->_1 U61^#(mark(X)) -> c_58(U61^#(X)) :57 36: U11^#(mark(X1), X2) -> c_36(U11^#(X1, X2)) -->_1 U11^#(ok(X1), ok(X2)) -> c_37(U11^#(X1, X2)) :37 -->_1 U11^#(mark(X1), X2) -> c_36(U11^#(X1, X2)) :36 37: U11^#(ok(X1), ok(X2)) -> c_37(U11^#(X1, X2)) -->_1 U11^#(ok(X1), ok(X2)) -> c_37(U11^#(X1, X2)) :37 -->_1 U11^#(mark(X1), X2) -> c_36(U11^#(X1, X2)) :36 38: U12^#(mark(X)) -> c_38(U12^#(X)) -->_1 U12^#(ok(X)) -> c_39(U12^#(X)) :39 -->_1 U12^#(mark(X)) -> c_38(U12^#(X)) :38 39: U12^#(ok(X)) -> c_39(U12^#(X)) -->_1 U12^#(ok(X)) -> c_39(U12^#(X)) :39 -->_1 U12^#(mark(X)) -> c_38(U12^#(X)) :38 40: U21^#(mark(X)) -> c_41(U21^#(X)) -->_1 U21^#(ok(X)) -> c_42(U21^#(X)) :41 -->_1 U21^#(mark(X)) -> c_41(U21^#(X)) :40 41: U21^#(ok(X)) -> c_42(U21^#(X)) -->_1 U21^#(ok(X)) -> c_42(U21^#(X)) :41 -->_1 U21^#(mark(X)) -> c_41(U21^#(X)) :40 42: U31^#(mark(X1), X2) -> c_43(U31^#(X1, X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_44(U31^#(X1, X2)) :43 -->_1 U31^#(mark(X1), X2) -> c_43(U31^#(X1, X2)) :42 43: U31^#(ok(X1), ok(X2)) -> c_44(U31^#(X1, X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_44(U31^#(X1, X2)) :43 -->_1 U31^#(mark(X1), X2) -> c_43(U31^#(X1, X2)) :42 44: U32^#(mark(X)) -> c_45(U32^#(X)) -->_1 U32^#(ok(X)) -> c_46(U32^#(X)) :45 -->_1 U32^#(mark(X)) -> c_45(U32^#(X)) :44 45: U32^#(ok(X)) -> c_46(U32^#(X)) -->_1 U32^#(ok(X)) -> c_46(U32^#(X)) :45 -->_1 U32^#(mark(X)) -> c_45(U32^#(X)) :44 46: U41^#(mark(X1), X2) -> c_47(U41^#(X1, X2)) -->_1 U41^#(ok(X1), ok(X2)) -> c_48(U41^#(X1, X2)) :47 -->_1 U41^#(mark(X1), X2) -> c_47(U41^#(X1, X2)) :46 47: U41^#(ok(X1), ok(X2)) -> c_48(U41^#(X1, X2)) -->_1 U41^#(ok(X1), ok(X2)) -> c_48(U41^#(X1, X2)) :47 -->_1 U41^#(mark(X1), X2) -> c_47(U41^#(X1, X2)) :46 48: U51^#(mark(X1), X2, X3) -> c_49(U51^#(X1, X2, X3)) -->_1 U51^#(ok(X1), ok(X2), ok(X3)) -> c_50(U51^#(X1, X2, X3)) :49 -->_1 U51^#(mark(X1), X2, X3) -> c_49(U51^#(X1, X2, X3)) :48 49: U51^#(ok(X1), ok(X2), ok(X3)) -> c_50(U51^#(X1, X2, X3)) -->_1 U51^#(ok(X1), ok(X2), ok(X3)) -> c_50(U51^#(X1, X2, X3)) :49 -->_1 U51^#(mark(X1), X2, X3) -> c_49(U51^#(X1, X2, X3)) :48 50: U52^#(mark(X1), X2, X3) -> c_51(U52^#(X1, X2, X3)) -->_1 U52^#(ok(X1), ok(X2), ok(X3)) -> c_52(U52^#(X1, X2, X3)) :51 -->_1 U52^#(mark(X1), X2, X3) -> c_51(U52^#(X1, X2, X3)) :50 51: U52^#(ok(X1), ok(X2), ok(X3)) -> c_52(U52^#(X1, X2, X3)) -->_1 U52^#(ok(X1), ok(X2), ok(X3)) -> c_52(U52^#(X1, X2, X3)) :51 -->_1 U52^#(mark(X1), X2, X3) -> c_51(U52^#(X1, X2, X3)) :50 52: s^#(mark(X)) -> c_53(s^#(X)) -->_1 s^#(ok(X)) -> c_54(s^#(X)) :53 -->_1 s^#(mark(X)) -> c_53(s^#(X)) :52 53: s^#(ok(X)) -> c_54(s^#(X)) -->_1 s^#(ok(X)) -> c_54(s^#(X)) :53 -->_1 s^#(mark(X)) -> c_53(s^#(X)) :52 54: plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) :56 -->_1 plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) :55 -->_1 plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) :54 55: plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) :56 -->_1 plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) :55 -->_1 plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) :54 56: plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) :56 -->_1 plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) :55 -->_1 plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) :54 57: U61^#(mark(X)) -> c_58(U61^#(X)) -->_1 U61^#(ok(X)) -> c_59(U61^#(X)) :58 -->_1 U61^#(mark(X)) -> c_58(U61^#(X)) :57 58: U61^#(ok(X)) -> c_59(U61^#(X)) -->_1 U61^#(ok(X)) -> c_59(U61^#(X)) :58 -->_1 U61^#(mark(X)) -> c_58(U61^#(X)) :57 59: U71^#(mark(X1), X2, X3) -> c_60(U71^#(X1, X2, X3)) -->_1 U71^#(ok(X1), ok(X2), ok(X3)) -> c_61(U71^#(X1, X2, X3)) :60 -->_1 U71^#(mark(X1), X2, X3) -> c_60(U71^#(X1, X2, X3)) :59 60: U71^#(ok(X1), ok(X2), ok(X3)) -> c_61(U71^#(X1, X2, X3)) -->_1 U71^#(ok(X1), ok(X2), ok(X3)) -> c_61(U71^#(X1, X2, X3)) :60 -->_1 U71^#(mark(X1), X2, X3) -> c_60(U71^#(X1, X2, X3)) :59 61: U72^#(mark(X1), X2, X3) -> c_62(U72^#(X1, X2, X3)) -->_1 U72^#(ok(X1), ok(X2), ok(X3)) -> c_63(U72^#(X1, X2, X3)) :62 -->_1 U72^#(mark(X1), X2, X3) -> c_62(U72^#(X1, X2, X3)) :61 62: U72^#(ok(X1), ok(X2), ok(X3)) -> c_63(U72^#(X1, X2, X3)) -->_1 U72^#(ok(X1), ok(X2), ok(X3)) -> c_63(U72^#(X1, X2, X3)) :62 -->_1 U72^#(mark(X1), X2, X3) -> c_62(U72^#(X1, X2, X3)) :61 63: x^#(X1, mark(X2)) -> c_64(x^#(X1, X2)) -->_1 x^#(ok(X1), ok(X2)) -> c_66(x^#(X1, X2)) :65 -->_1 x^#(mark(X1), X2) -> c_65(x^#(X1, X2)) :64 -->_1 x^#(X1, mark(X2)) -> c_64(x^#(X1, X2)) :63 64: x^#(mark(X1), X2) -> c_65(x^#(X1, X2)) -->_1 x^#(ok(X1), ok(X2)) -> c_66(x^#(X1, X2)) :65 -->_1 x^#(mark(X1), X2) -> c_65(x^#(X1, X2)) :64 -->_1 x^#(X1, mark(X2)) -> c_64(x^#(X1, X2)) :63 65: x^#(ok(X1), ok(X2)) -> c_66(x^#(X1, X2)) -->_1 x^#(ok(X1), ok(X2)) -> c_66(x^#(X1, X2)) :65 -->_1 x^#(mark(X1), X2) -> c_65(x^#(X1, X2)) :64 -->_1 x^#(X1, mark(X2)) -> c_64(x^#(X1, X2)) :63 66: isNat^#(ok(X)) -> c_40(isNat^#(X)) -->_1 isNat^#(ok(X)) -> c_40(isNat^#(X)) :66 67: proper^#(U11(X1, X2)) -> c_67(U11^#(proper(X1), proper(X2))) -->_1 U11^#(ok(X1), ok(X2)) -> c_37(U11^#(X1, X2)) :37 -->_1 U11^#(mark(X1), X2) -> c_36(U11^#(X1, X2)) :36 68: proper^#(tt()) -> c_68() 69: proper^#(U12(X)) -> c_69(U12^#(proper(X))) -->_1 U12^#(ok(X)) -> c_39(U12^#(X)) :39 -->_1 U12^#(mark(X)) -> c_38(U12^#(X)) :38 70: proper^#(isNat(X)) -> c_70(isNat^#(proper(X))) -->_1 isNat^#(ok(X)) -> c_40(isNat^#(X)) :66 71: proper^#(U21(X)) -> c_71(U21^#(proper(X))) -->_1 U21^#(ok(X)) -> c_42(U21^#(X)) :41 -->_1 U21^#(mark(X)) -> c_41(U21^#(X)) :40 72: proper^#(U31(X1, X2)) -> c_72(U31^#(proper(X1), proper(X2))) -->_1 U31^#(ok(X1), ok(X2)) -> c_44(U31^#(X1, X2)) :43 -->_1 U31^#(mark(X1), X2) -> c_43(U31^#(X1, X2)) :42 73: proper^#(U32(X)) -> c_73(U32^#(proper(X))) -->_1 U32^#(ok(X)) -> c_46(U32^#(X)) :45 -->_1 U32^#(mark(X)) -> c_45(U32^#(X)) :44 74: proper^#(U41(X1, X2)) -> c_74(U41^#(proper(X1), proper(X2))) -->_1 U41^#(ok(X1), ok(X2)) -> c_48(U41^#(X1, X2)) :47 -->_1 U41^#(mark(X1), X2) -> c_47(U41^#(X1, X2)) :46 75: proper^#(U51(X1, X2, X3)) -> c_75(U51^#(proper(X1), proper(X2), proper(X3))) -->_1 U51^#(ok(X1), ok(X2), ok(X3)) -> c_50(U51^#(X1, X2, X3)) :49 -->_1 U51^#(mark(X1), X2, X3) -> c_49(U51^#(X1, X2, X3)) :48 76: proper^#(U52(X1, X2, X3)) -> c_76(U52^#(proper(X1), proper(X2), proper(X3))) -->_1 U52^#(ok(X1), ok(X2), ok(X3)) -> c_52(U52^#(X1, X2, X3)) :51 -->_1 U52^#(mark(X1), X2, X3) -> c_51(U52^#(X1, X2, X3)) :50 77: proper^#(s(X)) -> c_77(s^#(proper(X))) -->_1 s^#(ok(X)) -> c_54(s^#(X)) :53 -->_1 s^#(mark(X)) -> c_53(s^#(X)) :52 78: proper^#(plus(X1, X2)) -> c_78(plus^#(proper(X1), proper(X2))) -->_1 plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) :56 -->_1 plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) :55 -->_1 plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) :54 79: proper^#(U61(X)) -> c_79(U61^#(proper(X))) -->_1 U61^#(ok(X)) -> c_59(U61^#(X)) :58 -->_1 U61^#(mark(X)) -> c_58(U61^#(X)) :57 80: proper^#(0()) -> c_80() 81: proper^#(U71(X1, X2, X3)) -> c_81(U71^#(proper(X1), proper(X2), proper(X3))) -->_1 U71^#(ok(X1), ok(X2), ok(X3)) -> c_61(U71^#(X1, X2, X3)) :60 -->_1 U71^#(mark(X1), X2, X3) -> c_60(U71^#(X1, X2, X3)) :59 82: proper^#(U72(X1, X2, X3)) -> c_82(U72^#(proper(X1), proper(X2), proper(X3))) -->_1 U72^#(ok(X1), ok(X2), ok(X3)) -> c_63(U72^#(X1, X2, X3)) :62 -->_1 U72^#(mark(X1), X2, X3) -> c_62(U72^#(X1, X2, X3)) :61 83: proper^#(x(X1, X2)) -> c_83(x^#(proper(X1), proper(X2))) -->_1 x^#(ok(X1), ok(X2)) -> c_66(x^#(X1, X2)) :65 -->_1 x^#(mark(X1), X2) -> c_65(x^#(X1, X2)) :64 -->_1 x^#(X1, mark(X2)) -> c_64(x^#(X1, X2)) :63 84: top^#(mark(X)) -> c_84(top^#(proper(X))) -->_1 top^#(ok(X)) -> c_85(top^#(active(X))) :85 -->_1 top^#(mark(X)) -> c_84(top^#(proper(X))) :84 85: top^#(ok(X)) -> c_85(top^#(active(X))) -->_1 top^#(ok(X)) -> c_85(top^#(active(X))) :85 -->_1 top^#(mark(X)) -> c_84(top^#(proper(X))) :84 Only the nodes {36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,55,57,58,59,60,61,62,63,65,64,66,68,80,84,85} are reachable from nodes {36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,68,80,84,85} 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) -> c_36(U11^#(X1, X2)) , U11^#(ok(X1), ok(X2)) -> c_37(U11^#(X1, X2)) , U12^#(mark(X)) -> c_38(U12^#(X)) , U12^#(ok(X)) -> c_39(U12^#(X)) , U21^#(mark(X)) -> c_41(U21^#(X)) , U21^#(ok(X)) -> c_42(U21^#(X)) , U31^#(mark(X1), X2) -> c_43(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_44(U31^#(X1, X2)) , U32^#(mark(X)) -> c_45(U32^#(X)) , U32^#(ok(X)) -> c_46(U32^#(X)) , U41^#(mark(X1), X2) -> c_47(U41^#(X1, X2)) , U41^#(ok(X1), ok(X2)) -> c_48(U41^#(X1, X2)) , U51^#(mark(X1), X2, X3) -> c_49(U51^#(X1, X2, X3)) , U51^#(ok(X1), ok(X2), ok(X3)) -> c_50(U51^#(X1, X2, X3)) , U52^#(mark(X1), X2, X3) -> c_51(U52^#(X1, X2, X3)) , U52^#(ok(X1), ok(X2), ok(X3)) -> c_52(U52^#(X1, X2, X3)) , s^#(mark(X)) -> c_53(s^#(X)) , s^#(ok(X)) -> c_54(s^#(X)) , plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) , U61^#(mark(X)) -> c_58(U61^#(X)) , U61^#(ok(X)) -> c_59(U61^#(X)) , U71^#(mark(X1), X2, X3) -> c_60(U71^#(X1, X2, X3)) , U71^#(ok(X1), ok(X2), ok(X3)) -> c_61(U71^#(X1, X2, X3)) , U72^#(mark(X1), X2, X3) -> c_62(U72^#(X1, X2, X3)) , U72^#(ok(X1), ok(X2), ok(X3)) -> c_63(U72^#(X1, X2, X3)) , x^#(X1, mark(X2)) -> c_64(x^#(X1, X2)) , x^#(mark(X1), X2) -> c_65(x^#(X1, X2)) , x^#(ok(X1), ok(X2)) -> c_66(x^#(X1, X2)) , isNat^#(ok(X)) -> c_40(isNat^#(X)) , proper^#(tt()) -> c_68() , proper^#(0()) -> c_80() , top^#(mark(X)) -> c_84(top^#(proper(X))) , top^#(ok(X)) -> c_85(top^#(active(X))) } Strict Trs: { active(U11(X1, X2)) -> U11(active(X1), X2) , active(U11(tt(), V2)) -> mark(U12(isNat(V2))) , active(U12(X)) -> U12(active(X)) , active(U12(tt())) -> mark(tt()) , active(isNat(s(V1))) -> mark(U21(isNat(V1))) , active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) , active(isNat(0())) -> mark(tt()) , active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) , active(U21(X)) -> U21(active(X)) , active(U21(tt())) -> mark(tt()) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), V2)) -> mark(U32(isNat(V2))) , active(U32(X)) -> U32(active(X)) , active(U32(tt())) -> mark(tt()) , active(U41(X1, X2)) -> U41(active(X1), X2) , active(U41(tt(), N)) -> mark(N) , active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3) , active(U51(tt(), M, N)) -> mark(U52(isNat(N), M, N)) , active(U52(X1, X2, X3)) -> U52(active(X1), X2, X3) , active(U52(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(U51(isNat(M), M, N)) , active(plus(N, 0())) -> mark(U41(isNat(N), N)) , active(U61(X)) -> U61(active(X)) , active(U61(tt())) -> mark(0()) , active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3) , active(U71(tt(), M, N)) -> mark(U72(isNat(N), M, N)) , active(U72(X1, X2, X3)) -> U72(active(X1), X2, X3) , active(U72(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(U71(isNat(M), M, N)) , active(x(N, 0())) -> mark(U61(isNat(N))) , U11(mark(X1), X2) -> mark(U11(X1, X2)) , U11(ok(X1), ok(X2)) -> ok(U11(X1, X2)) , U12(mark(X)) -> mark(U12(X)) , U12(ok(X)) -> ok(U12(X)) , isNat(ok(X)) -> ok(isNat(X)) , U21(mark(X)) -> mark(U21(X)) , U21(ok(X)) -> ok(U21(X)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U32(mark(X)) -> mark(U32(X)) , U32(ok(X)) -> ok(U32(X)) , U41(mark(X1), X2) -> mark(U41(X1, X2)) , U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)) , U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)) , U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)) , U52(mark(X1), X2, X3) -> mark(U52(X1, X2, X3)) , U52(ok(X1), ok(X2), ok(X3)) -> ok(U52(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)) , U61(mark(X)) -> mark(U61(X)) , U61(ok(X)) -> ok(U61(X)) , U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)) , U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)) , U72(mark(X1), X2, X3) -> mark(U72(X1, X2, X3)) , U72(ok(X1), ok(X2), ok(X3)) -> ok(U72(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)) -> U11(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(U12(X)) -> U12(proper(X)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U21(X)) -> U21(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X)) -> U32(proper(X)) , proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)) , proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)) , proper(U52(X1, X2, X3)) -> U52(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(U61(X)) -> U61(proper(X)) , proper(0()) -> ok(0()) , proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)) , proper(U72(X1, X2, X3)) -> U72(proper(X1), proper(X2), proper(X3)) , proper(x(X1, X2)) -> x(proper(X1), proper(X2)) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {32,33} by applications of Pre({32,33}) = {}. Here rules are labeled as follows: DPs: { 1: U11^#(mark(X1), X2) -> c_36(U11^#(X1, X2)) , 2: U11^#(ok(X1), ok(X2)) -> c_37(U11^#(X1, X2)) , 3: U12^#(mark(X)) -> c_38(U12^#(X)) , 4: U12^#(ok(X)) -> c_39(U12^#(X)) , 5: U21^#(mark(X)) -> c_41(U21^#(X)) , 6: U21^#(ok(X)) -> c_42(U21^#(X)) , 7: U31^#(mark(X1), X2) -> c_43(U31^#(X1, X2)) , 8: U31^#(ok(X1), ok(X2)) -> c_44(U31^#(X1, X2)) , 9: U32^#(mark(X)) -> c_45(U32^#(X)) , 10: U32^#(ok(X)) -> c_46(U32^#(X)) , 11: U41^#(mark(X1), X2) -> c_47(U41^#(X1, X2)) , 12: U41^#(ok(X1), ok(X2)) -> c_48(U41^#(X1, X2)) , 13: U51^#(mark(X1), X2, X3) -> c_49(U51^#(X1, X2, X3)) , 14: U51^#(ok(X1), ok(X2), ok(X3)) -> c_50(U51^#(X1, X2, X3)) , 15: U52^#(mark(X1), X2, X3) -> c_51(U52^#(X1, X2, X3)) , 16: U52^#(ok(X1), ok(X2), ok(X3)) -> c_52(U52^#(X1, X2, X3)) , 17: s^#(mark(X)) -> c_53(s^#(X)) , 18: s^#(ok(X)) -> c_54(s^#(X)) , 19: plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) , 20: plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) , 21: plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) , 22: U61^#(mark(X)) -> c_58(U61^#(X)) , 23: U61^#(ok(X)) -> c_59(U61^#(X)) , 24: U71^#(mark(X1), X2, X3) -> c_60(U71^#(X1, X2, X3)) , 25: U71^#(ok(X1), ok(X2), ok(X3)) -> c_61(U71^#(X1, X2, X3)) , 26: U72^#(mark(X1), X2, X3) -> c_62(U72^#(X1, X2, X3)) , 27: U72^#(ok(X1), ok(X2), ok(X3)) -> c_63(U72^#(X1, X2, X3)) , 28: x^#(X1, mark(X2)) -> c_64(x^#(X1, X2)) , 29: x^#(mark(X1), X2) -> c_65(x^#(X1, X2)) , 30: x^#(ok(X1), ok(X2)) -> c_66(x^#(X1, X2)) , 31: isNat^#(ok(X)) -> c_40(isNat^#(X)) , 32: proper^#(tt()) -> c_68() , 33: proper^#(0()) -> c_80() , 34: top^#(mark(X)) -> c_84(top^#(proper(X))) , 35: top^#(ok(X)) -> c_85(top^#(active(X))) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { U11^#(mark(X1), X2) -> c_36(U11^#(X1, X2)) , U11^#(ok(X1), ok(X2)) -> c_37(U11^#(X1, X2)) , U12^#(mark(X)) -> c_38(U12^#(X)) , U12^#(ok(X)) -> c_39(U12^#(X)) , U21^#(mark(X)) -> c_41(U21^#(X)) , U21^#(ok(X)) -> c_42(U21^#(X)) , U31^#(mark(X1), X2) -> c_43(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_44(U31^#(X1, X2)) , U32^#(mark(X)) -> c_45(U32^#(X)) , U32^#(ok(X)) -> c_46(U32^#(X)) , U41^#(mark(X1), X2) -> c_47(U41^#(X1, X2)) , U41^#(ok(X1), ok(X2)) -> c_48(U41^#(X1, X2)) , U51^#(mark(X1), X2, X3) -> c_49(U51^#(X1, X2, X3)) , U51^#(ok(X1), ok(X2), ok(X3)) -> c_50(U51^#(X1, X2, X3)) , U52^#(mark(X1), X2, X3) -> c_51(U52^#(X1, X2, X3)) , U52^#(ok(X1), ok(X2), ok(X3)) -> c_52(U52^#(X1, X2, X3)) , s^#(mark(X)) -> c_53(s^#(X)) , s^#(ok(X)) -> c_54(s^#(X)) , plus^#(X1, mark(X2)) -> c_55(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_56(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_57(plus^#(X1, X2)) , U61^#(mark(X)) -> c_58(U61^#(X)) , U61^#(ok(X)) -> c_59(U61^#(X)) , U71^#(mark(X1), X2, X3) -> c_60(U71^#(X1, X2, X3)) , U71^#(ok(X1), ok(X2), ok(X3)) -> c_61(U71^#(X1, X2, X3)) , U72^#(mark(X1), X2, X3) -> c_62(U72^#(X1, X2, X3)) , U72^#(ok(X1), ok(X2), ok(X3)) -> c_63(U72^#(X1, X2, X3)) , x^#(X1, mark(X2)) -> c_64(x^#(X1, X2)) , x^#(mark(X1), X2) -> c_65(x^#(X1, X2)) , x^#(ok(X1), ok(X2)) -> c_66(x^#(X1, X2)) , isNat^#(ok(X)) -> c_40(isNat^#(X)) , top^#(mark(X)) -> c_84(top^#(proper(X))) , top^#(ok(X)) -> c_85(top^#(active(X))) } Strict Trs: { active(U11(X1, X2)) -> U11(active(X1), X2) , active(U11(tt(), V2)) -> mark(U12(isNat(V2))) , active(U12(X)) -> U12(active(X)) , active(U12(tt())) -> mark(tt()) , active(isNat(s(V1))) -> mark(U21(isNat(V1))) , active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) , active(isNat(0())) -> mark(tt()) , active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) , active(U21(X)) -> U21(active(X)) , active(U21(tt())) -> mark(tt()) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), V2)) -> mark(U32(isNat(V2))) , active(U32(X)) -> U32(active(X)) , active(U32(tt())) -> mark(tt()) , active(U41(X1, X2)) -> U41(active(X1), X2) , active(U41(tt(), N)) -> mark(N) , active(U51(X1, X2, X3)) -> U51(active(X1), X2, X3) , active(U51(tt(), M, N)) -> mark(U52(isNat(N), M, N)) , active(U52(X1, X2, X3)) -> U52(active(X1), X2, X3) , active(U52(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(U51(isNat(M), M, N)) , active(plus(N, 0())) -> mark(U41(isNat(N), N)) , active(U61(X)) -> U61(active(X)) , active(U61(tt())) -> mark(0()) , active(U71(X1, X2, X3)) -> U71(active(X1), X2, X3) , active(U71(tt(), M, N)) -> mark(U72(isNat(N), M, N)) , active(U72(X1, X2, X3)) -> U72(active(X1), X2, X3) , active(U72(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(U71(isNat(M), M, N)) , active(x(N, 0())) -> mark(U61(isNat(N))) , U11(mark(X1), X2) -> mark(U11(X1, X2)) , U11(ok(X1), ok(X2)) -> ok(U11(X1, X2)) , U12(mark(X)) -> mark(U12(X)) , U12(ok(X)) -> ok(U12(X)) , isNat(ok(X)) -> ok(isNat(X)) , U21(mark(X)) -> mark(U21(X)) , U21(ok(X)) -> ok(U21(X)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U32(mark(X)) -> mark(U32(X)) , U32(ok(X)) -> ok(U32(X)) , U41(mark(X1), X2) -> mark(U41(X1, X2)) , U41(ok(X1), ok(X2)) -> ok(U41(X1, X2)) , U51(mark(X1), X2, X3) -> mark(U51(X1, X2, X3)) , U51(ok(X1), ok(X2), ok(X3)) -> ok(U51(X1, X2, X3)) , U52(mark(X1), X2, X3) -> mark(U52(X1, X2, X3)) , U52(ok(X1), ok(X2), ok(X3)) -> ok(U52(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)) , U61(mark(X)) -> mark(U61(X)) , U61(ok(X)) -> ok(U61(X)) , U71(mark(X1), X2, X3) -> mark(U71(X1, X2, X3)) , U71(ok(X1), ok(X2), ok(X3)) -> ok(U71(X1, X2, X3)) , U72(mark(X1), X2, X3) -> mark(U72(X1, X2, X3)) , U72(ok(X1), ok(X2), ok(X3)) -> ok(U72(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)) -> U11(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(U12(X)) -> U12(proper(X)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U21(X)) -> U21(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X)) -> U32(proper(X)) , proper(U41(X1, X2)) -> U41(proper(X1), proper(X2)) , proper(U51(X1, X2, X3)) -> U51(proper(X1), proper(X2), proper(X3)) , proper(U52(X1, X2, X3)) -> U52(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(U61(X)) -> U61(proper(X)) , proper(0()) -> ok(0()) , proper(U71(X1, X2, X3)) -> U71(proper(X1), proper(X2), proper(X3)) , proper(U72(X1, X2, X3)) -> U72(proper(X1), proper(X2), proper(X3)) , proper(x(X1, X2)) -> x(proper(X1), proper(X2)) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Weak DPs: { proper^#(tt()) -> c_68() , proper^#(0()) -> c_80() } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..