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(isNatKind(V1), V1, V2)) , active(U12(X1, X2, X3)) -> U12(active(X1), X2, X3) , active(U12(tt(), V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) , active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) , active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) , active(isNatKind(0())) -> mark(tt()) , active(U13(X1, X2, X3)) -> U13(active(X1), X2, X3) , active(U13(tt(), V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) , active(U14(X1, X2, X3)) -> U14(active(X1), X2, X3) , active(U14(tt(), V1, V2)) -> mark(U15(isNat(V1), V2)) , active(U15(X1, X2)) -> U15(active(X1), X2) , active(U15(tt(), V2)) -> mark(U16(isNat(V2))) , active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) , active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) , active(isNat(0())) -> mark(tt()) , active(U16(X)) -> U16(active(X)) , active(U16(tt())) -> mark(tt()) , active(U21(X1, X2)) -> U21(active(X1), X2) , active(U21(tt(), V1)) -> mark(U22(isNatKind(V1), V1)) , active(U22(X1, X2)) -> U22(active(X1), X2) , active(U22(tt(), V1)) -> mark(U23(isNat(V1))) , active(U23(X)) -> U23(active(X)) , active(U23(tt())) -> mark(tt()) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), V2)) -> mark(U32(isNatKind(V2))) , active(U32(X)) -> U32(active(X)) , active(U32(tt())) -> mark(tt()) , active(U41(X)) -> U41(active(X)) , active(U41(tt())) -> mark(tt()) , active(U51(X1, X2)) -> U51(active(X1), X2) , active(U51(tt(), N)) -> mark(U52(isNatKind(N), N)) , active(U52(X1, X2)) -> U52(active(X1), X2) , active(U52(tt(), N)) -> mark(N) , active(U61(X1, X2, X3)) -> U61(active(X1), X2, X3) , active(U61(tt(), M, N)) -> mark(U62(isNatKind(M), M, N)) , active(U62(X1, X2, X3)) -> U62(active(X1), X2, X3) , active(U62(tt(), M, N)) -> mark(U63(isNat(N), M, N)) , active(U63(X1, X2, X3)) -> U63(active(X1), X2, X3) , active(U63(tt(), M, N)) -> mark(U64(isNatKind(N), M, N)) , active(U64(X1, X2, X3)) -> U64(active(X1), X2, X3) , active(U64(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(U61(isNat(M), M, N)) , active(plus(N, 0())) -> mark(U51(isNat(N), N)) , 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)) , isNatKind(ok(X)) -> ok(isNatKind(X)) , U13(mark(X1), X2, X3) -> mark(U13(X1, X2, X3)) , U13(ok(X1), ok(X2), ok(X3)) -> ok(U13(X1, X2, X3)) , U14(mark(X1), X2, X3) -> mark(U14(X1, X2, X3)) , U14(ok(X1), ok(X2), ok(X3)) -> ok(U14(X1, X2, X3)) , U15(mark(X1), X2) -> mark(U15(X1, X2)) , U15(ok(X1), ok(X2)) -> ok(U15(X1, X2)) , isNat(ok(X)) -> ok(isNat(X)) , U16(mark(X)) -> mark(U16(X)) , U16(ok(X)) -> ok(U16(X)) , U21(mark(X1), X2) -> mark(U21(X1, X2)) , U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)) , U22(mark(X1), X2) -> mark(U22(X1, X2)) , U22(ok(X1), ok(X2)) -> ok(U22(X1, X2)) , U23(mark(X)) -> mark(U23(X)) , U23(ok(X)) -> ok(U23(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(X)) -> mark(U41(X)) , U41(ok(X)) -> ok(U41(X)) , U51(mark(X1), X2) -> mark(U51(X1, X2)) , U51(ok(X1), ok(X2)) -> ok(U51(X1, X2)) , U52(mark(X1), X2) -> mark(U52(X1, X2)) , U52(ok(X1), ok(X2)) -> ok(U52(X1, X2)) , U61(mark(X1), X2, X3) -> mark(U61(X1, X2, X3)) , U61(ok(X1), ok(X2), ok(X3)) -> ok(U61(X1, X2, X3)) , U62(mark(X1), X2, X3) -> mark(U62(X1, X2, X3)) , U62(ok(X1), ok(X2), ok(X3)) -> ok(U62(X1, X2, X3)) , U63(mark(X1), X2, X3) -> mark(U63(X1, X2, X3)) , U63(ok(X1), ok(X2), ok(X3)) -> ok(U63(X1, X2, X3)) , U64(mark(X1), X2, X3) -> mark(U64(X1, X2, X3)) , U64(ok(X1), ok(X2), ok(X3)) -> ok(U64(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)) , 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(isNatKind(X)) -> isNatKind(proper(X)) , proper(U13(X1, X2, X3)) -> U13(proper(X1), proper(X2), proper(X3)) , proper(U14(X1, X2, X3)) -> U14(proper(X1), proper(X2), proper(X3)) , proper(U15(X1, X2)) -> U15(proper(X1), proper(X2)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U16(X)) -> U16(proper(X)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X1, X2)) -> U22(proper(X1), proper(X2)) , proper(U23(X)) -> U23(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X)) -> U32(proper(X)) , proper(U41(X)) -> U41(proper(X)) , proper(U51(X1, X2)) -> U51(proper(X1), proper(X2)) , proper(U52(X1, X2)) -> U52(proper(X1), proper(X2)) , proper(U61(X1, X2, X3)) -> U61(proper(X1), proper(X2), proper(X3)) , proper(U62(X1, X2, X3)) -> U62(proper(X1), proper(X2), proper(X3)) , proper(U63(X1, X2, X3)) -> U63(proper(X1), proper(X2), proper(X3)) , proper(U64(X1, X2, X3)) -> U64(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(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) '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) '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) '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^#(isNatKind(V1), V1, V2)) , active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) , active^#(U12(tt(), V1, V2)) -> c_4(U13^#(isNatKind(V2), V1, V2)) , active^#(isNatKind(s(V1))) -> c_5(U41^#(isNatKind(V1))) , active^#(isNatKind(plus(V1, V2))) -> c_6(U31^#(isNatKind(V1), V2)) , active^#(isNatKind(0())) -> c_7() , active^#(U13(X1, X2, X3)) -> c_8(U13^#(active(X1), X2, X3)) , active^#(U13(tt(), V1, V2)) -> c_9(U14^#(isNatKind(V2), V1, V2)) , active^#(U14(X1, X2, X3)) -> c_10(U14^#(active(X1), X2, X3)) , active^#(U14(tt(), V1, V2)) -> c_11(U15^#(isNat(V1), V2)) , active^#(U15(X1, X2)) -> c_12(U15^#(active(X1), X2)) , active^#(U15(tt(), V2)) -> c_13(U16^#(isNat(V2))) , active^#(isNat(s(V1))) -> c_14(U21^#(isNatKind(V1), V1)) , active^#(isNat(plus(V1, V2))) -> c_15(U11^#(isNatKind(V1), V1, V2)) , active^#(isNat(0())) -> c_16() , active^#(U16(X)) -> c_17(U16^#(active(X))) , active^#(U16(tt())) -> c_18() , active^#(U21(X1, X2)) -> c_19(U21^#(active(X1), X2)) , active^#(U21(tt(), V1)) -> c_20(U22^#(isNatKind(V1), V1)) , active^#(U22(X1, X2)) -> c_21(U22^#(active(X1), X2)) , active^#(U22(tt(), V1)) -> c_22(U23^#(isNat(V1))) , active^#(U23(X)) -> c_23(U23^#(active(X))) , active^#(U23(tt())) -> c_24() , active^#(U31(X1, X2)) -> c_25(U31^#(active(X1), X2)) , active^#(U31(tt(), V2)) -> c_26(U32^#(isNatKind(V2))) , active^#(U32(X)) -> c_27(U32^#(active(X))) , active^#(U32(tt())) -> c_28() , active^#(U41(X)) -> c_29(U41^#(active(X))) , active^#(U41(tt())) -> c_30() , active^#(U51(X1, X2)) -> c_31(U51^#(active(X1), X2)) , active^#(U51(tt(), N)) -> c_32(U52^#(isNatKind(N), N)) , active^#(U52(X1, X2)) -> c_33(U52^#(active(X1), X2)) , active^#(U52(tt(), N)) -> c_34(N) , active^#(U61(X1, X2, X3)) -> c_35(U61^#(active(X1), X2, X3)) , active^#(U61(tt(), M, N)) -> c_36(U62^#(isNatKind(M), M, N)) , active^#(U62(X1, X2, X3)) -> c_37(U62^#(active(X1), X2, X3)) , active^#(U62(tt(), M, N)) -> c_38(U63^#(isNat(N), M, N)) , active^#(U63(X1, X2, X3)) -> c_39(U63^#(active(X1), X2, X3)) , active^#(U63(tt(), M, N)) -> c_40(U64^#(isNatKind(N), M, N)) , active^#(U64(X1, X2, X3)) -> c_41(U64^#(active(X1), X2, X3)) , active^#(U64(tt(), M, N)) -> c_42(s^#(plus(N, M))) , active^#(s(X)) -> c_43(s^#(active(X))) , active^#(plus(X1, X2)) -> c_44(plus^#(X1, active(X2))) , active^#(plus(X1, X2)) -> c_45(plus^#(active(X1), X2)) , active^#(plus(N, s(M))) -> c_46(U61^#(isNat(M), M, N)) , active^#(plus(N, 0())) -> c_47(U51^#(isNat(N), N)) , U11^#(mark(X1), X2, X3) -> c_48(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_49(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2, X3) -> c_50(U12^#(X1, X2, X3)) , U12^#(ok(X1), ok(X2), ok(X3)) -> c_51(U12^#(X1, X2, X3)) , U13^#(mark(X1), X2, X3) -> c_53(U13^#(X1, X2, X3)) , U13^#(ok(X1), ok(X2), ok(X3)) -> c_54(U13^#(X1, X2, X3)) , U41^#(mark(X)) -> c_72(U41^#(X)) , U41^#(ok(X)) -> c_73(U41^#(X)) , U31^#(mark(X1), X2) -> c_68(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_69(U31^#(X1, X2)) , U14^#(mark(X1), X2, X3) -> c_55(U14^#(X1, X2, X3)) , U14^#(ok(X1), ok(X2), ok(X3)) -> c_56(U14^#(X1, X2, X3)) , U15^#(mark(X1), X2) -> c_57(U15^#(X1, X2)) , U15^#(ok(X1), ok(X2)) -> c_58(U15^#(X1, X2)) , U16^#(mark(X)) -> c_60(U16^#(X)) , U16^#(ok(X)) -> c_61(U16^#(X)) , U21^#(mark(X1), X2) -> c_62(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_63(U21^#(X1, X2)) , U22^#(mark(X1), X2) -> c_64(U22^#(X1, X2)) , U22^#(ok(X1), ok(X2)) -> c_65(U22^#(X1, X2)) , U23^#(mark(X)) -> c_66(U23^#(X)) , U23^#(ok(X)) -> c_67(U23^#(X)) , U32^#(mark(X)) -> c_70(U32^#(X)) , U32^#(ok(X)) -> c_71(U32^#(X)) , U51^#(mark(X1), X2) -> c_74(U51^#(X1, X2)) , U51^#(ok(X1), ok(X2)) -> c_75(U51^#(X1, X2)) , U52^#(mark(X1), X2) -> c_76(U52^#(X1, X2)) , U52^#(ok(X1), ok(X2)) -> c_77(U52^#(X1, X2)) , U61^#(mark(X1), X2, X3) -> c_78(U61^#(X1, X2, X3)) , U61^#(ok(X1), ok(X2), ok(X3)) -> c_79(U61^#(X1, X2, X3)) , U62^#(mark(X1), X2, X3) -> c_80(U62^#(X1, X2, X3)) , U62^#(ok(X1), ok(X2), ok(X3)) -> c_81(U62^#(X1, X2, X3)) , U63^#(mark(X1), X2, X3) -> c_82(U63^#(X1, X2, X3)) , U63^#(ok(X1), ok(X2), ok(X3)) -> c_83(U63^#(X1, X2, X3)) , U64^#(mark(X1), X2, X3) -> c_84(U64^#(X1, X2, X3)) , U64^#(ok(X1), ok(X2), ok(X3)) -> c_85(U64^#(X1, X2, X3)) , s^#(mark(X)) -> c_86(s^#(X)) , s^#(ok(X)) -> c_87(s^#(X)) , plus^#(X1, mark(X2)) -> c_88(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_89(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_90(plus^#(X1, X2)) , isNatKind^#(ok(X)) -> c_52(isNatKind^#(X)) , isNat^#(ok(X)) -> c_59(isNat^#(X)) , proper^#(U11(X1, X2, X3)) -> c_91(U11^#(proper(X1), proper(X2), proper(X3))) , proper^#(tt()) -> c_92() , proper^#(U12(X1, X2, X3)) -> c_93(U12^#(proper(X1), proper(X2), proper(X3))) , proper^#(isNatKind(X)) -> c_94(isNatKind^#(proper(X))) , proper^#(U13(X1, X2, X3)) -> c_95(U13^#(proper(X1), proper(X2), proper(X3))) , proper^#(U14(X1, X2, X3)) -> c_96(U14^#(proper(X1), proper(X2), proper(X3))) , proper^#(U15(X1, X2)) -> c_97(U15^#(proper(X1), proper(X2))) , proper^#(isNat(X)) -> c_98(isNat^#(proper(X))) , proper^#(U16(X)) -> c_99(U16^#(proper(X))) , proper^#(U21(X1, X2)) -> c_100(U21^#(proper(X1), proper(X2))) , proper^#(U22(X1, X2)) -> c_101(U22^#(proper(X1), proper(X2))) , proper^#(U23(X)) -> c_102(U23^#(proper(X))) , proper^#(U31(X1, X2)) -> c_103(U31^#(proper(X1), proper(X2))) , proper^#(U32(X)) -> c_104(U32^#(proper(X))) , proper^#(U41(X)) -> c_105(U41^#(proper(X))) , proper^#(U51(X1, X2)) -> c_106(U51^#(proper(X1), proper(X2))) , proper^#(U52(X1, X2)) -> c_107(U52^#(proper(X1), proper(X2))) , proper^#(U61(X1, X2, X3)) -> c_108(U61^#(proper(X1), proper(X2), proper(X3))) , proper^#(U62(X1, X2, X3)) -> c_109(U62^#(proper(X1), proper(X2), proper(X3))) , proper^#(U63(X1, X2, X3)) -> c_110(U63^#(proper(X1), proper(X2), proper(X3))) , proper^#(U64(X1, X2, X3)) -> c_111(U64^#(proper(X1), proper(X2), proper(X3))) , proper^#(s(X)) -> c_112(s^#(proper(X))) , proper^#(plus(X1, X2)) -> c_113(plus^#(proper(X1), proper(X2))) , proper^#(0()) -> c_114() , top^#(mark(X)) -> c_115(top^#(proper(X))) , top^#(ok(X)) -> c_116(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^#(isNatKind(V1), V1, V2)) , active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) , active^#(U12(tt(), V1, V2)) -> c_4(U13^#(isNatKind(V2), V1, V2)) , active^#(isNatKind(s(V1))) -> c_5(U41^#(isNatKind(V1))) , active^#(isNatKind(plus(V1, V2))) -> c_6(U31^#(isNatKind(V1), V2)) , active^#(isNatKind(0())) -> c_7() , active^#(U13(X1, X2, X3)) -> c_8(U13^#(active(X1), X2, X3)) , active^#(U13(tt(), V1, V2)) -> c_9(U14^#(isNatKind(V2), V1, V2)) , active^#(U14(X1, X2, X3)) -> c_10(U14^#(active(X1), X2, X3)) , active^#(U14(tt(), V1, V2)) -> c_11(U15^#(isNat(V1), V2)) , active^#(U15(X1, X2)) -> c_12(U15^#(active(X1), X2)) , active^#(U15(tt(), V2)) -> c_13(U16^#(isNat(V2))) , active^#(isNat(s(V1))) -> c_14(U21^#(isNatKind(V1), V1)) , active^#(isNat(plus(V1, V2))) -> c_15(U11^#(isNatKind(V1), V1, V2)) , active^#(isNat(0())) -> c_16() , active^#(U16(X)) -> c_17(U16^#(active(X))) , active^#(U16(tt())) -> c_18() , active^#(U21(X1, X2)) -> c_19(U21^#(active(X1), X2)) , active^#(U21(tt(), V1)) -> c_20(U22^#(isNatKind(V1), V1)) , active^#(U22(X1, X2)) -> c_21(U22^#(active(X1), X2)) , active^#(U22(tt(), V1)) -> c_22(U23^#(isNat(V1))) , active^#(U23(X)) -> c_23(U23^#(active(X))) , active^#(U23(tt())) -> c_24() , active^#(U31(X1, X2)) -> c_25(U31^#(active(X1), X2)) , active^#(U31(tt(), V2)) -> c_26(U32^#(isNatKind(V2))) , active^#(U32(X)) -> c_27(U32^#(active(X))) , active^#(U32(tt())) -> c_28() , active^#(U41(X)) -> c_29(U41^#(active(X))) , active^#(U41(tt())) -> c_30() , active^#(U51(X1, X2)) -> c_31(U51^#(active(X1), X2)) , active^#(U51(tt(), N)) -> c_32(U52^#(isNatKind(N), N)) , active^#(U52(X1, X2)) -> c_33(U52^#(active(X1), X2)) , active^#(U52(tt(), N)) -> c_34(N) , active^#(U61(X1, X2, X3)) -> c_35(U61^#(active(X1), X2, X3)) , active^#(U61(tt(), M, N)) -> c_36(U62^#(isNatKind(M), M, N)) , active^#(U62(X1, X2, X3)) -> c_37(U62^#(active(X1), X2, X3)) , active^#(U62(tt(), M, N)) -> c_38(U63^#(isNat(N), M, N)) , active^#(U63(X1, X2, X3)) -> c_39(U63^#(active(X1), X2, X3)) , active^#(U63(tt(), M, N)) -> c_40(U64^#(isNatKind(N), M, N)) , active^#(U64(X1, X2, X3)) -> c_41(U64^#(active(X1), X2, X3)) , active^#(U64(tt(), M, N)) -> c_42(s^#(plus(N, M))) , active^#(s(X)) -> c_43(s^#(active(X))) , active^#(plus(X1, X2)) -> c_44(plus^#(X1, active(X2))) , active^#(plus(X1, X2)) -> c_45(plus^#(active(X1), X2)) , active^#(plus(N, s(M))) -> c_46(U61^#(isNat(M), M, N)) , active^#(plus(N, 0())) -> c_47(U51^#(isNat(N), N)) , U11^#(mark(X1), X2, X3) -> c_48(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_49(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2, X3) -> c_50(U12^#(X1, X2, X3)) , U12^#(ok(X1), ok(X2), ok(X3)) -> c_51(U12^#(X1, X2, X3)) , U13^#(mark(X1), X2, X3) -> c_53(U13^#(X1, X2, X3)) , U13^#(ok(X1), ok(X2), ok(X3)) -> c_54(U13^#(X1, X2, X3)) , U41^#(mark(X)) -> c_72(U41^#(X)) , U41^#(ok(X)) -> c_73(U41^#(X)) , U31^#(mark(X1), X2) -> c_68(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_69(U31^#(X1, X2)) , U14^#(mark(X1), X2, X3) -> c_55(U14^#(X1, X2, X3)) , U14^#(ok(X1), ok(X2), ok(X3)) -> c_56(U14^#(X1, X2, X3)) , U15^#(mark(X1), X2) -> c_57(U15^#(X1, X2)) , U15^#(ok(X1), ok(X2)) -> c_58(U15^#(X1, X2)) , U16^#(mark(X)) -> c_60(U16^#(X)) , U16^#(ok(X)) -> c_61(U16^#(X)) , U21^#(mark(X1), X2) -> c_62(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_63(U21^#(X1, X2)) , U22^#(mark(X1), X2) -> c_64(U22^#(X1, X2)) , U22^#(ok(X1), ok(X2)) -> c_65(U22^#(X1, X2)) , U23^#(mark(X)) -> c_66(U23^#(X)) , U23^#(ok(X)) -> c_67(U23^#(X)) , U32^#(mark(X)) -> c_70(U32^#(X)) , U32^#(ok(X)) -> c_71(U32^#(X)) , U51^#(mark(X1), X2) -> c_74(U51^#(X1, X2)) , U51^#(ok(X1), ok(X2)) -> c_75(U51^#(X1, X2)) , U52^#(mark(X1), X2) -> c_76(U52^#(X1, X2)) , U52^#(ok(X1), ok(X2)) -> c_77(U52^#(X1, X2)) , U61^#(mark(X1), X2, X3) -> c_78(U61^#(X1, X2, X3)) , U61^#(ok(X1), ok(X2), ok(X3)) -> c_79(U61^#(X1, X2, X3)) , U62^#(mark(X1), X2, X3) -> c_80(U62^#(X1, X2, X3)) , U62^#(ok(X1), ok(X2), ok(X3)) -> c_81(U62^#(X1, X2, X3)) , U63^#(mark(X1), X2, X3) -> c_82(U63^#(X1, X2, X3)) , U63^#(ok(X1), ok(X2), ok(X3)) -> c_83(U63^#(X1, X2, X3)) , U64^#(mark(X1), X2, X3) -> c_84(U64^#(X1, X2, X3)) , U64^#(ok(X1), ok(X2), ok(X3)) -> c_85(U64^#(X1, X2, X3)) , s^#(mark(X)) -> c_86(s^#(X)) , s^#(ok(X)) -> c_87(s^#(X)) , plus^#(X1, mark(X2)) -> c_88(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_89(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_90(plus^#(X1, X2)) , isNatKind^#(ok(X)) -> c_52(isNatKind^#(X)) , isNat^#(ok(X)) -> c_59(isNat^#(X)) , proper^#(U11(X1, X2, X3)) -> c_91(U11^#(proper(X1), proper(X2), proper(X3))) , proper^#(tt()) -> c_92() , proper^#(U12(X1, X2, X3)) -> c_93(U12^#(proper(X1), proper(X2), proper(X3))) , proper^#(isNatKind(X)) -> c_94(isNatKind^#(proper(X))) , proper^#(U13(X1, X2, X3)) -> c_95(U13^#(proper(X1), proper(X2), proper(X3))) , proper^#(U14(X1, X2, X3)) -> c_96(U14^#(proper(X1), proper(X2), proper(X3))) , proper^#(U15(X1, X2)) -> c_97(U15^#(proper(X1), proper(X2))) , proper^#(isNat(X)) -> c_98(isNat^#(proper(X))) , proper^#(U16(X)) -> c_99(U16^#(proper(X))) , proper^#(U21(X1, X2)) -> c_100(U21^#(proper(X1), proper(X2))) , proper^#(U22(X1, X2)) -> c_101(U22^#(proper(X1), proper(X2))) , proper^#(U23(X)) -> c_102(U23^#(proper(X))) , proper^#(U31(X1, X2)) -> c_103(U31^#(proper(X1), proper(X2))) , proper^#(U32(X)) -> c_104(U32^#(proper(X))) , proper^#(U41(X)) -> c_105(U41^#(proper(X))) , proper^#(U51(X1, X2)) -> c_106(U51^#(proper(X1), proper(X2))) , proper^#(U52(X1, X2)) -> c_107(U52^#(proper(X1), proper(X2))) , proper^#(U61(X1, X2, X3)) -> c_108(U61^#(proper(X1), proper(X2), proper(X3))) , proper^#(U62(X1, X2, X3)) -> c_109(U62^#(proper(X1), proper(X2), proper(X3))) , proper^#(U63(X1, X2, X3)) -> c_110(U63^#(proper(X1), proper(X2), proper(X3))) , proper^#(U64(X1, X2, X3)) -> c_111(U64^#(proper(X1), proper(X2), proper(X3))) , proper^#(s(X)) -> c_112(s^#(proper(X))) , proper^#(plus(X1, X2)) -> c_113(plus^#(proper(X1), proper(X2))) , proper^#(0()) -> c_114() , top^#(mark(X)) -> c_115(top^#(proper(X))) , top^#(ok(X)) -> c_116(top^#(active(X))) } Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) , active(U12(X1, X2, X3)) -> U12(active(X1), X2, X3) , active(U12(tt(), V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) , active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) , active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) , active(isNatKind(0())) -> mark(tt()) , active(U13(X1, X2, X3)) -> U13(active(X1), X2, X3) , active(U13(tt(), V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) , active(U14(X1, X2, X3)) -> U14(active(X1), X2, X3) , active(U14(tt(), V1, V2)) -> mark(U15(isNat(V1), V2)) , active(U15(X1, X2)) -> U15(active(X1), X2) , active(U15(tt(), V2)) -> mark(U16(isNat(V2))) , active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) , active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) , active(isNat(0())) -> mark(tt()) , active(U16(X)) -> U16(active(X)) , active(U16(tt())) -> mark(tt()) , active(U21(X1, X2)) -> U21(active(X1), X2) , active(U21(tt(), V1)) -> mark(U22(isNatKind(V1), V1)) , active(U22(X1, X2)) -> U22(active(X1), X2) , active(U22(tt(), V1)) -> mark(U23(isNat(V1))) , active(U23(X)) -> U23(active(X)) , active(U23(tt())) -> mark(tt()) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), V2)) -> mark(U32(isNatKind(V2))) , active(U32(X)) -> U32(active(X)) , active(U32(tt())) -> mark(tt()) , active(U41(X)) -> U41(active(X)) , active(U41(tt())) -> mark(tt()) , active(U51(X1, X2)) -> U51(active(X1), X2) , active(U51(tt(), N)) -> mark(U52(isNatKind(N), N)) , active(U52(X1, X2)) -> U52(active(X1), X2) , active(U52(tt(), N)) -> mark(N) , active(U61(X1, X2, X3)) -> U61(active(X1), X2, X3) , active(U61(tt(), M, N)) -> mark(U62(isNatKind(M), M, N)) , active(U62(X1, X2, X3)) -> U62(active(X1), X2, X3) , active(U62(tt(), M, N)) -> mark(U63(isNat(N), M, N)) , active(U63(X1, X2, X3)) -> U63(active(X1), X2, X3) , active(U63(tt(), M, N)) -> mark(U64(isNatKind(N), M, N)) , active(U64(X1, X2, X3)) -> U64(active(X1), X2, X3) , active(U64(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(U61(isNat(M), M, N)) , active(plus(N, 0())) -> mark(U51(isNat(N), N)) , 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)) , isNatKind(ok(X)) -> ok(isNatKind(X)) , U13(mark(X1), X2, X3) -> mark(U13(X1, X2, X3)) , U13(ok(X1), ok(X2), ok(X3)) -> ok(U13(X1, X2, X3)) , U14(mark(X1), X2, X3) -> mark(U14(X1, X2, X3)) , U14(ok(X1), ok(X2), ok(X3)) -> ok(U14(X1, X2, X3)) , U15(mark(X1), X2) -> mark(U15(X1, X2)) , U15(ok(X1), ok(X2)) -> ok(U15(X1, X2)) , isNat(ok(X)) -> ok(isNat(X)) , U16(mark(X)) -> mark(U16(X)) , U16(ok(X)) -> ok(U16(X)) , U21(mark(X1), X2) -> mark(U21(X1, X2)) , U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)) , U22(mark(X1), X2) -> mark(U22(X1, X2)) , U22(ok(X1), ok(X2)) -> ok(U22(X1, X2)) , U23(mark(X)) -> mark(U23(X)) , U23(ok(X)) -> ok(U23(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(X)) -> mark(U41(X)) , U41(ok(X)) -> ok(U41(X)) , U51(mark(X1), X2) -> mark(U51(X1, X2)) , U51(ok(X1), ok(X2)) -> ok(U51(X1, X2)) , U52(mark(X1), X2) -> mark(U52(X1, X2)) , U52(ok(X1), ok(X2)) -> ok(U52(X1, X2)) , U61(mark(X1), X2, X3) -> mark(U61(X1, X2, X3)) , U61(ok(X1), ok(X2), ok(X3)) -> ok(U61(X1, X2, X3)) , U62(mark(X1), X2, X3) -> mark(U62(X1, X2, X3)) , U62(ok(X1), ok(X2), ok(X3)) -> ok(U62(X1, X2, X3)) , U63(mark(X1), X2, X3) -> mark(U63(X1, X2, X3)) , U63(ok(X1), ok(X2), ok(X3)) -> ok(U63(X1, X2, X3)) , U64(mark(X1), X2, X3) -> mark(U64(X1, X2, X3)) , U64(ok(X1), ok(X2), ok(X3)) -> ok(U64(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)) , 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(isNatKind(X)) -> isNatKind(proper(X)) , proper(U13(X1, X2, X3)) -> U13(proper(X1), proper(X2), proper(X3)) , proper(U14(X1, X2, X3)) -> U14(proper(X1), proper(X2), proper(X3)) , proper(U15(X1, X2)) -> U15(proper(X1), proper(X2)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U16(X)) -> U16(proper(X)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X1, X2)) -> U22(proper(X1), proper(X2)) , proper(U23(X)) -> U23(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X)) -> U32(proper(X)) , proper(U41(X)) -> U41(proper(X)) , proper(U51(X1, X2)) -> U51(proper(X1), proper(X2)) , proper(U52(X1, X2)) -> U52(proper(X1), proper(X2)) , proper(U61(X1, X2, X3)) -> U61(proper(X1), proper(X2), proper(X3)) , proper(U62(X1, X2, X3)) -> U62(proper(X1), proper(X2), proper(X3)) , proper(U63(X1, X2, X3)) -> U63(proper(X1), proper(X2), proper(X3)) , proper(U64(X1, X2, X3)) -> U64(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(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_49(U11^#(X1, X2, X3)) :49 -->_1 U11^#(mark(X1), X2, X3) -> c_48(U11^#(X1, X2, X3)) :48 2: active^#(U11(tt(), V1, V2)) -> c_2(U12^#(isNatKind(V1), V1, V2)) -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_51(U12^#(X1, X2, X3)) :51 -->_1 U12^#(mark(X1), X2, X3) -> c_50(U12^#(X1, X2, X3)) :50 3: active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_51(U12^#(X1, X2, X3)) :51 -->_1 U12^#(mark(X1), X2, X3) -> c_50(U12^#(X1, X2, X3)) :50 4: active^#(U12(tt(), V1, V2)) -> c_4(U13^#(isNatKind(V2), V1, V2)) -->_1 U13^#(ok(X1), ok(X2), ok(X3)) -> c_54(U13^#(X1, X2, X3)) :53 -->_1 U13^#(mark(X1), X2, X3) -> c_53(U13^#(X1, X2, X3)) :52 5: active^#(isNatKind(s(V1))) -> c_5(U41^#(isNatKind(V1))) -->_1 U41^#(ok(X)) -> c_73(U41^#(X)) :55 -->_1 U41^#(mark(X)) -> c_72(U41^#(X)) :54 6: active^#(isNatKind(plus(V1, V2))) -> c_6(U31^#(isNatKind(V1), V2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_69(U31^#(X1, X2)) :57 -->_1 U31^#(mark(X1), X2) -> c_68(U31^#(X1, X2)) :56 7: active^#(isNatKind(0())) -> c_7() 8: active^#(U13(X1, X2, X3)) -> c_8(U13^#(active(X1), X2, X3)) -->_1 U13^#(ok(X1), ok(X2), ok(X3)) -> c_54(U13^#(X1, X2, X3)) :53 -->_1 U13^#(mark(X1), X2, X3) -> c_53(U13^#(X1, X2, X3)) :52 9: active^#(U13(tt(), V1, V2)) -> c_9(U14^#(isNatKind(V2), V1, V2)) -->_1 U14^#(ok(X1), ok(X2), ok(X3)) -> c_56(U14^#(X1, X2, X3)) :59 -->_1 U14^#(mark(X1), X2, X3) -> c_55(U14^#(X1, X2, X3)) :58 10: active^#(U14(X1, X2, X3)) -> c_10(U14^#(active(X1), X2, X3)) -->_1 U14^#(ok(X1), ok(X2), ok(X3)) -> c_56(U14^#(X1, X2, X3)) :59 -->_1 U14^#(mark(X1), X2, X3) -> c_55(U14^#(X1, X2, X3)) :58 11: active^#(U14(tt(), V1, V2)) -> c_11(U15^#(isNat(V1), V2)) -->_1 U15^#(ok(X1), ok(X2)) -> c_58(U15^#(X1, X2)) :61 -->_1 U15^#(mark(X1), X2) -> c_57(U15^#(X1, X2)) :60 12: active^#(U15(X1, X2)) -> c_12(U15^#(active(X1), X2)) -->_1 U15^#(ok(X1), ok(X2)) -> c_58(U15^#(X1, X2)) :61 -->_1 U15^#(mark(X1), X2) -> c_57(U15^#(X1, X2)) :60 13: active^#(U15(tt(), V2)) -> c_13(U16^#(isNat(V2))) -->_1 U16^#(ok(X)) -> c_61(U16^#(X)) :63 -->_1 U16^#(mark(X)) -> c_60(U16^#(X)) :62 14: active^#(isNat(s(V1))) -> c_14(U21^#(isNatKind(V1), V1)) -->_1 U21^#(ok(X1), ok(X2)) -> c_63(U21^#(X1, X2)) :65 -->_1 U21^#(mark(X1), X2) -> c_62(U21^#(X1, X2)) :64 15: active^#(isNat(plus(V1, V2))) -> c_15(U11^#(isNatKind(V1), V1, V2)) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_49(U11^#(X1, X2, X3)) :49 -->_1 U11^#(mark(X1), X2, X3) -> c_48(U11^#(X1, X2, X3)) :48 16: active^#(isNat(0())) -> c_16() 17: active^#(U16(X)) -> c_17(U16^#(active(X))) -->_1 U16^#(ok(X)) -> c_61(U16^#(X)) :63 -->_1 U16^#(mark(X)) -> c_60(U16^#(X)) :62 18: active^#(U16(tt())) -> c_18() 19: active^#(U21(X1, X2)) -> c_19(U21^#(active(X1), X2)) -->_1 U21^#(ok(X1), ok(X2)) -> c_63(U21^#(X1, X2)) :65 -->_1 U21^#(mark(X1), X2) -> c_62(U21^#(X1, X2)) :64 20: active^#(U21(tt(), V1)) -> c_20(U22^#(isNatKind(V1), V1)) -->_1 U22^#(ok(X1), ok(X2)) -> c_65(U22^#(X1, X2)) :67 -->_1 U22^#(mark(X1), X2) -> c_64(U22^#(X1, X2)) :66 21: active^#(U22(X1, X2)) -> c_21(U22^#(active(X1), X2)) -->_1 U22^#(ok(X1), ok(X2)) -> c_65(U22^#(X1, X2)) :67 -->_1 U22^#(mark(X1), X2) -> c_64(U22^#(X1, X2)) :66 22: active^#(U22(tt(), V1)) -> c_22(U23^#(isNat(V1))) -->_1 U23^#(ok(X)) -> c_67(U23^#(X)) :69 -->_1 U23^#(mark(X)) -> c_66(U23^#(X)) :68 23: active^#(U23(X)) -> c_23(U23^#(active(X))) -->_1 U23^#(ok(X)) -> c_67(U23^#(X)) :69 -->_1 U23^#(mark(X)) -> c_66(U23^#(X)) :68 24: active^#(U23(tt())) -> c_24() 25: active^#(U31(X1, X2)) -> c_25(U31^#(active(X1), X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_69(U31^#(X1, X2)) :57 -->_1 U31^#(mark(X1), X2) -> c_68(U31^#(X1, X2)) :56 26: active^#(U31(tt(), V2)) -> c_26(U32^#(isNatKind(V2))) -->_1 U32^#(ok(X)) -> c_71(U32^#(X)) :71 -->_1 U32^#(mark(X)) -> c_70(U32^#(X)) :70 27: active^#(U32(X)) -> c_27(U32^#(active(X))) -->_1 U32^#(ok(X)) -> c_71(U32^#(X)) :71 -->_1 U32^#(mark(X)) -> c_70(U32^#(X)) :70 28: active^#(U32(tt())) -> c_28() 29: active^#(U41(X)) -> c_29(U41^#(active(X))) -->_1 U41^#(ok(X)) -> c_73(U41^#(X)) :55 -->_1 U41^#(mark(X)) -> c_72(U41^#(X)) :54 30: active^#(U41(tt())) -> c_30() 31: active^#(U51(X1, X2)) -> c_31(U51^#(active(X1), X2)) -->_1 U51^#(ok(X1), ok(X2)) -> c_75(U51^#(X1, X2)) :73 -->_1 U51^#(mark(X1), X2) -> c_74(U51^#(X1, X2)) :72 32: active^#(U51(tt(), N)) -> c_32(U52^#(isNatKind(N), N)) -->_1 U52^#(ok(X1), ok(X2)) -> c_77(U52^#(X1, X2)) :75 -->_1 U52^#(mark(X1), X2) -> c_76(U52^#(X1, X2)) :74 33: active^#(U52(X1, X2)) -> c_33(U52^#(active(X1), X2)) -->_1 U52^#(ok(X1), ok(X2)) -> c_77(U52^#(X1, X2)) :75 -->_1 U52^#(mark(X1), X2) -> c_76(U52^#(X1, X2)) :74 34: active^#(U52(tt(), N)) -> c_34(N) -->_1 top^#(ok(X)) -> c_116(top^#(active(X))) :116 -->_1 top^#(mark(X)) -> c_115(top^#(proper(X))) :115 -->_1 proper^#(plus(X1, X2)) -> c_113(plus^#(proper(X1), proper(X2))) :113 -->_1 proper^#(s(X)) -> c_112(s^#(proper(X))) :112 -->_1 proper^#(U64(X1, X2, X3)) -> c_111(U64^#(proper(X1), proper(X2), proper(X3))) :111 -->_1 proper^#(U63(X1, X2, X3)) -> c_110(U63^#(proper(X1), proper(X2), proper(X3))) :110 -->_1 proper^#(U62(X1, X2, X3)) -> c_109(U62^#(proper(X1), proper(X2), proper(X3))) :109 -->_1 proper^#(U61(X1, X2, X3)) -> c_108(U61^#(proper(X1), proper(X2), proper(X3))) :108 -->_1 proper^#(U52(X1, X2)) -> c_107(U52^#(proper(X1), proper(X2))) :107 -->_1 proper^#(U51(X1, X2)) -> c_106(U51^#(proper(X1), proper(X2))) :106 -->_1 proper^#(U41(X)) -> c_105(U41^#(proper(X))) :105 -->_1 proper^#(U32(X)) -> c_104(U32^#(proper(X))) :104 -->_1 proper^#(U31(X1, X2)) -> c_103(U31^#(proper(X1), proper(X2))) :103 -->_1 proper^#(U23(X)) -> c_102(U23^#(proper(X))) :102 -->_1 proper^#(U22(X1, X2)) -> c_101(U22^#(proper(X1), proper(X2))) :101 -->_1 proper^#(U21(X1, X2)) -> c_100(U21^#(proper(X1), proper(X2))) :100 -->_1 proper^#(U16(X)) -> c_99(U16^#(proper(X))) :99 -->_1 proper^#(isNat(X)) -> c_98(isNat^#(proper(X))) :98 -->_1 proper^#(U15(X1, X2)) -> c_97(U15^#(proper(X1), proper(X2))) :97 -->_1 proper^#(U14(X1, X2, X3)) -> c_96(U14^#(proper(X1), proper(X2), proper(X3))) :96 -->_1 proper^#(U13(X1, X2, X3)) -> c_95(U13^#(proper(X1), proper(X2), proper(X3))) :95 -->_1 proper^#(isNatKind(X)) -> c_94(isNatKind^#(proper(X))) :94 -->_1 proper^#(U12(X1, X2, X3)) -> c_93(U12^#(proper(X1), proper(X2), proper(X3))) :93 -->_1 proper^#(U11(X1, X2, X3)) -> c_91(U11^#(proper(X1), proper(X2), proper(X3))) :91 -->_1 isNat^#(ok(X)) -> c_59(isNat^#(X)) :90 -->_1 isNatKind^#(ok(X)) -> c_52(isNatKind^#(X)) :89 -->_1 plus^#(ok(X1), ok(X2)) -> c_90(plus^#(X1, X2)) :88 -->_1 plus^#(mark(X1), X2) -> c_89(plus^#(X1, X2)) :87 -->_1 plus^#(X1, mark(X2)) -> c_88(plus^#(X1, X2)) :86 -->_1 s^#(ok(X)) -> c_87(s^#(X)) :85 -->_1 s^#(mark(X)) -> c_86(s^#(X)) :84 -->_1 U64^#(ok(X1), ok(X2), ok(X3)) -> c_85(U64^#(X1, X2, X3)) :83 -->_1 U64^#(mark(X1), X2, X3) -> c_84(U64^#(X1, X2, X3)) :82 -->_1 U63^#(ok(X1), ok(X2), ok(X3)) -> c_83(U63^#(X1, X2, X3)) :81 -->_1 U63^#(mark(X1), X2, X3) -> c_82(U63^#(X1, X2, X3)) :80 -->_1 U62^#(ok(X1), ok(X2), ok(X3)) -> c_81(U62^#(X1, X2, X3)) :79 -->_1 U62^#(mark(X1), X2, X3) -> c_80(U62^#(X1, X2, X3)) :78 -->_1 U61^#(ok(X1), ok(X2), ok(X3)) -> c_79(U61^#(X1, X2, X3)) :77 -->_1 U61^#(mark(X1), X2, X3) -> c_78(U61^#(X1, X2, X3)) :76 -->_1 U52^#(ok(X1), ok(X2)) -> c_77(U52^#(X1, X2)) :75 -->_1 U52^#(mark(X1), X2) -> c_76(U52^#(X1, X2)) :74 -->_1 U51^#(ok(X1), ok(X2)) -> c_75(U51^#(X1, X2)) :73 -->_1 U51^#(mark(X1), X2) -> c_74(U51^#(X1, X2)) :72 -->_1 U32^#(ok(X)) -> c_71(U32^#(X)) :71 -->_1 U32^#(mark(X)) -> c_70(U32^#(X)) :70 -->_1 U23^#(ok(X)) -> c_67(U23^#(X)) :69 -->_1 U23^#(mark(X)) -> c_66(U23^#(X)) :68 -->_1 U22^#(ok(X1), ok(X2)) -> c_65(U22^#(X1, X2)) :67 -->_1 U22^#(mark(X1), X2) -> c_64(U22^#(X1, X2)) :66 -->_1 U21^#(ok(X1), ok(X2)) -> c_63(U21^#(X1, X2)) :65 -->_1 U21^#(mark(X1), X2) -> c_62(U21^#(X1, X2)) :64 -->_1 U16^#(ok(X)) -> c_61(U16^#(X)) :63 -->_1 U16^#(mark(X)) -> c_60(U16^#(X)) :62 -->_1 U15^#(ok(X1), ok(X2)) -> c_58(U15^#(X1, X2)) :61 -->_1 U15^#(mark(X1), X2) -> c_57(U15^#(X1, X2)) :60 -->_1 U14^#(ok(X1), ok(X2), ok(X3)) -> c_56(U14^#(X1, X2, X3)) :59 -->_1 U14^#(mark(X1), X2, X3) -> c_55(U14^#(X1, X2, X3)) :58 -->_1 U31^#(ok(X1), ok(X2)) -> c_69(U31^#(X1, X2)) :57 -->_1 U31^#(mark(X1), X2) -> c_68(U31^#(X1, X2)) :56 -->_1 U41^#(ok(X)) -> c_73(U41^#(X)) :55 -->_1 U41^#(mark(X)) -> c_72(U41^#(X)) :54 -->_1 U13^#(ok(X1), ok(X2), ok(X3)) -> c_54(U13^#(X1, X2, X3)) :53 -->_1 U13^#(mark(X1), X2, X3) -> c_53(U13^#(X1, X2, X3)) :52 -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_51(U12^#(X1, X2, X3)) :51 -->_1 U12^#(mark(X1), X2, X3) -> c_50(U12^#(X1, X2, X3)) :50 -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_49(U11^#(X1, X2, X3)) :49 -->_1 U11^#(mark(X1), X2, X3) -> c_48(U11^#(X1, X2, X3)) :48 -->_1 active^#(plus(N, 0())) -> c_47(U51^#(isNat(N), N)) :47 -->_1 active^#(plus(N, s(M))) -> c_46(U61^#(isNat(M), M, N)) :46 -->_1 active^#(plus(X1, X2)) -> c_45(plus^#(active(X1), X2)) :45 -->_1 active^#(plus(X1, X2)) -> c_44(plus^#(X1, active(X2))) :44 -->_1 active^#(s(X)) -> c_43(s^#(active(X))) :43 -->_1 active^#(U64(tt(), M, N)) -> c_42(s^#(plus(N, M))) :42 -->_1 active^#(U64(X1, X2, X3)) -> c_41(U64^#(active(X1), X2, X3)) :41 -->_1 active^#(U63(tt(), M, N)) -> c_40(U64^#(isNatKind(N), M, N)) :40 -->_1 active^#(U63(X1, X2, X3)) -> c_39(U63^#(active(X1), X2, X3)) :39 -->_1 active^#(U62(tt(), M, N)) -> c_38(U63^#(isNat(N), M, N)) :38 -->_1 active^#(U62(X1, X2, X3)) -> c_37(U62^#(active(X1), X2, X3)) :37 -->_1 active^#(U61(tt(), M, N)) -> c_36(U62^#(isNatKind(M), M, N)) :36 -->_1 active^#(U61(X1, X2, X3)) -> c_35(U61^#(active(X1), X2, X3)) :35 -->_1 proper^#(0()) -> c_114() :114 -->_1 proper^#(tt()) -> c_92() :92 -->_1 active^#(U52(tt(), N)) -> c_34(N) :34 -->_1 active^#(U52(X1, X2)) -> c_33(U52^#(active(X1), X2)) :33 -->_1 active^#(U51(tt(), N)) -> c_32(U52^#(isNatKind(N), N)) :32 -->_1 active^#(U51(X1, X2)) -> c_31(U51^#(active(X1), X2)) :31 -->_1 active^#(U41(tt())) -> c_30() :30 -->_1 active^#(U41(X)) -> c_29(U41^#(active(X))) :29 -->_1 active^#(U32(tt())) -> c_28() :28 -->_1 active^#(U32(X)) -> c_27(U32^#(active(X))) :27 -->_1 active^#(U31(tt(), V2)) -> c_26(U32^#(isNatKind(V2))) :26 -->_1 active^#(U31(X1, X2)) -> c_25(U31^#(active(X1), X2)) :25 -->_1 active^#(U23(tt())) -> c_24() :24 -->_1 active^#(U23(X)) -> c_23(U23^#(active(X))) :23 -->_1 active^#(U22(tt(), V1)) -> c_22(U23^#(isNat(V1))) :22 -->_1 active^#(U22(X1, X2)) -> c_21(U22^#(active(X1), X2)) :21 -->_1 active^#(U21(tt(), V1)) -> c_20(U22^#(isNatKind(V1), V1)) :20 -->_1 active^#(U21(X1, X2)) -> c_19(U21^#(active(X1), X2)) :19 -->_1 active^#(U16(tt())) -> c_18() :18 -->_1 active^#(U16(X)) -> c_17(U16^#(active(X))) :17 -->_1 active^#(isNat(0())) -> c_16() :16 -->_1 active^#(isNat(plus(V1, V2))) -> c_15(U11^#(isNatKind(V1), V1, V2)) :15 -->_1 active^#(isNat(s(V1))) -> c_14(U21^#(isNatKind(V1), V1)) :14 -->_1 active^#(U15(tt(), V2)) -> c_13(U16^#(isNat(V2))) :13 -->_1 active^#(U15(X1, X2)) -> c_12(U15^#(active(X1), X2)) :12 -->_1 active^#(U14(tt(), V1, V2)) -> c_11(U15^#(isNat(V1), V2)) :11 -->_1 active^#(U14(X1, X2, X3)) -> c_10(U14^#(active(X1), X2, X3)) :10 -->_1 active^#(U13(tt(), V1, V2)) -> c_9(U14^#(isNatKind(V2), V1, V2)) :9 -->_1 active^#(U13(X1, X2, X3)) -> c_8(U13^#(active(X1), X2, X3)) :8 -->_1 active^#(isNatKind(0())) -> c_7() :7 -->_1 active^#(isNatKind(plus(V1, V2))) -> c_6(U31^#(isNatKind(V1), V2)) :6 -->_1 active^#(isNatKind(s(V1))) -> c_5(U41^#(isNatKind(V1))) :5 -->_1 active^#(U12(tt(), V1, V2)) -> c_4(U13^#(isNatKind(V2), V1, V2)) :4 -->_1 active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) :3 -->_1 active^#(U11(tt(), V1, V2)) -> c_2(U12^#(isNatKind(V1), V1, V2)) :2 -->_1 active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) :1 35: active^#(U61(X1, X2, X3)) -> c_35(U61^#(active(X1), X2, X3)) -->_1 U61^#(ok(X1), ok(X2), ok(X3)) -> c_79(U61^#(X1, X2, X3)) :77 -->_1 U61^#(mark(X1), X2, X3) -> c_78(U61^#(X1, X2, X3)) :76 36: active^#(U61(tt(), M, N)) -> c_36(U62^#(isNatKind(M), M, N)) -->_1 U62^#(ok(X1), ok(X2), ok(X3)) -> c_81(U62^#(X1, X2, X3)) :79 -->_1 U62^#(mark(X1), X2, X3) -> c_80(U62^#(X1, X2, X3)) :78 37: active^#(U62(X1, X2, X3)) -> c_37(U62^#(active(X1), X2, X3)) -->_1 U62^#(ok(X1), ok(X2), ok(X3)) -> c_81(U62^#(X1, X2, X3)) :79 -->_1 U62^#(mark(X1), X2, X3) -> c_80(U62^#(X1, X2, X3)) :78 38: active^#(U62(tt(), M, N)) -> c_38(U63^#(isNat(N), M, N)) -->_1 U63^#(ok(X1), ok(X2), ok(X3)) -> c_83(U63^#(X1, X2, X3)) :81 -->_1 U63^#(mark(X1), X2, X3) -> c_82(U63^#(X1, X2, X3)) :80 39: active^#(U63(X1, X2, X3)) -> c_39(U63^#(active(X1), X2, X3)) -->_1 U63^#(ok(X1), ok(X2), ok(X3)) -> c_83(U63^#(X1, X2, X3)) :81 -->_1 U63^#(mark(X1), X2, X3) -> c_82(U63^#(X1, X2, X3)) :80 40: active^#(U63(tt(), M, N)) -> c_40(U64^#(isNatKind(N), M, N)) -->_1 U64^#(ok(X1), ok(X2), ok(X3)) -> c_85(U64^#(X1, X2, X3)) :83 -->_1 U64^#(mark(X1), X2, X3) -> c_84(U64^#(X1, X2, X3)) :82 41: active^#(U64(X1, X2, X3)) -> c_41(U64^#(active(X1), X2, X3)) -->_1 U64^#(ok(X1), ok(X2), ok(X3)) -> c_85(U64^#(X1, X2, X3)) :83 -->_1 U64^#(mark(X1), X2, X3) -> c_84(U64^#(X1, X2, X3)) :82 42: active^#(U64(tt(), M, N)) -> c_42(s^#(plus(N, M))) -->_1 s^#(ok(X)) -> c_87(s^#(X)) :85 -->_1 s^#(mark(X)) -> c_86(s^#(X)) :84 43: active^#(s(X)) -> c_43(s^#(active(X))) -->_1 s^#(ok(X)) -> c_87(s^#(X)) :85 -->_1 s^#(mark(X)) -> c_86(s^#(X)) :84 44: active^#(plus(X1, X2)) -> c_44(plus^#(X1, active(X2))) -->_1 plus^#(ok(X1), ok(X2)) -> c_90(plus^#(X1, X2)) :88 -->_1 plus^#(mark(X1), X2) -> c_89(plus^#(X1, X2)) :87 -->_1 plus^#(X1, mark(X2)) -> c_88(plus^#(X1, X2)) :86 45: active^#(plus(X1, X2)) -> c_45(plus^#(active(X1), X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_90(plus^#(X1, X2)) :88 -->_1 plus^#(mark(X1), X2) -> c_89(plus^#(X1, X2)) :87 -->_1 plus^#(X1, mark(X2)) -> c_88(plus^#(X1, X2)) :86 46: active^#(plus(N, s(M))) -> c_46(U61^#(isNat(M), M, N)) -->_1 U61^#(ok(X1), ok(X2), ok(X3)) -> c_79(U61^#(X1, X2, X3)) :77 -->_1 U61^#(mark(X1), X2, X3) -> c_78(U61^#(X1, X2, X3)) :76 47: active^#(plus(N, 0())) -> c_47(U51^#(isNat(N), N)) -->_1 U51^#(ok(X1), ok(X2)) -> c_75(U51^#(X1, X2)) :73 -->_1 U51^#(mark(X1), X2) -> c_74(U51^#(X1, X2)) :72 48: U11^#(mark(X1), X2, X3) -> c_48(U11^#(X1, X2, X3)) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_49(U11^#(X1, X2, X3)) :49 -->_1 U11^#(mark(X1), X2, X3) -> c_48(U11^#(X1, X2, X3)) :48 49: U11^#(ok(X1), ok(X2), ok(X3)) -> c_49(U11^#(X1, X2, X3)) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_49(U11^#(X1, X2, X3)) :49 -->_1 U11^#(mark(X1), X2, X3) -> c_48(U11^#(X1, X2, X3)) :48 50: U12^#(mark(X1), X2, X3) -> c_50(U12^#(X1, X2, X3)) -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_51(U12^#(X1, X2, X3)) :51 -->_1 U12^#(mark(X1), X2, X3) -> c_50(U12^#(X1, X2, X3)) :50 51: U12^#(ok(X1), ok(X2), ok(X3)) -> c_51(U12^#(X1, X2, X3)) -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_51(U12^#(X1, X2, X3)) :51 -->_1 U12^#(mark(X1), X2, X3) -> c_50(U12^#(X1, X2, X3)) :50 52: U13^#(mark(X1), X2, X3) -> c_53(U13^#(X1, X2, X3)) -->_1 U13^#(ok(X1), ok(X2), ok(X3)) -> c_54(U13^#(X1, X2, X3)) :53 -->_1 U13^#(mark(X1), X2, X3) -> c_53(U13^#(X1, X2, X3)) :52 53: U13^#(ok(X1), ok(X2), ok(X3)) -> c_54(U13^#(X1, X2, X3)) -->_1 U13^#(ok(X1), ok(X2), ok(X3)) -> c_54(U13^#(X1, X2, X3)) :53 -->_1 U13^#(mark(X1), X2, X3) -> c_53(U13^#(X1, X2, X3)) :52 54: U41^#(mark(X)) -> c_72(U41^#(X)) -->_1 U41^#(ok(X)) -> c_73(U41^#(X)) :55 -->_1 U41^#(mark(X)) -> c_72(U41^#(X)) :54 55: U41^#(ok(X)) -> c_73(U41^#(X)) -->_1 U41^#(ok(X)) -> c_73(U41^#(X)) :55 -->_1 U41^#(mark(X)) -> c_72(U41^#(X)) :54 56: U31^#(mark(X1), X2) -> c_68(U31^#(X1, X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_69(U31^#(X1, X2)) :57 -->_1 U31^#(mark(X1), X2) -> c_68(U31^#(X1, X2)) :56 57: U31^#(ok(X1), ok(X2)) -> c_69(U31^#(X1, X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_69(U31^#(X1, X2)) :57 -->_1 U31^#(mark(X1), X2) -> c_68(U31^#(X1, X2)) :56 58: U14^#(mark(X1), X2, X3) -> c_55(U14^#(X1, X2, X3)) -->_1 U14^#(ok(X1), ok(X2), ok(X3)) -> c_56(U14^#(X1, X2, X3)) :59 -->_1 U14^#(mark(X1), X2, X3) -> c_55(U14^#(X1, X2, X3)) :58 59: U14^#(ok(X1), ok(X2), ok(X3)) -> c_56(U14^#(X1, X2, X3)) -->_1 U14^#(ok(X1), ok(X2), ok(X3)) -> c_56(U14^#(X1, X2, X3)) :59 -->_1 U14^#(mark(X1), X2, X3) -> c_55(U14^#(X1, X2, X3)) :58 60: U15^#(mark(X1), X2) -> c_57(U15^#(X1, X2)) -->_1 U15^#(ok(X1), ok(X2)) -> c_58(U15^#(X1, X2)) :61 -->_1 U15^#(mark(X1), X2) -> c_57(U15^#(X1, X2)) :60 61: U15^#(ok(X1), ok(X2)) -> c_58(U15^#(X1, X2)) -->_1 U15^#(ok(X1), ok(X2)) -> c_58(U15^#(X1, X2)) :61 -->_1 U15^#(mark(X1), X2) -> c_57(U15^#(X1, X2)) :60 62: U16^#(mark(X)) -> c_60(U16^#(X)) -->_1 U16^#(ok(X)) -> c_61(U16^#(X)) :63 -->_1 U16^#(mark(X)) -> c_60(U16^#(X)) :62 63: U16^#(ok(X)) -> c_61(U16^#(X)) -->_1 U16^#(ok(X)) -> c_61(U16^#(X)) :63 -->_1 U16^#(mark(X)) -> c_60(U16^#(X)) :62 64: U21^#(mark(X1), X2) -> c_62(U21^#(X1, X2)) -->_1 U21^#(ok(X1), ok(X2)) -> c_63(U21^#(X1, X2)) :65 -->_1 U21^#(mark(X1), X2) -> c_62(U21^#(X1, X2)) :64 65: U21^#(ok(X1), ok(X2)) -> c_63(U21^#(X1, X2)) -->_1 U21^#(ok(X1), ok(X2)) -> c_63(U21^#(X1, X2)) :65 -->_1 U21^#(mark(X1), X2) -> c_62(U21^#(X1, X2)) :64 66: U22^#(mark(X1), X2) -> c_64(U22^#(X1, X2)) -->_1 U22^#(ok(X1), ok(X2)) -> c_65(U22^#(X1, X2)) :67 -->_1 U22^#(mark(X1), X2) -> c_64(U22^#(X1, X2)) :66 67: U22^#(ok(X1), ok(X2)) -> c_65(U22^#(X1, X2)) -->_1 U22^#(ok(X1), ok(X2)) -> c_65(U22^#(X1, X2)) :67 -->_1 U22^#(mark(X1), X2) -> c_64(U22^#(X1, X2)) :66 68: U23^#(mark(X)) -> c_66(U23^#(X)) -->_1 U23^#(ok(X)) -> c_67(U23^#(X)) :69 -->_1 U23^#(mark(X)) -> c_66(U23^#(X)) :68 69: U23^#(ok(X)) -> c_67(U23^#(X)) -->_1 U23^#(ok(X)) -> c_67(U23^#(X)) :69 -->_1 U23^#(mark(X)) -> c_66(U23^#(X)) :68 70: U32^#(mark(X)) -> c_70(U32^#(X)) -->_1 U32^#(ok(X)) -> c_71(U32^#(X)) :71 -->_1 U32^#(mark(X)) -> c_70(U32^#(X)) :70 71: U32^#(ok(X)) -> c_71(U32^#(X)) -->_1 U32^#(ok(X)) -> c_71(U32^#(X)) :71 -->_1 U32^#(mark(X)) -> c_70(U32^#(X)) :70 72: U51^#(mark(X1), X2) -> c_74(U51^#(X1, X2)) -->_1 U51^#(ok(X1), ok(X2)) -> c_75(U51^#(X1, X2)) :73 -->_1 U51^#(mark(X1), X2) -> c_74(U51^#(X1, X2)) :72 73: U51^#(ok(X1), ok(X2)) -> c_75(U51^#(X1, X2)) -->_1 U51^#(ok(X1), ok(X2)) -> c_75(U51^#(X1, X2)) :73 -->_1 U51^#(mark(X1), X2) -> c_74(U51^#(X1, X2)) :72 74: U52^#(mark(X1), X2) -> c_76(U52^#(X1, X2)) -->_1 U52^#(ok(X1), ok(X2)) -> c_77(U52^#(X1, X2)) :75 -->_1 U52^#(mark(X1), X2) -> c_76(U52^#(X1, X2)) :74 75: U52^#(ok(X1), ok(X2)) -> c_77(U52^#(X1, X2)) -->_1 U52^#(ok(X1), ok(X2)) -> c_77(U52^#(X1, X2)) :75 -->_1 U52^#(mark(X1), X2) -> c_76(U52^#(X1, X2)) :74 76: U61^#(mark(X1), X2, X3) -> c_78(U61^#(X1, X2, X3)) -->_1 U61^#(ok(X1), ok(X2), ok(X3)) -> c_79(U61^#(X1, X2, X3)) :77 -->_1 U61^#(mark(X1), X2, X3) -> c_78(U61^#(X1, X2, X3)) :76 77: U61^#(ok(X1), ok(X2), ok(X3)) -> c_79(U61^#(X1, X2, X3)) -->_1 U61^#(ok(X1), ok(X2), ok(X3)) -> c_79(U61^#(X1, X2, X3)) :77 -->_1 U61^#(mark(X1), X2, X3) -> c_78(U61^#(X1, X2, X3)) :76 78: U62^#(mark(X1), X2, X3) -> c_80(U62^#(X1, X2, X3)) -->_1 U62^#(ok(X1), ok(X2), ok(X3)) -> c_81(U62^#(X1, X2, X3)) :79 -->_1 U62^#(mark(X1), X2, X3) -> c_80(U62^#(X1, X2, X3)) :78 79: U62^#(ok(X1), ok(X2), ok(X3)) -> c_81(U62^#(X1, X2, X3)) -->_1 U62^#(ok(X1), ok(X2), ok(X3)) -> c_81(U62^#(X1, X2, X3)) :79 -->_1 U62^#(mark(X1), X2, X3) -> c_80(U62^#(X1, X2, X3)) :78 80: U63^#(mark(X1), X2, X3) -> c_82(U63^#(X1, X2, X3)) -->_1 U63^#(ok(X1), ok(X2), ok(X3)) -> c_83(U63^#(X1, X2, X3)) :81 -->_1 U63^#(mark(X1), X2, X3) -> c_82(U63^#(X1, X2, X3)) :80 81: U63^#(ok(X1), ok(X2), ok(X3)) -> c_83(U63^#(X1, X2, X3)) -->_1 U63^#(ok(X1), ok(X2), ok(X3)) -> c_83(U63^#(X1, X2, X3)) :81 -->_1 U63^#(mark(X1), X2, X3) -> c_82(U63^#(X1, X2, X3)) :80 82: U64^#(mark(X1), X2, X3) -> c_84(U64^#(X1, X2, X3)) -->_1 U64^#(ok(X1), ok(X2), ok(X3)) -> c_85(U64^#(X1, X2, X3)) :83 -->_1 U64^#(mark(X1), X2, X3) -> c_84(U64^#(X1, X2, X3)) :82 83: U64^#(ok(X1), ok(X2), ok(X3)) -> c_85(U64^#(X1, X2, X3)) -->_1 U64^#(ok(X1), ok(X2), ok(X3)) -> c_85(U64^#(X1, X2, X3)) :83 -->_1 U64^#(mark(X1), X2, X3) -> c_84(U64^#(X1, X2, X3)) :82 84: s^#(mark(X)) -> c_86(s^#(X)) -->_1 s^#(ok(X)) -> c_87(s^#(X)) :85 -->_1 s^#(mark(X)) -> c_86(s^#(X)) :84 85: s^#(ok(X)) -> c_87(s^#(X)) -->_1 s^#(ok(X)) -> c_87(s^#(X)) :85 -->_1 s^#(mark(X)) -> c_86(s^#(X)) :84 86: plus^#(X1, mark(X2)) -> c_88(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_90(plus^#(X1, X2)) :88 -->_1 plus^#(mark(X1), X2) -> c_89(plus^#(X1, X2)) :87 -->_1 plus^#(X1, mark(X2)) -> c_88(plus^#(X1, X2)) :86 87: plus^#(mark(X1), X2) -> c_89(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_90(plus^#(X1, X2)) :88 -->_1 plus^#(mark(X1), X2) -> c_89(plus^#(X1, X2)) :87 -->_1 plus^#(X1, mark(X2)) -> c_88(plus^#(X1, X2)) :86 88: plus^#(ok(X1), ok(X2)) -> c_90(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_90(plus^#(X1, X2)) :88 -->_1 plus^#(mark(X1), X2) -> c_89(plus^#(X1, X2)) :87 -->_1 plus^#(X1, mark(X2)) -> c_88(plus^#(X1, X2)) :86 89: isNatKind^#(ok(X)) -> c_52(isNatKind^#(X)) -->_1 isNatKind^#(ok(X)) -> c_52(isNatKind^#(X)) :89 90: isNat^#(ok(X)) -> c_59(isNat^#(X)) -->_1 isNat^#(ok(X)) -> c_59(isNat^#(X)) :90 91: proper^#(U11(X1, X2, X3)) -> c_91(U11^#(proper(X1), proper(X2), proper(X3))) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_49(U11^#(X1, X2, X3)) :49 -->_1 U11^#(mark(X1), X2, X3) -> c_48(U11^#(X1, X2, X3)) :48 92: proper^#(tt()) -> c_92() 93: proper^#(U12(X1, X2, X3)) -> c_93(U12^#(proper(X1), proper(X2), proper(X3))) -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_51(U12^#(X1, X2, X3)) :51 -->_1 U12^#(mark(X1), X2, X3) -> c_50(U12^#(X1, X2, X3)) :50 94: proper^#(isNatKind(X)) -> c_94(isNatKind^#(proper(X))) -->_1 isNatKind^#(ok(X)) -> c_52(isNatKind^#(X)) :89 95: proper^#(U13(X1, X2, X3)) -> c_95(U13^#(proper(X1), proper(X2), proper(X3))) -->_1 U13^#(ok(X1), ok(X2), ok(X3)) -> c_54(U13^#(X1, X2, X3)) :53 -->_1 U13^#(mark(X1), X2, X3) -> c_53(U13^#(X1, X2, X3)) :52 96: proper^#(U14(X1, X2, X3)) -> c_96(U14^#(proper(X1), proper(X2), proper(X3))) -->_1 U14^#(ok(X1), ok(X2), ok(X3)) -> c_56(U14^#(X1, X2, X3)) :59 -->_1 U14^#(mark(X1), X2, X3) -> c_55(U14^#(X1, X2, X3)) :58 97: proper^#(U15(X1, X2)) -> c_97(U15^#(proper(X1), proper(X2))) -->_1 U15^#(ok(X1), ok(X2)) -> c_58(U15^#(X1, X2)) :61 -->_1 U15^#(mark(X1), X2) -> c_57(U15^#(X1, X2)) :60 98: proper^#(isNat(X)) -> c_98(isNat^#(proper(X))) -->_1 isNat^#(ok(X)) -> c_59(isNat^#(X)) :90 99: proper^#(U16(X)) -> c_99(U16^#(proper(X))) -->_1 U16^#(ok(X)) -> c_61(U16^#(X)) :63 -->_1 U16^#(mark(X)) -> c_60(U16^#(X)) :62 100: proper^#(U21(X1, X2)) -> c_100(U21^#(proper(X1), proper(X2))) -->_1 U21^#(ok(X1), ok(X2)) -> c_63(U21^#(X1, X2)) :65 -->_1 U21^#(mark(X1), X2) -> c_62(U21^#(X1, X2)) :64 101: proper^#(U22(X1, X2)) -> c_101(U22^#(proper(X1), proper(X2))) -->_1 U22^#(ok(X1), ok(X2)) -> c_65(U22^#(X1, X2)) :67 -->_1 U22^#(mark(X1), X2) -> c_64(U22^#(X1, X2)) :66 102: proper^#(U23(X)) -> c_102(U23^#(proper(X))) -->_1 U23^#(ok(X)) -> c_67(U23^#(X)) :69 -->_1 U23^#(mark(X)) -> c_66(U23^#(X)) :68 103: proper^#(U31(X1, X2)) -> c_103(U31^#(proper(X1), proper(X2))) -->_1 U31^#(ok(X1), ok(X2)) -> c_69(U31^#(X1, X2)) :57 -->_1 U31^#(mark(X1), X2) -> c_68(U31^#(X1, X2)) :56 104: proper^#(U32(X)) -> c_104(U32^#(proper(X))) -->_1 U32^#(ok(X)) -> c_71(U32^#(X)) :71 -->_1 U32^#(mark(X)) -> c_70(U32^#(X)) :70 105: proper^#(U41(X)) -> c_105(U41^#(proper(X))) -->_1 U41^#(ok(X)) -> c_73(U41^#(X)) :55 -->_1 U41^#(mark(X)) -> c_72(U41^#(X)) :54 106: proper^#(U51(X1, X2)) -> c_106(U51^#(proper(X1), proper(X2))) -->_1 U51^#(ok(X1), ok(X2)) -> c_75(U51^#(X1, X2)) :73 -->_1 U51^#(mark(X1), X2) -> c_74(U51^#(X1, X2)) :72 107: proper^#(U52(X1, X2)) -> c_107(U52^#(proper(X1), proper(X2))) -->_1 U52^#(ok(X1), ok(X2)) -> c_77(U52^#(X1, X2)) :75 -->_1 U52^#(mark(X1), X2) -> c_76(U52^#(X1, X2)) :74 108: proper^#(U61(X1, X2, X3)) -> c_108(U61^#(proper(X1), proper(X2), proper(X3))) -->_1 U61^#(ok(X1), ok(X2), ok(X3)) -> c_79(U61^#(X1, X2, X3)) :77 -->_1 U61^#(mark(X1), X2, X3) -> c_78(U61^#(X1, X2, X3)) :76 109: proper^#(U62(X1, X2, X3)) -> c_109(U62^#(proper(X1), proper(X2), proper(X3))) -->_1 U62^#(ok(X1), ok(X2), ok(X3)) -> c_81(U62^#(X1, X2, X3)) :79 -->_1 U62^#(mark(X1), X2, X3) -> c_80(U62^#(X1, X2, X3)) :78 110: proper^#(U63(X1, X2, X3)) -> c_110(U63^#(proper(X1), proper(X2), proper(X3))) -->_1 U63^#(ok(X1), ok(X2), ok(X3)) -> c_83(U63^#(X1, X2, X3)) :81 -->_1 U63^#(mark(X1), X2, X3) -> c_82(U63^#(X1, X2, X3)) :80 111: proper^#(U64(X1, X2, X3)) -> c_111(U64^#(proper(X1), proper(X2), proper(X3))) -->_1 U64^#(ok(X1), ok(X2), ok(X3)) -> c_85(U64^#(X1, X2, X3)) :83 -->_1 U64^#(mark(X1), X2, X3) -> c_84(U64^#(X1, X2, X3)) :82 112: proper^#(s(X)) -> c_112(s^#(proper(X))) -->_1 s^#(ok(X)) -> c_87(s^#(X)) :85 -->_1 s^#(mark(X)) -> c_86(s^#(X)) :84 113: proper^#(plus(X1, X2)) -> c_113(plus^#(proper(X1), proper(X2))) -->_1 plus^#(ok(X1), ok(X2)) -> c_90(plus^#(X1, X2)) :88 -->_1 plus^#(mark(X1), X2) -> c_89(plus^#(X1, X2)) :87 -->_1 plus^#(X1, mark(X2)) -> c_88(plus^#(X1, X2)) :86 114: proper^#(0()) -> c_114() 115: top^#(mark(X)) -> c_115(top^#(proper(X))) -->_1 top^#(ok(X)) -> c_116(top^#(active(X))) :116 -->_1 top^#(mark(X)) -> c_115(top^#(proper(X))) :115 116: top^#(ok(X)) -> c_116(top^#(active(X))) -->_1 top^#(ok(X)) -> c_116(top^#(active(X))) :116 -->_1 top^#(mark(X)) -> c_115(top^#(proper(X))) :115 Only the nodes {48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,88,87,89,90,92,114,115,116} are reachable from nodes {48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,92,114,115,116} 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_48(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_49(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2, X3) -> c_50(U12^#(X1, X2, X3)) , U12^#(ok(X1), ok(X2), ok(X3)) -> c_51(U12^#(X1, X2, X3)) , U13^#(mark(X1), X2, X3) -> c_53(U13^#(X1, X2, X3)) , U13^#(ok(X1), ok(X2), ok(X3)) -> c_54(U13^#(X1, X2, X3)) , U41^#(mark(X)) -> c_72(U41^#(X)) , U41^#(ok(X)) -> c_73(U41^#(X)) , U31^#(mark(X1), X2) -> c_68(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_69(U31^#(X1, X2)) , U14^#(mark(X1), X2, X3) -> c_55(U14^#(X1, X2, X3)) , U14^#(ok(X1), ok(X2), ok(X3)) -> c_56(U14^#(X1, X2, X3)) , U15^#(mark(X1), X2) -> c_57(U15^#(X1, X2)) , U15^#(ok(X1), ok(X2)) -> c_58(U15^#(X1, X2)) , U16^#(mark(X)) -> c_60(U16^#(X)) , U16^#(ok(X)) -> c_61(U16^#(X)) , U21^#(mark(X1), X2) -> c_62(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_63(U21^#(X1, X2)) , U22^#(mark(X1), X2) -> c_64(U22^#(X1, X2)) , U22^#(ok(X1), ok(X2)) -> c_65(U22^#(X1, X2)) , U23^#(mark(X)) -> c_66(U23^#(X)) , U23^#(ok(X)) -> c_67(U23^#(X)) , U32^#(mark(X)) -> c_70(U32^#(X)) , U32^#(ok(X)) -> c_71(U32^#(X)) , U51^#(mark(X1), X2) -> c_74(U51^#(X1, X2)) , U51^#(ok(X1), ok(X2)) -> c_75(U51^#(X1, X2)) , U52^#(mark(X1), X2) -> c_76(U52^#(X1, X2)) , U52^#(ok(X1), ok(X2)) -> c_77(U52^#(X1, X2)) , U61^#(mark(X1), X2, X3) -> c_78(U61^#(X1, X2, X3)) , U61^#(ok(X1), ok(X2), ok(X3)) -> c_79(U61^#(X1, X2, X3)) , U62^#(mark(X1), X2, X3) -> c_80(U62^#(X1, X2, X3)) , U62^#(ok(X1), ok(X2), ok(X3)) -> c_81(U62^#(X1, X2, X3)) , U63^#(mark(X1), X2, X3) -> c_82(U63^#(X1, X2, X3)) , U63^#(ok(X1), ok(X2), ok(X3)) -> c_83(U63^#(X1, X2, X3)) , U64^#(mark(X1), X2, X3) -> c_84(U64^#(X1, X2, X3)) , U64^#(ok(X1), ok(X2), ok(X3)) -> c_85(U64^#(X1, X2, X3)) , s^#(mark(X)) -> c_86(s^#(X)) , s^#(ok(X)) -> c_87(s^#(X)) , plus^#(X1, mark(X2)) -> c_88(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_89(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_90(plus^#(X1, X2)) , isNatKind^#(ok(X)) -> c_52(isNatKind^#(X)) , isNat^#(ok(X)) -> c_59(isNat^#(X)) , proper^#(tt()) -> c_92() , proper^#(0()) -> c_114() , top^#(mark(X)) -> c_115(top^#(proper(X))) , top^#(ok(X)) -> c_116(top^#(active(X))) } Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) , active(U12(X1, X2, X3)) -> U12(active(X1), X2, X3) , active(U12(tt(), V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) , active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) , active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) , active(isNatKind(0())) -> mark(tt()) , active(U13(X1, X2, X3)) -> U13(active(X1), X2, X3) , active(U13(tt(), V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) , active(U14(X1, X2, X3)) -> U14(active(X1), X2, X3) , active(U14(tt(), V1, V2)) -> mark(U15(isNat(V1), V2)) , active(U15(X1, X2)) -> U15(active(X1), X2) , active(U15(tt(), V2)) -> mark(U16(isNat(V2))) , active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) , active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) , active(isNat(0())) -> mark(tt()) , active(U16(X)) -> U16(active(X)) , active(U16(tt())) -> mark(tt()) , active(U21(X1, X2)) -> U21(active(X1), X2) , active(U21(tt(), V1)) -> mark(U22(isNatKind(V1), V1)) , active(U22(X1, X2)) -> U22(active(X1), X2) , active(U22(tt(), V1)) -> mark(U23(isNat(V1))) , active(U23(X)) -> U23(active(X)) , active(U23(tt())) -> mark(tt()) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), V2)) -> mark(U32(isNatKind(V2))) , active(U32(X)) -> U32(active(X)) , active(U32(tt())) -> mark(tt()) , active(U41(X)) -> U41(active(X)) , active(U41(tt())) -> mark(tt()) , active(U51(X1, X2)) -> U51(active(X1), X2) , active(U51(tt(), N)) -> mark(U52(isNatKind(N), N)) , active(U52(X1, X2)) -> U52(active(X1), X2) , active(U52(tt(), N)) -> mark(N) , active(U61(X1, X2, X3)) -> U61(active(X1), X2, X3) , active(U61(tt(), M, N)) -> mark(U62(isNatKind(M), M, N)) , active(U62(X1, X2, X3)) -> U62(active(X1), X2, X3) , active(U62(tt(), M, N)) -> mark(U63(isNat(N), M, N)) , active(U63(X1, X2, X3)) -> U63(active(X1), X2, X3) , active(U63(tt(), M, N)) -> mark(U64(isNatKind(N), M, N)) , active(U64(X1, X2, X3)) -> U64(active(X1), X2, X3) , active(U64(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(U61(isNat(M), M, N)) , active(plus(N, 0())) -> mark(U51(isNat(N), N)) , 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)) , isNatKind(ok(X)) -> ok(isNatKind(X)) , U13(mark(X1), X2, X3) -> mark(U13(X1, X2, X3)) , U13(ok(X1), ok(X2), ok(X3)) -> ok(U13(X1, X2, X3)) , U14(mark(X1), X2, X3) -> mark(U14(X1, X2, X3)) , U14(ok(X1), ok(X2), ok(X3)) -> ok(U14(X1, X2, X3)) , U15(mark(X1), X2) -> mark(U15(X1, X2)) , U15(ok(X1), ok(X2)) -> ok(U15(X1, X2)) , isNat(ok(X)) -> ok(isNat(X)) , U16(mark(X)) -> mark(U16(X)) , U16(ok(X)) -> ok(U16(X)) , U21(mark(X1), X2) -> mark(U21(X1, X2)) , U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)) , U22(mark(X1), X2) -> mark(U22(X1, X2)) , U22(ok(X1), ok(X2)) -> ok(U22(X1, X2)) , U23(mark(X)) -> mark(U23(X)) , U23(ok(X)) -> ok(U23(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(X)) -> mark(U41(X)) , U41(ok(X)) -> ok(U41(X)) , U51(mark(X1), X2) -> mark(U51(X1, X2)) , U51(ok(X1), ok(X2)) -> ok(U51(X1, X2)) , U52(mark(X1), X2) -> mark(U52(X1, X2)) , U52(ok(X1), ok(X2)) -> ok(U52(X1, X2)) , U61(mark(X1), X2, X3) -> mark(U61(X1, X2, X3)) , U61(ok(X1), ok(X2), ok(X3)) -> ok(U61(X1, X2, X3)) , U62(mark(X1), X2, X3) -> mark(U62(X1, X2, X3)) , U62(ok(X1), ok(X2), ok(X3)) -> ok(U62(X1, X2, X3)) , U63(mark(X1), X2, X3) -> mark(U63(X1, X2, X3)) , U63(ok(X1), ok(X2), ok(X3)) -> ok(U63(X1, X2, X3)) , U64(mark(X1), X2, X3) -> mark(U64(X1, X2, X3)) , U64(ok(X1), ok(X2), ok(X3)) -> ok(U64(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)) , 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(isNatKind(X)) -> isNatKind(proper(X)) , proper(U13(X1, X2, X3)) -> U13(proper(X1), proper(X2), proper(X3)) , proper(U14(X1, X2, X3)) -> U14(proper(X1), proper(X2), proper(X3)) , proper(U15(X1, X2)) -> U15(proper(X1), proper(X2)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U16(X)) -> U16(proper(X)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X1, X2)) -> U22(proper(X1), proper(X2)) , proper(U23(X)) -> U23(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X)) -> U32(proper(X)) , proper(U41(X)) -> U41(proper(X)) , proper(U51(X1, X2)) -> U51(proper(X1), proper(X2)) , proper(U52(X1, X2)) -> U52(proper(X1), proper(X2)) , proper(U61(X1, X2, X3)) -> U61(proper(X1), proper(X2), proper(X3)) , proper(U62(X1, X2, X3)) -> U62(proper(X1), proper(X2), proper(X3)) , proper(U63(X1, X2, X3)) -> U63(proper(X1), proper(X2), proper(X3)) , proper(U64(X1, X2, X3)) -> U64(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(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 {44,45} by applications of Pre({44,45}) = {}. Here rules are labeled as follows: DPs: { 1: U11^#(mark(X1), X2, X3) -> c_48(U11^#(X1, X2, X3)) , 2: U11^#(ok(X1), ok(X2), ok(X3)) -> c_49(U11^#(X1, X2, X3)) , 3: U12^#(mark(X1), X2, X3) -> c_50(U12^#(X1, X2, X3)) , 4: U12^#(ok(X1), ok(X2), ok(X3)) -> c_51(U12^#(X1, X2, X3)) , 5: U13^#(mark(X1), X2, X3) -> c_53(U13^#(X1, X2, X3)) , 6: U13^#(ok(X1), ok(X2), ok(X3)) -> c_54(U13^#(X1, X2, X3)) , 7: U41^#(mark(X)) -> c_72(U41^#(X)) , 8: U41^#(ok(X)) -> c_73(U41^#(X)) , 9: U31^#(mark(X1), X2) -> c_68(U31^#(X1, X2)) , 10: U31^#(ok(X1), ok(X2)) -> c_69(U31^#(X1, X2)) , 11: U14^#(mark(X1), X2, X3) -> c_55(U14^#(X1, X2, X3)) , 12: U14^#(ok(X1), ok(X2), ok(X3)) -> c_56(U14^#(X1, X2, X3)) , 13: U15^#(mark(X1), X2) -> c_57(U15^#(X1, X2)) , 14: U15^#(ok(X1), ok(X2)) -> c_58(U15^#(X1, X2)) , 15: U16^#(mark(X)) -> c_60(U16^#(X)) , 16: U16^#(ok(X)) -> c_61(U16^#(X)) , 17: U21^#(mark(X1), X2) -> c_62(U21^#(X1, X2)) , 18: U21^#(ok(X1), ok(X2)) -> c_63(U21^#(X1, X2)) , 19: U22^#(mark(X1), X2) -> c_64(U22^#(X1, X2)) , 20: U22^#(ok(X1), ok(X2)) -> c_65(U22^#(X1, X2)) , 21: U23^#(mark(X)) -> c_66(U23^#(X)) , 22: U23^#(ok(X)) -> c_67(U23^#(X)) , 23: U32^#(mark(X)) -> c_70(U32^#(X)) , 24: U32^#(ok(X)) -> c_71(U32^#(X)) , 25: U51^#(mark(X1), X2) -> c_74(U51^#(X1, X2)) , 26: U51^#(ok(X1), ok(X2)) -> c_75(U51^#(X1, X2)) , 27: U52^#(mark(X1), X2) -> c_76(U52^#(X1, X2)) , 28: U52^#(ok(X1), ok(X2)) -> c_77(U52^#(X1, X2)) , 29: U61^#(mark(X1), X2, X3) -> c_78(U61^#(X1, X2, X3)) , 30: U61^#(ok(X1), ok(X2), ok(X3)) -> c_79(U61^#(X1, X2, X3)) , 31: U62^#(mark(X1), X2, X3) -> c_80(U62^#(X1, X2, X3)) , 32: U62^#(ok(X1), ok(X2), ok(X3)) -> c_81(U62^#(X1, X2, X3)) , 33: U63^#(mark(X1), X2, X3) -> c_82(U63^#(X1, X2, X3)) , 34: U63^#(ok(X1), ok(X2), ok(X3)) -> c_83(U63^#(X1, X2, X3)) , 35: U64^#(mark(X1), X2, X3) -> c_84(U64^#(X1, X2, X3)) , 36: U64^#(ok(X1), ok(X2), ok(X3)) -> c_85(U64^#(X1, X2, X3)) , 37: s^#(mark(X)) -> c_86(s^#(X)) , 38: s^#(ok(X)) -> c_87(s^#(X)) , 39: plus^#(X1, mark(X2)) -> c_88(plus^#(X1, X2)) , 40: plus^#(mark(X1), X2) -> c_89(plus^#(X1, X2)) , 41: plus^#(ok(X1), ok(X2)) -> c_90(plus^#(X1, X2)) , 42: isNatKind^#(ok(X)) -> c_52(isNatKind^#(X)) , 43: isNat^#(ok(X)) -> c_59(isNat^#(X)) , 44: proper^#(tt()) -> c_92() , 45: proper^#(0()) -> c_114() , 46: top^#(mark(X)) -> c_115(top^#(proper(X))) , 47: top^#(ok(X)) -> c_116(top^#(active(X))) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { U11^#(mark(X1), X2, X3) -> c_48(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_49(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2, X3) -> c_50(U12^#(X1, X2, X3)) , U12^#(ok(X1), ok(X2), ok(X3)) -> c_51(U12^#(X1, X2, X3)) , U13^#(mark(X1), X2, X3) -> c_53(U13^#(X1, X2, X3)) , U13^#(ok(X1), ok(X2), ok(X3)) -> c_54(U13^#(X1, X2, X3)) , U41^#(mark(X)) -> c_72(U41^#(X)) , U41^#(ok(X)) -> c_73(U41^#(X)) , U31^#(mark(X1), X2) -> c_68(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_69(U31^#(X1, X2)) , U14^#(mark(X1), X2, X3) -> c_55(U14^#(X1, X2, X3)) , U14^#(ok(X1), ok(X2), ok(X3)) -> c_56(U14^#(X1, X2, X3)) , U15^#(mark(X1), X2) -> c_57(U15^#(X1, X2)) , U15^#(ok(X1), ok(X2)) -> c_58(U15^#(X1, X2)) , U16^#(mark(X)) -> c_60(U16^#(X)) , U16^#(ok(X)) -> c_61(U16^#(X)) , U21^#(mark(X1), X2) -> c_62(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_63(U21^#(X1, X2)) , U22^#(mark(X1), X2) -> c_64(U22^#(X1, X2)) , U22^#(ok(X1), ok(X2)) -> c_65(U22^#(X1, X2)) , U23^#(mark(X)) -> c_66(U23^#(X)) , U23^#(ok(X)) -> c_67(U23^#(X)) , U32^#(mark(X)) -> c_70(U32^#(X)) , U32^#(ok(X)) -> c_71(U32^#(X)) , U51^#(mark(X1), X2) -> c_74(U51^#(X1, X2)) , U51^#(ok(X1), ok(X2)) -> c_75(U51^#(X1, X2)) , U52^#(mark(X1), X2) -> c_76(U52^#(X1, X2)) , U52^#(ok(X1), ok(X2)) -> c_77(U52^#(X1, X2)) , U61^#(mark(X1), X2, X3) -> c_78(U61^#(X1, X2, X3)) , U61^#(ok(X1), ok(X2), ok(X3)) -> c_79(U61^#(X1, X2, X3)) , U62^#(mark(X1), X2, X3) -> c_80(U62^#(X1, X2, X3)) , U62^#(ok(X1), ok(X2), ok(X3)) -> c_81(U62^#(X1, X2, X3)) , U63^#(mark(X1), X2, X3) -> c_82(U63^#(X1, X2, X3)) , U63^#(ok(X1), ok(X2), ok(X3)) -> c_83(U63^#(X1, X2, X3)) , U64^#(mark(X1), X2, X3) -> c_84(U64^#(X1, X2, X3)) , U64^#(ok(X1), ok(X2), ok(X3)) -> c_85(U64^#(X1, X2, X3)) , s^#(mark(X)) -> c_86(s^#(X)) , s^#(ok(X)) -> c_87(s^#(X)) , plus^#(X1, mark(X2)) -> c_88(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_89(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_90(plus^#(X1, X2)) , isNatKind^#(ok(X)) -> c_52(isNatKind^#(X)) , isNat^#(ok(X)) -> c_59(isNat^#(X)) , top^#(mark(X)) -> c_115(top^#(proper(X))) , top^#(ok(X)) -> c_116(top^#(active(X))) } Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) , active(U12(X1, X2, X3)) -> U12(active(X1), X2, X3) , active(U12(tt(), V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) , active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) , active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) , active(isNatKind(0())) -> mark(tt()) , active(U13(X1, X2, X3)) -> U13(active(X1), X2, X3) , active(U13(tt(), V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) , active(U14(X1, X2, X3)) -> U14(active(X1), X2, X3) , active(U14(tt(), V1, V2)) -> mark(U15(isNat(V1), V2)) , active(U15(X1, X2)) -> U15(active(X1), X2) , active(U15(tt(), V2)) -> mark(U16(isNat(V2))) , active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) , active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) , active(isNat(0())) -> mark(tt()) , active(U16(X)) -> U16(active(X)) , active(U16(tt())) -> mark(tt()) , active(U21(X1, X2)) -> U21(active(X1), X2) , active(U21(tt(), V1)) -> mark(U22(isNatKind(V1), V1)) , active(U22(X1, X2)) -> U22(active(X1), X2) , active(U22(tt(), V1)) -> mark(U23(isNat(V1))) , active(U23(X)) -> U23(active(X)) , active(U23(tt())) -> mark(tt()) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), V2)) -> mark(U32(isNatKind(V2))) , active(U32(X)) -> U32(active(X)) , active(U32(tt())) -> mark(tt()) , active(U41(X)) -> U41(active(X)) , active(U41(tt())) -> mark(tt()) , active(U51(X1, X2)) -> U51(active(X1), X2) , active(U51(tt(), N)) -> mark(U52(isNatKind(N), N)) , active(U52(X1, X2)) -> U52(active(X1), X2) , active(U52(tt(), N)) -> mark(N) , active(U61(X1, X2, X3)) -> U61(active(X1), X2, X3) , active(U61(tt(), M, N)) -> mark(U62(isNatKind(M), M, N)) , active(U62(X1, X2, X3)) -> U62(active(X1), X2, X3) , active(U62(tt(), M, N)) -> mark(U63(isNat(N), M, N)) , active(U63(X1, X2, X3)) -> U63(active(X1), X2, X3) , active(U63(tt(), M, N)) -> mark(U64(isNatKind(N), M, N)) , active(U64(X1, X2, X3)) -> U64(active(X1), X2, X3) , active(U64(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(U61(isNat(M), M, N)) , active(plus(N, 0())) -> mark(U51(isNat(N), N)) , 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)) , isNatKind(ok(X)) -> ok(isNatKind(X)) , U13(mark(X1), X2, X3) -> mark(U13(X1, X2, X3)) , U13(ok(X1), ok(X2), ok(X3)) -> ok(U13(X1, X2, X3)) , U14(mark(X1), X2, X3) -> mark(U14(X1, X2, X3)) , U14(ok(X1), ok(X2), ok(X3)) -> ok(U14(X1, X2, X3)) , U15(mark(X1), X2) -> mark(U15(X1, X2)) , U15(ok(X1), ok(X2)) -> ok(U15(X1, X2)) , isNat(ok(X)) -> ok(isNat(X)) , U16(mark(X)) -> mark(U16(X)) , U16(ok(X)) -> ok(U16(X)) , U21(mark(X1), X2) -> mark(U21(X1, X2)) , U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)) , U22(mark(X1), X2) -> mark(U22(X1, X2)) , U22(ok(X1), ok(X2)) -> ok(U22(X1, X2)) , U23(mark(X)) -> mark(U23(X)) , U23(ok(X)) -> ok(U23(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(X)) -> mark(U41(X)) , U41(ok(X)) -> ok(U41(X)) , U51(mark(X1), X2) -> mark(U51(X1, X2)) , U51(ok(X1), ok(X2)) -> ok(U51(X1, X2)) , U52(mark(X1), X2) -> mark(U52(X1, X2)) , U52(ok(X1), ok(X2)) -> ok(U52(X1, X2)) , U61(mark(X1), X2, X3) -> mark(U61(X1, X2, X3)) , U61(ok(X1), ok(X2), ok(X3)) -> ok(U61(X1, X2, X3)) , U62(mark(X1), X2, X3) -> mark(U62(X1, X2, X3)) , U62(ok(X1), ok(X2), ok(X3)) -> ok(U62(X1, X2, X3)) , U63(mark(X1), X2, X3) -> mark(U63(X1, X2, X3)) , U63(ok(X1), ok(X2), ok(X3)) -> ok(U63(X1, X2, X3)) , U64(mark(X1), X2, X3) -> mark(U64(X1, X2, X3)) , U64(ok(X1), ok(X2), ok(X3)) -> ok(U64(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)) , 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(isNatKind(X)) -> isNatKind(proper(X)) , proper(U13(X1, X2, X3)) -> U13(proper(X1), proper(X2), proper(X3)) , proper(U14(X1, X2, X3)) -> U14(proper(X1), proper(X2), proper(X3)) , proper(U15(X1, X2)) -> U15(proper(X1), proper(X2)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U16(X)) -> U16(proper(X)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X1, X2)) -> U22(proper(X1), proper(X2)) , proper(U23(X)) -> U23(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X)) -> U32(proper(X)) , proper(U41(X)) -> U41(proper(X)) , proper(U51(X1, X2)) -> U51(proper(X1), proper(X2)) , proper(U52(X1, X2)) -> U52(proper(X1), proper(X2)) , proper(U61(X1, X2, X3)) -> U61(proper(X1), proper(X2), proper(X3)) , proper(U62(X1, X2, X3)) -> U62(proper(X1), proper(X2), proper(X3)) , proper(U63(X1, X2, X3)) -> U63(proper(X1), proper(X2), proper(X3)) , proper(U64(X1, X2, X3)) -> U64(proper(X1), proper(X2), proper(X3)) , proper(s(X)) -> s(proper(X)) , proper(plus(X1, X2)) -> plus(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_92() , proper^#(0()) -> c_114() } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..