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(), V1, V2)) -> mark(U12(isNat(V1), V2)) , active(U12(X1, X2)) -> U12(active(X1), X2) , active(U12(tt(), V2)) -> mark(U13(isNat(V2))) , active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) , active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)) , active(isNat(0())) -> mark(tt()) , active(U13(X)) -> U13(active(X)) , active(U13(tt())) -> mark(tt()) , active(U21(X1, X2)) -> U21(active(X1), X2) , active(U21(tt(), V1)) -> mark(U22(isNat(V1))) , active(U22(X)) -> U22(active(X)) , active(U22(tt())) -> mark(tt()) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), N)) -> mark(N) , active(U41(X1, X2, X3)) -> U41(active(X1), X2, X3) , active(U41(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(U41(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)) , active(plus(N, 0())) -> mark(U31(and(isNat(N), isNatKind(N)), N)) , active(and(X1, X2)) -> and(active(X1), X2) , active(and(tt(), X)) -> mark(X) , active(isNatKind(s(V1))) -> mark(isNatKind(V1)) , active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))) , active(isNatKind(0())) -> mark(tt()) , 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) -> mark(U12(X1, X2)) , U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)) , isNat(ok(X)) -> ok(isNat(X)) , U13(mark(X)) -> mark(U13(X)) , U13(ok(X)) -> ok(U13(X)) , U21(mark(X1), X2) -> mark(U21(X1, X2)) , U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)) , U22(mark(X)) -> mark(U22(X)) , U22(ok(X)) -> ok(U22(X)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U41(mark(X1), X2, X3) -> mark(U41(X1, X2, X3)) , U41(ok(X1), ok(X2), ok(X3)) -> ok(U41(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)) , and(mark(X1), X2) -> mark(and(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , isNatKind(ok(X)) -> ok(isNatKind(X)) , proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U13(X)) -> U13(proper(X)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X)) -> U22(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U41(X1, X2, X3)) -> U41(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(isNatKind(X)) -> isNatKind(proper(X)) , 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 perSymbol-enrichment and initial automaton 'match'' failed due to the following reason: match-boundness of the problem could not be verified. 2) 'Bounds with minimal-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) '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 2) '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 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(), V1, V2)) -> c_2(U12^#(isNat(V1), V2)) , active^#(U12(X1, X2)) -> c_3(U12^#(active(X1), X2)) , active^#(U12(tt(), V2)) -> c_4(U13^#(isNat(V2))) , active^#(isNat(s(V1))) -> c_5(U21^#(isNatKind(V1), V1)) , active^#(isNat(plus(V1, V2))) -> c_6(U11^#(and(isNatKind(V1), isNatKind(V2)), V1, V2)) , active^#(isNat(0())) -> c_7() , active^#(U13(X)) -> c_8(U13^#(active(X))) , active^#(U13(tt())) -> c_9() , active^#(U21(X1, X2)) -> c_10(U21^#(active(X1), X2)) , active^#(U21(tt(), V1)) -> c_11(U22^#(isNat(V1))) , active^#(U22(X)) -> c_12(U22^#(active(X))) , active^#(U22(tt())) -> c_13() , active^#(U31(X1, X2)) -> c_14(U31^#(active(X1), X2)) , active^#(U31(tt(), N)) -> c_15(N) , active^#(U41(X1, X2, X3)) -> c_16(U41^#(active(X1), X2, X3)) , active^#(U41(tt(), M, N)) -> c_17(s^#(plus(N, M))) , active^#(s(X)) -> c_18(s^#(active(X))) , active^#(plus(X1, X2)) -> c_19(plus^#(X1, active(X2))) , active^#(plus(X1, X2)) -> c_20(plus^#(active(X1), X2)) , active^#(plus(N, s(M))) -> c_21(U41^#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)) , active^#(plus(N, 0())) -> c_22(U31^#(and(isNat(N), isNatKind(N)), N)) , active^#(and(X1, X2)) -> c_23(and^#(active(X1), X2)) , active^#(and(tt(), X)) -> c_24(X) , active^#(isNatKind(s(V1))) -> c_25(isNatKind^#(V1)) , active^#(isNatKind(plus(V1, V2))) -> c_26(and^#(isNatKind(V1), isNatKind(V2))) , active^#(isNatKind(0())) -> c_27() , U11^#(mark(X1), X2, X3) -> c_28(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_29(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2) -> c_30(U12^#(X1, X2)) , U12^#(ok(X1), ok(X2)) -> c_31(U12^#(X1, X2)) , U13^#(mark(X)) -> c_33(U13^#(X)) , U13^#(ok(X)) -> c_34(U13^#(X)) , U21^#(mark(X1), X2) -> c_35(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_36(U21^#(X1, X2)) , U22^#(mark(X)) -> c_37(U22^#(X)) , U22^#(ok(X)) -> c_38(U22^#(X)) , U31^#(mark(X1), X2) -> c_39(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_40(U31^#(X1, X2)) , U41^#(mark(X1), X2, X3) -> c_41(U41^#(X1, X2, X3)) , U41^#(ok(X1), ok(X2), ok(X3)) -> c_42(U41^#(X1, X2, X3)) , s^#(mark(X)) -> c_43(s^#(X)) , s^#(ok(X)) -> c_44(s^#(X)) , plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) , and^#(mark(X1), X2) -> c_48(and^#(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_49(and^#(X1, X2)) , isNatKind^#(ok(X)) -> c_50(isNatKind^#(X)) , isNat^#(ok(X)) -> c_32(isNat^#(X)) , proper^#(U11(X1, X2, X3)) -> c_51(U11^#(proper(X1), proper(X2), proper(X3))) , proper^#(tt()) -> c_52() , proper^#(U12(X1, X2)) -> c_53(U12^#(proper(X1), proper(X2))) , proper^#(isNat(X)) -> c_54(isNat^#(proper(X))) , proper^#(U13(X)) -> c_55(U13^#(proper(X))) , proper^#(U21(X1, X2)) -> c_56(U21^#(proper(X1), proper(X2))) , proper^#(U22(X)) -> c_57(U22^#(proper(X))) , proper^#(U31(X1, X2)) -> c_58(U31^#(proper(X1), proper(X2))) , proper^#(U41(X1, X2, X3)) -> c_59(U41^#(proper(X1), proper(X2), proper(X3))) , proper^#(s(X)) -> c_60(s^#(proper(X))) , proper^#(plus(X1, X2)) -> c_61(plus^#(proper(X1), proper(X2))) , proper^#(and(X1, X2)) -> c_62(and^#(proper(X1), proper(X2))) , proper^#(0()) -> c_63() , proper^#(isNatKind(X)) -> c_64(isNatKind^#(proper(X))) , top^#(mark(X)) -> c_65(top^#(proper(X))) , top^#(ok(X)) -> c_66(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(), V1, V2)) -> c_2(U12^#(isNat(V1), V2)) , active^#(U12(X1, X2)) -> c_3(U12^#(active(X1), X2)) , active^#(U12(tt(), V2)) -> c_4(U13^#(isNat(V2))) , active^#(isNat(s(V1))) -> c_5(U21^#(isNatKind(V1), V1)) , active^#(isNat(plus(V1, V2))) -> c_6(U11^#(and(isNatKind(V1), isNatKind(V2)), V1, V2)) , active^#(isNat(0())) -> c_7() , active^#(U13(X)) -> c_8(U13^#(active(X))) , active^#(U13(tt())) -> c_9() , active^#(U21(X1, X2)) -> c_10(U21^#(active(X1), X2)) , active^#(U21(tt(), V1)) -> c_11(U22^#(isNat(V1))) , active^#(U22(X)) -> c_12(U22^#(active(X))) , active^#(U22(tt())) -> c_13() , active^#(U31(X1, X2)) -> c_14(U31^#(active(X1), X2)) , active^#(U31(tt(), N)) -> c_15(N) , active^#(U41(X1, X2, X3)) -> c_16(U41^#(active(X1), X2, X3)) , active^#(U41(tt(), M, N)) -> c_17(s^#(plus(N, M))) , active^#(s(X)) -> c_18(s^#(active(X))) , active^#(plus(X1, X2)) -> c_19(plus^#(X1, active(X2))) , active^#(plus(X1, X2)) -> c_20(plus^#(active(X1), X2)) , active^#(plus(N, s(M))) -> c_21(U41^#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)) , active^#(plus(N, 0())) -> c_22(U31^#(and(isNat(N), isNatKind(N)), N)) , active^#(and(X1, X2)) -> c_23(and^#(active(X1), X2)) , active^#(and(tt(), X)) -> c_24(X) , active^#(isNatKind(s(V1))) -> c_25(isNatKind^#(V1)) , active^#(isNatKind(plus(V1, V2))) -> c_26(and^#(isNatKind(V1), isNatKind(V2))) , active^#(isNatKind(0())) -> c_27() , U11^#(mark(X1), X2, X3) -> c_28(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_29(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2) -> c_30(U12^#(X1, X2)) , U12^#(ok(X1), ok(X2)) -> c_31(U12^#(X1, X2)) , U13^#(mark(X)) -> c_33(U13^#(X)) , U13^#(ok(X)) -> c_34(U13^#(X)) , U21^#(mark(X1), X2) -> c_35(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_36(U21^#(X1, X2)) , U22^#(mark(X)) -> c_37(U22^#(X)) , U22^#(ok(X)) -> c_38(U22^#(X)) , U31^#(mark(X1), X2) -> c_39(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_40(U31^#(X1, X2)) , U41^#(mark(X1), X2, X3) -> c_41(U41^#(X1, X2, X3)) , U41^#(ok(X1), ok(X2), ok(X3)) -> c_42(U41^#(X1, X2, X3)) , s^#(mark(X)) -> c_43(s^#(X)) , s^#(ok(X)) -> c_44(s^#(X)) , plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) , and^#(mark(X1), X2) -> c_48(and^#(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_49(and^#(X1, X2)) , isNatKind^#(ok(X)) -> c_50(isNatKind^#(X)) , isNat^#(ok(X)) -> c_32(isNat^#(X)) , proper^#(U11(X1, X2, X3)) -> c_51(U11^#(proper(X1), proper(X2), proper(X3))) , proper^#(tt()) -> c_52() , proper^#(U12(X1, X2)) -> c_53(U12^#(proper(X1), proper(X2))) , proper^#(isNat(X)) -> c_54(isNat^#(proper(X))) , proper^#(U13(X)) -> c_55(U13^#(proper(X))) , proper^#(U21(X1, X2)) -> c_56(U21^#(proper(X1), proper(X2))) , proper^#(U22(X)) -> c_57(U22^#(proper(X))) , proper^#(U31(X1, X2)) -> c_58(U31^#(proper(X1), proper(X2))) , proper^#(U41(X1, X2, X3)) -> c_59(U41^#(proper(X1), proper(X2), proper(X3))) , proper^#(s(X)) -> c_60(s^#(proper(X))) , proper^#(plus(X1, X2)) -> c_61(plus^#(proper(X1), proper(X2))) , proper^#(and(X1, X2)) -> c_62(and^#(proper(X1), proper(X2))) , proper^#(0()) -> c_63() , proper^#(isNatKind(X)) -> c_64(isNatKind^#(proper(X))) , top^#(mark(X)) -> c_65(top^#(proper(X))) , top^#(ok(X)) -> c_66(top^#(active(X))) } Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)) , active(U12(X1, X2)) -> U12(active(X1), X2) , active(U12(tt(), V2)) -> mark(U13(isNat(V2))) , active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) , active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)) , active(isNat(0())) -> mark(tt()) , active(U13(X)) -> U13(active(X)) , active(U13(tt())) -> mark(tt()) , active(U21(X1, X2)) -> U21(active(X1), X2) , active(U21(tt(), V1)) -> mark(U22(isNat(V1))) , active(U22(X)) -> U22(active(X)) , active(U22(tt())) -> mark(tt()) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), N)) -> mark(N) , active(U41(X1, X2, X3)) -> U41(active(X1), X2, X3) , active(U41(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(U41(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)) , active(plus(N, 0())) -> mark(U31(and(isNat(N), isNatKind(N)), N)) , active(and(X1, X2)) -> and(active(X1), X2) , active(and(tt(), X)) -> mark(X) , active(isNatKind(s(V1))) -> mark(isNatKind(V1)) , active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))) , active(isNatKind(0())) -> mark(tt()) , 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) -> mark(U12(X1, X2)) , U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)) , isNat(ok(X)) -> ok(isNat(X)) , U13(mark(X)) -> mark(U13(X)) , U13(ok(X)) -> ok(U13(X)) , U21(mark(X1), X2) -> mark(U21(X1, X2)) , U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)) , U22(mark(X)) -> mark(U22(X)) , U22(ok(X)) -> ok(U22(X)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U41(mark(X1), X2, X3) -> mark(U41(X1, X2, X3)) , U41(ok(X1), ok(X2), ok(X3)) -> ok(U41(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)) , and(mark(X1), X2) -> mark(and(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , isNatKind(ok(X)) -> ok(isNatKind(X)) , proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U13(X)) -> U13(proper(X)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X)) -> U22(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U41(X1, X2, X3)) -> U41(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(isNatKind(X)) -> isNatKind(proper(X)) , 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_29(U11^#(X1, X2, X3)) :29 -->_1 U11^#(mark(X1), X2, X3) -> c_28(U11^#(X1, X2, X3)) :28 2: active^#(U11(tt(), V1, V2)) -> c_2(U12^#(isNat(V1), V2)) -->_1 U12^#(ok(X1), ok(X2)) -> c_31(U12^#(X1, X2)) :31 -->_1 U12^#(mark(X1), X2) -> c_30(U12^#(X1, X2)) :30 3: active^#(U12(X1, X2)) -> c_3(U12^#(active(X1), X2)) -->_1 U12^#(ok(X1), ok(X2)) -> c_31(U12^#(X1, X2)) :31 -->_1 U12^#(mark(X1), X2) -> c_30(U12^#(X1, X2)) :30 4: active^#(U12(tt(), V2)) -> c_4(U13^#(isNat(V2))) -->_1 U13^#(ok(X)) -> c_34(U13^#(X)) :33 -->_1 U13^#(mark(X)) -> c_33(U13^#(X)) :32 5: active^#(isNat(s(V1))) -> c_5(U21^#(isNatKind(V1), V1)) -->_1 U21^#(ok(X1), ok(X2)) -> c_36(U21^#(X1, X2)) :35 -->_1 U21^#(mark(X1), X2) -> c_35(U21^#(X1, X2)) :34 6: active^#(isNat(plus(V1, V2))) -> c_6(U11^#(and(isNatKind(V1), isNatKind(V2)), V1, V2)) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_29(U11^#(X1, X2, X3)) :29 -->_1 U11^#(mark(X1), X2, X3) -> c_28(U11^#(X1, X2, X3)) :28 7: active^#(isNat(0())) -> c_7() 8: active^#(U13(X)) -> c_8(U13^#(active(X))) -->_1 U13^#(ok(X)) -> c_34(U13^#(X)) :33 -->_1 U13^#(mark(X)) -> c_33(U13^#(X)) :32 9: active^#(U13(tt())) -> c_9() 10: active^#(U21(X1, X2)) -> c_10(U21^#(active(X1), X2)) -->_1 U21^#(ok(X1), ok(X2)) -> c_36(U21^#(X1, X2)) :35 -->_1 U21^#(mark(X1), X2) -> c_35(U21^#(X1, X2)) :34 11: active^#(U21(tt(), V1)) -> c_11(U22^#(isNat(V1))) -->_1 U22^#(ok(X)) -> c_38(U22^#(X)) :37 -->_1 U22^#(mark(X)) -> c_37(U22^#(X)) :36 12: active^#(U22(X)) -> c_12(U22^#(active(X))) -->_1 U22^#(ok(X)) -> c_38(U22^#(X)) :37 -->_1 U22^#(mark(X)) -> c_37(U22^#(X)) :36 13: active^#(U22(tt())) -> c_13() 14: active^#(U31(X1, X2)) -> c_14(U31^#(active(X1), X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_40(U31^#(X1, X2)) :39 -->_1 U31^#(mark(X1), X2) -> c_39(U31^#(X1, X2)) :38 15: active^#(U31(tt(), N)) -> c_15(N) -->_1 top^#(ok(X)) -> c_66(top^#(active(X))) :66 -->_1 top^#(mark(X)) -> c_65(top^#(proper(X))) :65 -->_1 proper^#(isNatKind(X)) -> c_64(isNatKind^#(proper(X))) :64 -->_1 proper^#(and(X1, X2)) -> c_62(and^#(proper(X1), proper(X2))) :62 -->_1 proper^#(plus(X1, X2)) -> c_61(plus^#(proper(X1), proper(X2))) :61 -->_1 proper^#(s(X)) -> c_60(s^#(proper(X))) :60 -->_1 proper^#(U41(X1, X2, X3)) -> c_59(U41^#(proper(X1), proper(X2), proper(X3))) :59 -->_1 proper^#(U31(X1, X2)) -> c_58(U31^#(proper(X1), proper(X2))) :58 -->_1 proper^#(U22(X)) -> c_57(U22^#(proper(X))) :57 -->_1 proper^#(U21(X1, X2)) -> c_56(U21^#(proper(X1), proper(X2))) :56 -->_1 proper^#(U13(X)) -> c_55(U13^#(proper(X))) :55 -->_1 proper^#(isNat(X)) -> c_54(isNat^#(proper(X))) :54 -->_1 proper^#(U12(X1, X2)) -> c_53(U12^#(proper(X1), proper(X2))) :53 -->_1 proper^#(U11(X1, X2, X3)) -> c_51(U11^#(proper(X1), proper(X2), proper(X3))) :51 -->_1 isNat^#(ok(X)) -> c_32(isNat^#(X)) :50 -->_1 isNatKind^#(ok(X)) -> c_50(isNatKind^#(X)) :49 -->_1 and^#(ok(X1), ok(X2)) -> c_49(and^#(X1, X2)) :48 -->_1 and^#(mark(X1), X2) -> c_48(and^#(X1, X2)) :47 -->_1 plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) :46 -->_1 plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) :45 -->_1 plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) :44 -->_1 s^#(ok(X)) -> c_44(s^#(X)) :43 -->_1 s^#(mark(X)) -> c_43(s^#(X)) :42 -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_42(U41^#(X1, X2, X3)) :41 -->_1 U41^#(mark(X1), X2, X3) -> c_41(U41^#(X1, X2, X3)) :40 -->_1 U31^#(ok(X1), ok(X2)) -> c_40(U31^#(X1, X2)) :39 -->_1 U31^#(mark(X1), X2) -> c_39(U31^#(X1, X2)) :38 -->_1 U22^#(ok(X)) -> c_38(U22^#(X)) :37 -->_1 U22^#(mark(X)) -> c_37(U22^#(X)) :36 -->_1 U21^#(ok(X1), ok(X2)) -> c_36(U21^#(X1, X2)) :35 -->_1 U21^#(mark(X1), X2) -> c_35(U21^#(X1, X2)) :34 -->_1 U13^#(ok(X)) -> c_34(U13^#(X)) :33 -->_1 U13^#(mark(X)) -> c_33(U13^#(X)) :32 -->_1 U12^#(ok(X1), ok(X2)) -> c_31(U12^#(X1, X2)) :31 -->_1 U12^#(mark(X1), X2) -> c_30(U12^#(X1, X2)) :30 -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_29(U11^#(X1, X2, X3)) :29 -->_1 U11^#(mark(X1), X2, X3) -> c_28(U11^#(X1, X2, X3)) :28 -->_1 active^#(isNatKind(plus(V1, V2))) -> c_26(and^#(isNatKind(V1), isNatKind(V2))) :26 -->_1 active^#(isNatKind(s(V1))) -> c_25(isNatKind^#(V1)) :25 -->_1 active^#(and(tt(), X)) -> c_24(X) :24 -->_1 active^#(and(X1, X2)) -> c_23(and^#(active(X1), X2)) :23 -->_1 active^#(plus(N, 0())) -> c_22(U31^#(and(isNat(N), isNatKind(N)), N)) :22 -->_1 active^#(plus(N, s(M))) -> c_21(U41^#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)) :21 -->_1 active^#(plus(X1, X2)) -> c_20(plus^#(active(X1), X2)) :20 -->_1 active^#(plus(X1, X2)) -> c_19(plus^#(X1, active(X2))) :19 -->_1 active^#(s(X)) -> c_18(s^#(active(X))) :18 -->_1 active^#(U41(tt(), M, N)) -> c_17(s^#(plus(N, M))) :17 -->_1 active^#(U41(X1, X2, X3)) -> c_16(U41^#(active(X1), X2, X3)) :16 -->_1 proper^#(0()) -> c_63() :63 -->_1 proper^#(tt()) -> c_52() :52 -->_1 active^#(isNatKind(0())) -> c_27() :27 -->_1 active^#(U31(tt(), N)) -> c_15(N) :15 -->_1 active^#(U31(X1, X2)) -> c_14(U31^#(active(X1), X2)) :14 -->_1 active^#(U22(tt())) -> c_13() :13 -->_1 active^#(U22(X)) -> c_12(U22^#(active(X))) :12 -->_1 active^#(U21(tt(), V1)) -> c_11(U22^#(isNat(V1))) :11 -->_1 active^#(U21(X1, X2)) -> c_10(U21^#(active(X1), X2)) :10 -->_1 active^#(U13(tt())) -> c_9() :9 -->_1 active^#(U13(X)) -> c_8(U13^#(active(X))) :8 -->_1 active^#(isNat(0())) -> c_7() :7 -->_1 active^#(isNat(plus(V1, V2))) -> c_6(U11^#(and(isNatKind(V1), isNatKind(V2)), V1, V2)) :6 -->_1 active^#(isNat(s(V1))) -> c_5(U21^#(isNatKind(V1), V1)) :5 -->_1 active^#(U12(tt(), V2)) -> c_4(U13^#(isNat(V2))) :4 -->_1 active^#(U12(X1, X2)) -> c_3(U12^#(active(X1), X2)) :3 -->_1 active^#(U11(tt(), V1, V2)) -> c_2(U12^#(isNat(V1), V2)) :2 -->_1 active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) :1 16: active^#(U41(X1, X2, X3)) -> c_16(U41^#(active(X1), X2, X3)) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_42(U41^#(X1, X2, X3)) :41 -->_1 U41^#(mark(X1), X2, X3) -> c_41(U41^#(X1, X2, X3)) :40 17: active^#(U41(tt(), M, N)) -> c_17(s^#(plus(N, M))) -->_1 s^#(ok(X)) -> c_44(s^#(X)) :43 -->_1 s^#(mark(X)) -> c_43(s^#(X)) :42 18: active^#(s(X)) -> c_18(s^#(active(X))) -->_1 s^#(ok(X)) -> c_44(s^#(X)) :43 -->_1 s^#(mark(X)) -> c_43(s^#(X)) :42 19: active^#(plus(X1, X2)) -> c_19(plus^#(X1, active(X2))) -->_1 plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) :46 -->_1 plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) :45 -->_1 plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) :44 20: active^#(plus(X1, X2)) -> c_20(plus^#(active(X1), X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) :46 -->_1 plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) :45 -->_1 plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) :44 21: active^#(plus(N, s(M))) -> c_21(U41^#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_42(U41^#(X1, X2, X3)) :41 -->_1 U41^#(mark(X1), X2, X3) -> c_41(U41^#(X1, X2, X3)) :40 22: active^#(plus(N, 0())) -> c_22(U31^#(and(isNat(N), isNatKind(N)), N)) -->_1 U31^#(ok(X1), ok(X2)) -> c_40(U31^#(X1, X2)) :39 -->_1 U31^#(mark(X1), X2) -> c_39(U31^#(X1, X2)) :38 23: active^#(and(X1, X2)) -> c_23(and^#(active(X1), X2)) -->_1 and^#(ok(X1), ok(X2)) -> c_49(and^#(X1, X2)) :48 -->_1 and^#(mark(X1), X2) -> c_48(and^#(X1, X2)) :47 24: active^#(and(tt(), X)) -> c_24(X) -->_1 top^#(ok(X)) -> c_66(top^#(active(X))) :66 -->_1 top^#(mark(X)) -> c_65(top^#(proper(X))) :65 -->_1 proper^#(isNatKind(X)) -> c_64(isNatKind^#(proper(X))) :64 -->_1 proper^#(and(X1, X2)) -> c_62(and^#(proper(X1), proper(X2))) :62 -->_1 proper^#(plus(X1, X2)) -> c_61(plus^#(proper(X1), proper(X2))) :61 -->_1 proper^#(s(X)) -> c_60(s^#(proper(X))) :60 -->_1 proper^#(U41(X1, X2, X3)) -> c_59(U41^#(proper(X1), proper(X2), proper(X3))) :59 -->_1 proper^#(U31(X1, X2)) -> c_58(U31^#(proper(X1), proper(X2))) :58 -->_1 proper^#(U22(X)) -> c_57(U22^#(proper(X))) :57 -->_1 proper^#(U21(X1, X2)) -> c_56(U21^#(proper(X1), proper(X2))) :56 -->_1 proper^#(U13(X)) -> c_55(U13^#(proper(X))) :55 -->_1 proper^#(isNat(X)) -> c_54(isNat^#(proper(X))) :54 -->_1 proper^#(U12(X1, X2)) -> c_53(U12^#(proper(X1), proper(X2))) :53 -->_1 proper^#(U11(X1, X2, X3)) -> c_51(U11^#(proper(X1), proper(X2), proper(X3))) :51 -->_1 isNat^#(ok(X)) -> c_32(isNat^#(X)) :50 -->_1 isNatKind^#(ok(X)) -> c_50(isNatKind^#(X)) :49 -->_1 and^#(ok(X1), ok(X2)) -> c_49(and^#(X1, X2)) :48 -->_1 and^#(mark(X1), X2) -> c_48(and^#(X1, X2)) :47 -->_1 plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) :46 -->_1 plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) :45 -->_1 plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) :44 -->_1 s^#(ok(X)) -> c_44(s^#(X)) :43 -->_1 s^#(mark(X)) -> c_43(s^#(X)) :42 -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_42(U41^#(X1, X2, X3)) :41 -->_1 U41^#(mark(X1), X2, X3) -> c_41(U41^#(X1, X2, X3)) :40 -->_1 U31^#(ok(X1), ok(X2)) -> c_40(U31^#(X1, X2)) :39 -->_1 U31^#(mark(X1), X2) -> c_39(U31^#(X1, X2)) :38 -->_1 U22^#(ok(X)) -> c_38(U22^#(X)) :37 -->_1 U22^#(mark(X)) -> c_37(U22^#(X)) :36 -->_1 U21^#(ok(X1), ok(X2)) -> c_36(U21^#(X1, X2)) :35 -->_1 U21^#(mark(X1), X2) -> c_35(U21^#(X1, X2)) :34 -->_1 U13^#(ok(X)) -> c_34(U13^#(X)) :33 -->_1 U13^#(mark(X)) -> c_33(U13^#(X)) :32 -->_1 U12^#(ok(X1), ok(X2)) -> c_31(U12^#(X1, X2)) :31 -->_1 U12^#(mark(X1), X2) -> c_30(U12^#(X1, X2)) :30 -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_29(U11^#(X1, X2, X3)) :29 -->_1 U11^#(mark(X1), X2, X3) -> c_28(U11^#(X1, X2, X3)) :28 -->_1 active^#(isNatKind(plus(V1, V2))) -> c_26(and^#(isNatKind(V1), isNatKind(V2))) :26 -->_1 active^#(isNatKind(s(V1))) -> c_25(isNatKind^#(V1)) :25 -->_1 proper^#(0()) -> c_63() :63 -->_1 proper^#(tt()) -> c_52() :52 -->_1 active^#(isNatKind(0())) -> c_27() :27 -->_1 active^#(and(tt(), X)) -> c_24(X) :24 -->_1 active^#(and(X1, X2)) -> c_23(and^#(active(X1), X2)) :23 -->_1 active^#(plus(N, 0())) -> c_22(U31^#(and(isNat(N), isNatKind(N)), N)) :22 -->_1 active^#(plus(N, s(M))) -> c_21(U41^#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)) :21 -->_1 active^#(plus(X1, X2)) -> c_20(plus^#(active(X1), X2)) :20 -->_1 active^#(plus(X1, X2)) -> c_19(plus^#(X1, active(X2))) :19 -->_1 active^#(s(X)) -> c_18(s^#(active(X))) :18 -->_1 active^#(U41(tt(), M, N)) -> c_17(s^#(plus(N, M))) :17 -->_1 active^#(U41(X1, X2, X3)) -> c_16(U41^#(active(X1), X2, X3)) :16 -->_1 active^#(U31(tt(), N)) -> c_15(N) :15 -->_1 active^#(U31(X1, X2)) -> c_14(U31^#(active(X1), X2)) :14 -->_1 active^#(U22(tt())) -> c_13() :13 -->_1 active^#(U22(X)) -> c_12(U22^#(active(X))) :12 -->_1 active^#(U21(tt(), V1)) -> c_11(U22^#(isNat(V1))) :11 -->_1 active^#(U21(X1, X2)) -> c_10(U21^#(active(X1), X2)) :10 -->_1 active^#(U13(tt())) -> c_9() :9 -->_1 active^#(U13(X)) -> c_8(U13^#(active(X))) :8 -->_1 active^#(isNat(0())) -> c_7() :7 -->_1 active^#(isNat(plus(V1, V2))) -> c_6(U11^#(and(isNatKind(V1), isNatKind(V2)), V1, V2)) :6 -->_1 active^#(isNat(s(V1))) -> c_5(U21^#(isNatKind(V1), V1)) :5 -->_1 active^#(U12(tt(), V2)) -> c_4(U13^#(isNat(V2))) :4 -->_1 active^#(U12(X1, X2)) -> c_3(U12^#(active(X1), X2)) :3 -->_1 active^#(U11(tt(), V1, V2)) -> c_2(U12^#(isNat(V1), V2)) :2 -->_1 active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) :1 25: active^#(isNatKind(s(V1))) -> c_25(isNatKind^#(V1)) -->_1 isNatKind^#(ok(X)) -> c_50(isNatKind^#(X)) :49 26: active^#(isNatKind(plus(V1, V2))) -> c_26(and^#(isNatKind(V1), isNatKind(V2))) -->_1 and^#(ok(X1), ok(X2)) -> c_49(and^#(X1, X2)) :48 -->_1 and^#(mark(X1), X2) -> c_48(and^#(X1, X2)) :47 27: active^#(isNatKind(0())) -> c_27() 28: U11^#(mark(X1), X2, X3) -> c_28(U11^#(X1, X2, X3)) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_29(U11^#(X1, X2, X3)) :29 -->_1 U11^#(mark(X1), X2, X3) -> c_28(U11^#(X1, X2, X3)) :28 29: U11^#(ok(X1), ok(X2), ok(X3)) -> c_29(U11^#(X1, X2, X3)) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_29(U11^#(X1, X2, X3)) :29 -->_1 U11^#(mark(X1), X2, X3) -> c_28(U11^#(X1, X2, X3)) :28 30: U12^#(mark(X1), X2) -> c_30(U12^#(X1, X2)) -->_1 U12^#(ok(X1), ok(X2)) -> c_31(U12^#(X1, X2)) :31 -->_1 U12^#(mark(X1), X2) -> c_30(U12^#(X1, X2)) :30 31: U12^#(ok(X1), ok(X2)) -> c_31(U12^#(X1, X2)) -->_1 U12^#(ok(X1), ok(X2)) -> c_31(U12^#(X1, X2)) :31 -->_1 U12^#(mark(X1), X2) -> c_30(U12^#(X1, X2)) :30 32: U13^#(mark(X)) -> c_33(U13^#(X)) -->_1 U13^#(ok(X)) -> c_34(U13^#(X)) :33 -->_1 U13^#(mark(X)) -> c_33(U13^#(X)) :32 33: U13^#(ok(X)) -> c_34(U13^#(X)) -->_1 U13^#(ok(X)) -> c_34(U13^#(X)) :33 -->_1 U13^#(mark(X)) -> c_33(U13^#(X)) :32 34: U21^#(mark(X1), X2) -> c_35(U21^#(X1, X2)) -->_1 U21^#(ok(X1), ok(X2)) -> c_36(U21^#(X1, X2)) :35 -->_1 U21^#(mark(X1), X2) -> c_35(U21^#(X1, X2)) :34 35: U21^#(ok(X1), ok(X2)) -> c_36(U21^#(X1, X2)) -->_1 U21^#(ok(X1), ok(X2)) -> c_36(U21^#(X1, X2)) :35 -->_1 U21^#(mark(X1), X2) -> c_35(U21^#(X1, X2)) :34 36: U22^#(mark(X)) -> c_37(U22^#(X)) -->_1 U22^#(ok(X)) -> c_38(U22^#(X)) :37 -->_1 U22^#(mark(X)) -> c_37(U22^#(X)) :36 37: U22^#(ok(X)) -> c_38(U22^#(X)) -->_1 U22^#(ok(X)) -> c_38(U22^#(X)) :37 -->_1 U22^#(mark(X)) -> c_37(U22^#(X)) :36 38: U31^#(mark(X1), X2) -> c_39(U31^#(X1, X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_40(U31^#(X1, X2)) :39 -->_1 U31^#(mark(X1), X2) -> c_39(U31^#(X1, X2)) :38 39: U31^#(ok(X1), ok(X2)) -> c_40(U31^#(X1, X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_40(U31^#(X1, X2)) :39 -->_1 U31^#(mark(X1), X2) -> c_39(U31^#(X1, X2)) :38 40: U41^#(mark(X1), X2, X3) -> c_41(U41^#(X1, X2, X3)) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_42(U41^#(X1, X2, X3)) :41 -->_1 U41^#(mark(X1), X2, X3) -> c_41(U41^#(X1, X2, X3)) :40 41: U41^#(ok(X1), ok(X2), ok(X3)) -> c_42(U41^#(X1, X2, X3)) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_42(U41^#(X1, X2, X3)) :41 -->_1 U41^#(mark(X1), X2, X3) -> c_41(U41^#(X1, X2, X3)) :40 42: s^#(mark(X)) -> c_43(s^#(X)) -->_1 s^#(ok(X)) -> c_44(s^#(X)) :43 -->_1 s^#(mark(X)) -> c_43(s^#(X)) :42 43: s^#(ok(X)) -> c_44(s^#(X)) -->_1 s^#(ok(X)) -> c_44(s^#(X)) :43 -->_1 s^#(mark(X)) -> c_43(s^#(X)) :42 44: plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) :46 -->_1 plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) :45 -->_1 plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) :44 45: plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) :46 -->_1 plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) :45 -->_1 plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) :44 46: plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) :46 -->_1 plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) :45 -->_1 plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) :44 47: and^#(mark(X1), X2) -> c_48(and^#(X1, X2)) -->_1 and^#(ok(X1), ok(X2)) -> c_49(and^#(X1, X2)) :48 -->_1 and^#(mark(X1), X2) -> c_48(and^#(X1, X2)) :47 48: and^#(ok(X1), ok(X2)) -> c_49(and^#(X1, X2)) -->_1 and^#(ok(X1), ok(X2)) -> c_49(and^#(X1, X2)) :48 -->_1 and^#(mark(X1), X2) -> c_48(and^#(X1, X2)) :47 49: isNatKind^#(ok(X)) -> c_50(isNatKind^#(X)) -->_1 isNatKind^#(ok(X)) -> c_50(isNatKind^#(X)) :49 50: isNat^#(ok(X)) -> c_32(isNat^#(X)) -->_1 isNat^#(ok(X)) -> c_32(isNat^#(X)) :50 51: proper^#(U11(X1, X2, X3)) -> c_51(U11^#(proper(X1), proper(X2), proper(X3))) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_29(U11^#(X1, X2, X3)) :29 -->_1 U11^#(mark(X1), X2, X3) -> c_28(U11^#(X1, X2, X3)) :28 52: proper^#(tt()) -> c_52() 53: proper^#(U12(X1, X2)) -> c_53(U12^#(proper(X1), proper(X2))) -->_1 U12^#(ok(X1), ok(X2)) -> c_31(U12^#(X1, X2)) :31 -->_1 U12^#(mark(X1), X2) -> c_30(U12^#(X1, X2)) :30 54: proper^#(isNat(X)) -> c_54(isNat^#(proper(X))) -->_1 isNat^#(ok(X)) -> c_32(isNat^#(X)) :50 55: proper^#(U13(X)) -> c_55(U13^#(proper(X))) -->_1 U13^#(ok(X)) -> c_34(U13^#(X)) :33 -->_1 U13^#(mark(X)) -> c_33(U13^#(X)) :32 56: proper^#(U21(X1, X2)) -> c_56(U21^#(proper(X1), proper(X2))) -->_1 U21^#(ok(X1), ok(X2)) -> c_36(U21^#(X1, X2)) :35 -->_1 U21^#(mark(X1), X2) -> c_35(U21^#(X1, X2)) :34 57: proper^#(U22(X)) -> c_57(U22^#(proper(X))) -->_1 U22^#(ok(X)) -> c_38(U22^#(X)) :37 -->_1 U22^#(mark(X)) -> c_37(U22^#(X)) :36 58: proper^#(U31(X1, X2)) -> c_58(U31^#(proper(X1), proper(X2))) -->_1 U31^#(ok(X1), ok(X2)) -> c_40(U31^#(X1, X2)) :39 -->_1 U31^#(mark(X1), X2) -> c_39(U31^#(X1, X2)) :38 59: proper^#(U41(X1, X2, X3)) -> c_59(U41^#(proper(X1), proper(X2), proper(X3))) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_42(U41^#(X1, X2, X3)) :41 -->_1 U41^#(mark(X1), X2, X3) -> c_41(U41^#(X1, X2, X3)) :40 60: proper^#(s(X)) -> c_60(s^#(proper(X))) -->_1 s^#(ok(X)) -> c_44(s^#(X)) :43 -->_1 s^#(mark(X)) -> c_43(s^#(X)) :42 61: proper^#(plus(X1, X2)) -> c_61(plus^#(proper(X1), proper(X2))) -->_1 plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) :46 -->_1 plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) :45 -->_1 plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) :44 62: proper^#(and(X1, X2)) -> c_62(and^#(proper(X1), proper(X2))) -->_1 and^#(ok(X1), ok(X2)) -> c_49(and^#(X1, X2)) :48 -->_1 and^#(mark(X1), X2) -> c_48(and^#(X1, X2)) :47 63: proper^#(0()) -> c_63() 64: proper^#(isNatKind(X)) -> c_64(isNatKind^#(proper(X))) -->_1 isNatKind^#(ok(X)) -> c_50(isNatKind^#(X)) :49 65: top^#(mark(X)) -> c_65(top^#(proper(X))) -->_1 top^#(ok(X)) -> c_66(top^#(active(X))) :66 -->_1 top^#(mark(X)) -> c_65(top^#(proper(X))) :65 66: top^#(ok(X)) -> c_66(top^#(active(X))) -->_1 top^#(ok(X)) -> c_66(top^#(active(X))) :66 -->_1 top^#(mark(X)) -> c_65(top^#(proper(X))) :65 Only the nodes {28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,46,45,47,48,49,50,52,63,65,66} are reachable from nodes {28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,52,63,65,66} 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_28(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_29(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2) -> c_30(U12^#(X1, X2)) , U12^#(ok(X1), ok(X2)) -> c_31(U12^#(X1, X2)) , U13^#(mark(X)) -> c_33(U13^#(X)) , U13^#(ok(X)) -> c_34(U13^#(X)) , U21^#(mark(X1), X2) -> c_35(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_36(U21^#(X1, X2)) , U22^#(mark(X)) -> c_37(U22^#(X)) , U22^#(ok(X)) -> c_38(U22^#(X)) , U31^#(mark(X1), X2) -> c_39(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_40(U31^#(X1, X2)) , U41^#(mark(X1), X2, X3) -> c_41(U41^#(X1, X2, X3)) , U41^#(ok(X1), ok(X2), ok(X3)) -> c_42(U41^#(X1, X2, X3)) , s^#(mark(X)) -> c_43(s^#(X)) , s^#(ok(X)) -> c_44(s^#(X)) , plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) , and^#(mark(X1), X2) -> c_48(and^#(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_49(and^#(X1, X2)) , isNatKind^#(ok(X)) -> c_50(isNatKind^#(X)) , isNat^#(ok(X)) -> c_32(isNat^#(X)) , proper^#(tt()) -> c_52() , proper^#(0()) -> c_63() , top^#(mark(X)) -> c_65(top^#(proper(X))) , top^#(ok(X)) -> c_66(top^#(active(X))) } Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)) , active(U12(X1, X2)) -> U12(active(X1), X2) , active(U12(tt(), V2)) -> mark(U13(isNat(V2))) , active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) , active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)) , active(isNat(0())) -> mark(tt()) , active(U13(X)) -> U13(active(X)) , active(U13(tt())) -> mark(tt()) , active(U21(X1, X2)) -> U21(active(X1), X2) , active(U21(tt(), V1)) -> mark(U22(isNat(V1))) , active(U22(X)) -> U22(active(X)) , active(U22(tt())) -> mark(tt()) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), N)) -> mark(N) , active(U41(X1, X2, X3)) -> U41(active(X1), X2, X3) , active(U41(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(U41(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)) , active(plus(N, 0())) -> mark(U31(and(isNat(N), isNatKind(N)), N)) , active(and(X1, X2)) -> and(active(X1), X2) , active(and(tt(), X)) -> mark(X) , active(isNatKind(s(V1))) -> mark(isNatKind(V1)) , active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))) , active(isNatKind(0())) -> mark(tt()) , 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) -> mark(U12(X1, X2)) , U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)) , isNat(ok(X)) -> ok(isNat(X)) , U13(mark(X)) -> mark(U13(X)) , U13(ok(X)) -> ok(U13(X)) , U21(mark(X1), X2) -> mark(U21(X1, X2)) , U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)) , U22(mark(X)) -> mark(U22(X)) , U22(ok(X)) -> ok(U22(X)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U41(mark(X1), X2, X3) -> mark(U41(X1, X2, X3)) , U41(ok(X1), ok(X2), ok(X3)) -> ok(U41(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)) , and(mark(X1), X2) -> mark(and(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , isNatKind(ok(X)) -> ok(isNatKind(X)) , proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U13(X)) -> U13(proper(X)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X)) -> U22(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U41(X1, X2, X3)) -> U41(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(isNatKind(X)) -> isNatKind(proper(X)) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {24,25} by applications of Pre({24,25}) = {}. Here rules are labeled as follows: DPs: { 1: U11^#(mark(X1), X2, X3) -> c_28(U11^#(X1, X2, X3)) , 2: U11^#(ok(X1), ok(X2), ok(X3)) -> c_29(U11^#(X1, X2, X3)) , 3: U12^#(mark(X1), X2) -> c_30(U12^#(X1, X2)) , 4: U12^#(ok(X1), ok(X2)) -> c_31(U12^#(X1, X2)) , 5: U13^#(mark(X)) -> c_33(U13^#(X)) , 6: U13^#(ok(X)) -> c_34(U13^#(X)) , 7: U21^#(mark(X1), X2) -> c_35(U21^#(X1, X2)) , 8: U21^#(ok(X1), ok(X2)) -> c_36(U21^#(X1, X2)) , 9: U22^#(mark(X)) -> c_37(U22^#(X)) , 10: U22^#(ok(X)) -> c_38(U22^#(X)) , 11: U31^#(mark(X1), X2) -> c_39(U31^#(X1, X2)) , 12: U31^#(ok(X1), ok(X2)) -> c_40(U31^#(X1, X2)) , 13: U41^#(mark(X1), X2, X3) -> c_41(U41^#(X1, X2, X3)) , 14: U41^#(ok(X1), ok(X2), ok(X3)) -> c_42(U41^#(X1, X2, X3)) , 15: s^#(mark(X)) -> c_43(s^#(X)) , 16: s^#(ok(X)) -> c_44(s^#(X)) , 17: plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) , 18: plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) , 19: plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) , 20: and^#(mark(X1), X2) -> c_48(and^#(X1, X2)) , 21: and^#(ok(X1), ok(X2)) -> c_49(and^#(X1, X2)) , 22: isNatKind^#(ok(X)) -> c_50(isNatKind^#(X)) , 23: isNat^#(ok(X)) -> c_32(isNat^#(X)) , 24: proper^#(tt()) -> c_52() , 25: proper^#(0()) -> c_63() , 26: top^#(mark(X)) -> c_65(top^#(proper(X))) , 27: top^#(ok(X)) -> c_66(top^#(active(X))) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { U11^#(mark(X1), X2, X3) -> c_28(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_29(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2) -> c_30(U12^#(X1, X2)) , U12^#(ok(X1), ok(X2)) -> c_31(U12^#(X1, X2)) , U13^#(mark(X)) -> c_33(U13^#(X)) , U13^#(ok(X)) -> c_34(U13^#(X)) , U21^#(mark(X1), X2) -> c_35(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_36(U21^#(X1, X2)) , U22^#(mark(X)) -> c_37(U22^#(X)) , U22^#(ok(X)) -> c_38(U22^#(X)) , U31^#(mark(X1), X2) -> c_39(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_40(U31^#(X1, X2)) , U41^#(mark(X1), X2, X3) -> c_41(U41^#(X1, X2, X3)) , U41^#(ok(X1), ok(X2), ok(X3)) -> c_42(U41^#(X1, X2, X3)) , s^#(mark(X)) -> c_43(s^#(X)) , s^#(ok(X)) -> c_44(s^#(X)) , plus^#(X1, mark(X2)) -> c_45(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_46(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_47(plus^#(X1, X2)) , and^#(mark(X1), X2) -> c_48(and^#(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_49(and^#(X1, X2)) , isNatKind^#(ok(X)) -> c_50(isNatKind^#(X)) , isNat^#(ok(X)) -> c_32(isNat^#(X)) , top^#(mark(X)) -> c_65(top^#(proper(X))) , top^#(ok(X)) -> c_66(top^#(active(X))) } Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)) , active(U12(X1, X2)) -> U12(active(X1), X2) , active(U12(tt(), V2)) -> mark(U13(isNat(V2))) , active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) , active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)) , active(isNat(0())) -> mark(tt()) , active(U13(X)) -> U13(active(X)) , active(U13(tt())) -> mark(tt()) , active(U21(X1, X2)) -> U21(active(X1), X2) , active(U21(tt(), V1)) -> mark(U22(isNat(V1))) , active(U22(X)) -> U22(active(X)) , active(U22(tt())) -> mark(tt()) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), N)) -> mark(N) , active(U41(X1, X2, X3)) -> U41(active(X1), X2, X3) , active(U41(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(U41(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)) , active(plus(N, 0())) -> mark(U31(and(isNat(N), isNatKind(N)), N)) , active(and(X1, X2)) -> and(active(X1), X2) , active(and(tt(), X)) -> mark(X) , active(isNatKind(s(V1))) -> mark(isNatKind(V1)) , active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))) , active(isNatKind(0())) -> mark(tt()) , 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) -> mark(U12(X1, X2)) , U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)) , isNat(ok(X)) -> ok(isNat(X)) , U13(mark(X)) -> mark(U13(X)) , U13(ok(X)) -> ok(U13(X)) , U21(mark(X1), X2) -> mark(U21(X1, X2)) , U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)) , U22(mark(X)) -> mark(U22(X)) , U22(ok(X)) -> ok(U22(X)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U41(mark(X1), X2, X3) -> mark(U41(X1, X2, X3)) , U41(ok(X1), ok(X2), ok(X3)) -> ok(U41(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)) , and(mark(X1), X2) -> mark(and(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , isNatKind(ok(X)) -> ok(isNatKind(X)) , proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U13(X)) -> U13(proper(X)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X)) -> U22(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U41(X1, X2, X3)) -> U41(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(isNatKind(X)) -> isNatKind(proper(X)) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Weak DPs: { proper^#(tt()) -> c_52() , proper^#(0()) -> c_63() } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..