MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { active(zeros()) -> mark(cons(0(), zeros())) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(U11(X1, X2)) -> U11(active(X1), X2) , active(U11(tt(), V1)) -> mark(U12(isNatIListKind(V1), V1)) , active(U12(X1, X2)) -> U12(active(X1), X2) , active(U12(tt(), V1)) -> mark(U13(isNatList(V1))) , active(isNatIListKind(zeros())) -> mark(tt()) , active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) , active(isNatIListKind(nil())) -> mark(tt()) , active(U13(X)) -> U13(active(X)) , active(U13(tt())) -> mark(tt()) , active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) , active(isNatList(nil())) -> 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(isNatKind(0())) -> mark(tt()) , active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) , active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) , active(U23(X)) -> U23(active(X)) , active(U23(tt())) -> mark(tt()) , active(isNat(0())) -> mark(tt()) , active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) , active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), V)) -> mark(U32(isNatIListKind(V), V)) , active(U32(X1, X2)) -> U32(active(X1), X2) , active(U32(tt(), V)) -> mark(U33(isNatList(V))) , active(U33(X)) -> U33(active(X)) , active(U33(tt())) -> mark(tt()) , active(U41(X1, X2, X3)) -> U41(active(X1), X2, X3) , active(U41(tt(), V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) , active(U42(X1, X2, X3)) -> U42(active(X1), X2, X3) , active(U42(tt(), V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) , active(U43(X1, X2, X3)) -> U43(active(X1), X2, X3) , active(U43(tt(), V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) , active(U44(X1, X2, X3)) -> U44(active(X1), X2, X3) , active(U44(tt(), V1, V2)) -> mark(U45(isNat(V1), V2)) , active(U45(X1, X2)) -> U45(active(X1), X2) , active(U45(tt(), V2)) -> mark(U46(isNatIList(V2))) , active(U46(X)) -> U46(active(X)) , active(U46(tt())) -> mark(tt()) , active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) , active(isNatIList(zeros())) -> mark(tt()) , active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) , active(U51(X1, X2)) -> U51(active(X1), X2) , active(U51(tt(), V2)) -> mark(U52(isNatIListKind(V2))) , active(U52(X)) -> U52(active(X)) , active(U52(tt())) -> mark(tt()) , active(U61(X)) -> U61(active(X)) , active(U61(tt())) -> mark(tt()) , active(U71(X)) -> U71(active(X)) , active(U71(tt())) -> mark(tt()) , active(U81(X1, X2, X3)) -> U81(active(X1), X2, X3) , active(U81(tt(), V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) , active(U82(X1, X2, X3)) -> U82(active(X1), X2, X3) , active(U82(tt(), V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) , active(U83(X1, X2, X3)) -> U83(active(X1), X2, X3) , active(U83(tt(), V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) , active(U84(X1, X2, X3)) -> U84(active(X1), X2, X3) , active(U84(tt(), V1, V2)) -> mark(U85(isNat(V1), V2)) , active(U85(X1, X2)) -> U85(active(X1), X2) , active(U85(tt(), V2)) -> mark(U86(isNatList(V2))) , active(U86(X)) -> U86(active(X)) , active(U86(tt())) -> mark(tt()) , active(U91(X1, X2, X3)) -> U91(active(X1), X2, X3) , active(U91(tt(), L, N)) -> mark(U92(isNatIListKind(L), L, N)) , active(U92(X1, X2, X3)) -> U92(active(X1), X2, X3) , active(U92(tt(), L, N)) -> mark(U93(isNat(N), L, N)) , active(U93(X1, X2, X3)) -> U93(active(X1), X2, X3) , active(U93(tt(), L, N)) -> mark(U94(isNatKind(N), L)) , active(U94(X1, X2)) -> U94(active(X1), X2) , active(U94(tt(), L)) -> mark(s(length(L))) , active(s(X)) -> s(active(X)) , active(length(X)) -> length(active(X)) , active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) , active(length(nil())) -> mark(0()) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , U11(mark(X1), X2) -> mark(U11(X1, X2)) , U11(ok(X1), ok(X2)) -> ok(U11(X1, X2)) , U12(mark(X1), X2) -> mark(U12(X1, X2)) , U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)) , isNatIListKind(ok(X)) -> ok(isNatIListKind(X)) , U13(mark(X)) -> mark(U13(X)) , U13(ok(X)) -> ok(U13(X)) , isNatList(ok(X)) -> ok(isNatList(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)) , isNatKind(ok(X)) -> ok(isNatKind(X)) , U23(mark(X)) -> mark(U23(X)) , U23(ok(X)) -> ok(U23(X)) , isNat(ok(X)) -> ok(isNat(X)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U32(mark(X1), X2) -> mark(U32(X1, X2)) , U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)) , U33(mark(X)) -> mark(U33(X)) , U33(ok(X)) -> ok(U33(X)) , U41(mark(X1), X2, X3) -> mark(U41(X1, X2, X3)) , U41(ok(X1), ok(X2), ok(X3)) -> ok(U41(X1, X2, X3)) , U42(mark(X1), X2, X3) -> mark(U42(X1, X2, X3)) , U42(ok(X1), ok(X2), ok(X3)) -> ok(U42(X1, X2, X3)) , U43(mark(X1), X2, X3) -> mark(U43(X1, X2, X3)) , U43(ok(X1), ok(X2), ok(X3)) -> ok(U43(X1, X2, X3)) , U44(mark(X1), X2, X3) -> mark(U44(X1, X2, X3)) , U44(ok(X1), ok(X2), ok(X3)) -> ok(U44(X1, X2, X3)) , U45(mark(X1), X2) -> mark(U45(X1, X2)) , U45(ok(X1), ok(X2)) -> ok(U45(X1, X2)) , U46(mark(X)) -> mark(U46(X)) , U46(ok(X)) -> ok(U46(X)) , isNatIList(ok(X)) -> ok(isNatIList(X)) , U51(mark(X1), X2) -> mark(U51(X1, X2)) , U51(ok(X1), ok(X2)) -> ok(U51(X1, X2)) , U52(mark(X)) -> mark(U52(X)) , U52(ok(X)) -> ok(U52(X)) , U61(mark(X)) -> mark(U61(X)) , U61(ok(X)) -> ok(U61(X)) , U71(mark(X)) -> mark(U71(X)) , U71(ok(X)) -> ok(U71(X)) , U81(mark(X1), X2, X3) -> mark(U81(X1, X2, X3)) , U81(ok(X1), ok(X2), ok(X3)) -> ok(U81(X1, X2, X3)) , U82(mark(X1), X2, X3) -> mark(U82(X1, X2, X3)) , U82(ok(X1), ok(X2), ok(X3)) -> ok(U82(X1, X2, X3)) , U83(mark(X1), X2, X3) -> mark(U83(X1, X2, X3)) , U83(ok(X1), ok(X2), ok(X3)) -> ok(U83(X1, X2, X3)) , U84(mark(X1), X2, X3) -> mark(U84(X1, X2, X3)) , U84(ok(X1), ok(X2), ok(X3)) -> ok(U84(X1, X2, X3)) , U85(mark(X1), X2) -> mark(U85(X1, X2)) , U85(ok(X1), ok(X2)) -> ok(U85(X1, X2)) , U86(mark(X)) -> mark(U86(X)) , U86(ok(X)) -> ok(U86(X)) , U91(mark(X1), X2, X3) -> mark(U91(X1, X2, X3)) , U91(ok(X1), ok(X2), ok(X3)) -> ok(U91(X1, X2, X3)) , U92(mark(X1), X2, X3) -> mark(U92(X1, X2, X3)) , U92(ok(X1), ok(X2), ok(X3)) -> ok(U92(X1, X2, X3)) , U93(mark(X1), X2, X3) -> mark(U93(X1, X2, X3)) , U93(ok(X1), ok(X2), ok(X3)) -> ok(U93(X1, X2, X3)) , U94(mark(X1), X2) -> mark(U94(X1, X2)) , U94(ok(X1), ok(X2)) -> ok(U94(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , length(mark(X)) -> mark(length(X)) , length(ok(X)) -> ok(length(X)) , proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(U11(X1, X2)) -> U11(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)) , proper(isNatIListKind(X)) -> isNatIListKind(proper(X)) , proper(U13(X)) -> U13(proper(X)) , proper(isNatList(X)) -> isNatList(proper(X)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X1, X2)) -> U22(proper(X1), proper(X2)) , proper(isNatKind(X)) -> isNatKind(proper(X)) , proper(U23(X)) -> U23(proper(X)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)) , proper(U33(X)) -> U33(proper(X)) , proper(U41(X1, X2, X3)) -> U41(proper(X1), proper(X2), proper(X3)) , proper(U42(X1, X2, X3)) -> U42(proper(X1), proper(X2), proper(X3)) , proper(U43(X1, X2, X3)) -> U43(proper(X1), proper(X2), proper(X3)) , proper(U44(X1, X2, X3)) -> U44(proper(X1), proper(X2), proper(X3)) , proper(U45(X1, X2)) -> U45(proper(X1), proper(X2)) , proper(U46(X)) -> U46(proper(X)) , proper(isNatIList(X)) -> isNatIList(proper(X)) , proper(U51(X1, X2)) -> U51(proper(X1), proper(X2)) , proper(U52(X)) -> U52(proper(X)) , proper(U61(X)) -> U61(proper(X)) , proper(U71(X)) -> U71(proper(X)) , proper(U81(X1, X2, X3)) -> U81(proper(X1), proper(X2), proper(X3)) , proper(U82(X1, X2, X3)) -> U82(proper(X1), proper(X2), proper(X3)) , proper(U83(X1, X2, X3)) -> U83(proper(X1), proper(X2), proper(X3)) , proper(U84(X1, X2, X3)) -> U84(proper(X1), proper(X2), proper(X3)) , proper(U85(X1, X2)) -> U85(proper(X1), proper(X2)) , proper(U86(X)) -> U86(proper(X)) , proper(U91(X1, X2, X3)) -> U91(proper(X1), proper(X2), proper(X3)) , proper(U92(X1, X2, X3)) -> U92(proper(X1), proper(X2), proper(X3)) , proper(U93(X1, X2, X3)) -> U93(proper(X1), proper(X2), proper(X3)) , proper(U94(X1, X2)) -> U94(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'WithProblem (timeout of 60 seconds)' failed due to the following reason: Computation stopped due to timeout after 60.0 seconds. 2) 'Best' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'WithProblem (timeout of 30 seconds) (timeout of 60 seconds)' failed due to the following reason: Computation stopped due to timeout after 30.0 seconds. 2) 'Fastest (timeout of 5 seconds) (timeout of 60 seconds)' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'Bounds with minimal-enrichment and initial automaton 'match'' failed due to the following reason: match-boundness of the problem could not be verified. 2) 'Bounds with perSymbol-enrichment and initial automaton 'match'' failed due to the following reason: match-boundness of the problem could not be verified. 3) 'Best' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'Polynomial Path Order (PS) (timeout of 60 seconds)' failed due to the following reason: The processor is inapplicable, reason: Processor only applicable for innermost runtime complexity analysis 2) 'bsearch-popstar (timeout of 60 seconds)' failed due to the following reason: The processor is inapplicable, reason: Processor only applicable for innermost runtime complexity analysis 3) 'Innermost Weak Dependency Pairs (timeout of 60 seconds)' failed due to the following reason: We add the following weak dependency pairs: Strict DPs: { active^#(zeros()) -> c_1(cons^#(0(), zeros())) , active^#(cons(X1, X2)) -> c_2(cons^#(active(X1), X2)) , active^#(U11(X1, X2)) -> c_3(U11^#(active(X1), X2)) , active^#(U11(tt(), V1)) -> c_4(U12^#(isNatIListKind(V1), V1)) , active^#(U12(X1, X2)) -> c_5(U12^#(active(X1), X2)) , active^#(U12(tt(), V1)) -> c_6(U13^#(isNatList(V1))) , active^#(isNatIListKind(zeros())) -> c_7() , active^#(isNatIListKind(cons(V1, V2))) -> c_8(U51^#(isNatKind(V1), V2)) , active^#(isNatIListKind(nil())) -> c_9() , active^#(U13(X)) -> c_10(U13^#(active(X))) , active^#(U13(tt())) -> c_11() , active^#(isNatList(cons(V1, V2))) -> c_12(U81^#(isNatKind(V1), V1, V2)) , active^#(isNatList(nil())) -> c_13() , active^#(U21(X1, X2)) -> c_14(U21^#(active(X1), X2)) , active^#(U21(tt(), V1)) -> c_15(U22^#(isNatKind(V1), V1)) , active^#(U22(X1, X2)) -> c_16(U22^#(active(X1), X2)) , active^#(U22(tt(), V1)) -> c_17(U23^#(isNat(V1))) , active^#(isNatKind(0())) -> c_18() , active^#(isNatKind(s(V1))) -> c_19(U71^#(isNatKind(V1))) , active^#(isNatKind(length(V1))) -> c_20(U61^#(isNatIListKind(V1))) , active^#(U23(X)) -> c_21(U23^#(active(X))) , active^#(U23(tt())) -> c_22() , active^#(isNat(0())) -> c_23() , active^#(isNat(s(V1))) -> c_24(U21^#(isNatKind(V1), V1)) , active^#(isNat(length(V1))) -> c_25(U11^#(isNatIListKind(V1), V1)) , active^#(U31(X1, X2)) -> c_26(U31^#(active(X1), X2)) , active^#(U31(tt(), V)) -> c_27(U32^#(isNatIListKind(V), V)) , active^#(U32(X1, X2)) -> c_28(U32^#(active(X1), X2)) , active^#(U32(tt(), V)) -> c_29(U33^#(isNatList(V))) , active^#(U33(X)) -> c_30(U33^#(active(X))) , active^#(U33(tt())) -> c_31() , active^#(U41(X1, X2, X3)) -> c_32(U41^#(active(X1), X2, X3)) , active^#(U41(tt(), V1, V2)) -> c_33(U42^#(isNatKind(V1), V1, V2)) , active^#(U42(X1, X2, X3)) -> c_34(U42^#(active(X1), X2, X3)) , active^#(U42(tt(), V1, V2)) -> c_35(U43^#(isNatIListKind(V2), V1, V2)) , active^#(U43(X1, X2, X3)) -> c_36(U43^#(active(X1), X2, X3)) , active^#(U43(tt(), V1, V2)) -> c_37(U44^#(isNatIListKind(V2), V1, V2)) , active^#(U44(X1, X2, X3)) -> c_38(U44^#(active(X1), X2, X3)) , active^#(U44(tt(), V1, V2)) -> c_39(U45^#(isNat(V1), V2)) , active^#(U45(X1, X2)) -> c_40(U45^#(active(X1), X2)) , active^#(U45(tt(), V2)) -> c_41(U46^#(isNatIList(V2))) , active^#(U46(X)) -> c_42(U46^#(active(X))) , active^#(U46(tt())) -> c_43() , active^#(isNatIList(V)) -> c_44(U31^#(isNatIListKind(V), V)) , active^#(isNatIList(zeros())) -> c_45() , active^#(isNatIList(cons(V1, V2))) -> c_46(U41^#(isNatKind(V1), V1, V2)) , active^#(U51(X1, X2)) -> c_47(U51^#(active(X1), X2)) , active^#(U51(tt(), V2)) -> c_48(U52^#(isNatIListKind(V2))) , active^#(U52(X)) -> c_49(U52^#(active(X))) , active^#(U52(tt())) -> c_50() , active^#(U61(X)) -> c_51(U61^#(active(X))) , active^#(U61(tt())) -> c_52() , active^#(U71(X)) -> c_53(U71^#(active(X))) , active^#(U71(tt())) -> c_54() , active^#(U81(X1, X2, X3)) -> c_55(U81^#(active(X1), X2, X3)) , active^#(U81(tt(), V1, V2)) -> c_56(U82^#(isNatKind(V1), V1, V2)) , active^#(U82(X1, X2, X3)) -> c_57(U82^#(active(X1), X2, X3)) , active^#(U82(tt(), V1, V2)) -> c_58(U83^#(isNatIListKind(V2), V1, V2)) , active^#(U83(X1, X2, X3)) -> c_59(U83^#(active(X1), X2, X3)) , active^#(U83(tt(), V1, V2)) -> c_60(U84^#(isNatIListKind(V2), V1, V2)) , active^#(U84(X1, X2, X3)) -> c_61(U84^#(active(X1), X2, X3)) , active^#(U84(tt(), V1, V2)) -> c_62(U85^#(isNat(V1), V2)) , active^#(U85(X1, X2)) -> c_63(U85^#(active(X1), X2)) , active^#(U85(tt(), V2)) -> c_64(U86^#(isNatList(V2))) , active^#(U86(X)) -> c_65(U86^#(active(X))) , active^#(U86(tt())) -> c_66() , active^#(U91(X1, X2, X3)) -> c_67(U91^#(active(X1), X2, X3)) , active^#(U91(tt(), L, N)) -> c_68(U92^#(isNatIListKind(L), L, N)) , active^#(U92(X1, X2, X3)) -> c_69(U92^#(active(X1), X2, X3)) , active^#(U92(tt(), L, N)) -> c_70(U93^#(isNat(N), L, N)) , active^#(U93(X1, X2, X3)) -> c_71(U93^#(active(X1), X2, X3)) , active^#(U93(tt(), L, N)) -> c_72(U94^#(isNatKind(N), L)) , active^#(U94(X1, X2)) -> c_73(U94^#(active(X1), X2)) , active^#(U94(tt(), L)) -> c_74(s^#(length(L))) , active^#(s(X)) -> c_75(s^#(active(X))) , active^#(length(X)) -> c_76(length^#(active(X))) , active^#(length(cons(N, L))) -> c_77(U91^#(isNatList(L), L, N)) , active^#(length(nil())) -> c_78() , cons^#(mark(X1), X2) -> c_79(cons^#(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_80(cons^#(X1, X2)) , U11^#(mark(X1), X2) -> c_81(U11^#(X1, X2)) , U11^#(ok(X1), ok(X2)) -> c_82(U11^#(X1, X2)) , U12^#(mark(X1), X2) -> c_83(U12^#(X1, X2)) , U12^#(ok(X1), ok(X2)) -> c_84(U12^#(X1, X2)) , U13^#(mark(X)) -> c_86(U13^#(X)) , U13^#(ok(X)) -> c_87(U13^#(X)) , U51^#(mark(X1), X2) -> c_116(U51^#(X1, X2)) , U51^#(ok(X1), ok(X2)) -> c_117(U51^#(X1, X2)) , U81^#(mark(X1), X2, X3) -> c_124(U81^#(X1, X2, X3)) , U81^#(ok(X1), ok(X2), ok(X3)) -> c_125(U81^#(X1, X2, X3)) , U21^#(mark(X1), X2) -> c_89(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_90(U21^#(X1, X2)) , U22^#(mark(X1), X2) -> c_91(U22^#(X1, X2)) , U22^#(ok(X1), ok(X2)) -> c_92(U22^#(X1, X2)) , U23^#(mark(X)) -> c_94(U23^#(X)) , U23^#(ok(X)) -> c_95(U23^#(X)) , U71^#(mark(X)) -> c_122(U71^#(X)) , U71^#(ok(X)) -> c_123(U71^#(X)) , U61^#(mark(X)) -> c_120(U61^#(X)) , U61^#(ok(X)) -> c_121(U61^#(X)) , U31^#(mark(X1), X2) -> c_97(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_98(U31^#(X1, X2)) , U32^#(mark(X1), X2) -> c_99(U32^#(X1, X2)) , U32^#(ok(X1), ok(X2)) -> c_100(U32^#(X1, X2)) , U33^#(mark(X)) -> c_101(U33^#(X)) , U33^#(ok(X)) -> c_102(U33^#(X)) , U41^#(mark(X1), X2, X3) -> c_103(U41^#(X1, X2, X3)) , U41^#(ok(X1), ok(X2), ok(X3)) -> c_104(U41^#(X1, X2, X3)) , U42^#(mark(X1), X2, X3) -> c_105(U42^#(X1, X2, X3)) , U42^#(ok(X1), ok(X2), ok(X3)) -> c_106(U42^#(X1, X2, X3)) , U43^#(mark(X1), X2, X3) -> c_107(U43^#(X1, X2, X3)) , U43^#(ok(X1), ok(X2), ok(X3)) -> c_108(U43^#(X1, X2, X3)) , U44^#(mark(X1), X2, X3) -> c_109(U44^#(X1, X2, X3)) , U44^#(ok(X1), ok(X2), ok(X3)) -> c_110(U44^#(X1, X2, X3)) , U45^#(mark(X1), X2) -> c_111(U45^#(X1, X2)) , U45^#(ok(X1), ok(X2)) -> c_112(U45^#(X1, X2)) , U46^#(mark(X)) -> c_113(U46^#(X)) , U46^#(ok(X)) -> c_114(U46^#(X)) , U52^#(mark(X)) -> c_118(U52^#(X)) , U52^#(ok(X)) -> c_119(U52^#(X)) , U82^#(mark(X1), X2, X3) -> c_126(U82^#(X1, X2, X3)) , U82^#(ok(X1), ok(X2), ok(X3)) -> c_127(U82^#(X1, X2, X3)) , U83^#(mark(X1), X2, X3) -> c_128(U83^#(X1, X2, X3)) , U83^#(ok(X1), ok(X2), ok(X3)) -> c_129(U83^#(X1, X2, X3)) , U84^#(mark(X1), X2, X3) -> c_130(U84^#(X1, X2, X3)) , U84^#(ok(X1), ok(X2), ok(X3)) -> c_131(U84^#(X1, X2, X3)) , U85^#(mark(X1), X2) -> c_132(U85^#(X1, X2)) , U85^#(ok(X1), ok(X2)) -> c_133(U85^#(X1, X2)) , U86^#(mark(X)) -> c_134(U86^#(X)) , U86^#(ok(X)) -> c_135(U86^#(X)) , U91^#(mark(X1), X2, X3) -> c_136(U91^#(X1, X2, X3)) , U91^#(ok(X1), ok(X2), ok(X3)) -> c_137(U91^#(X1, X2, X3)) , U92^#(mark(X1), X2, X3) -> c_138(U92^#(X1, X2, X3)) , U92^#(ok(X1), ok(X2), ok(X3)) -> c_139(U92^#(X1, X2, X3)) , U93^#(mark(X1), X2, X3) -> c_140(U93^#(X1, X2, X3)) , U93^#(ok(X1), ok(X2), ok(X3)) -> c_141(U93^#(X1, X2, X3)) , U94^#(mark(X1), X2) -> c_142(U94^#(X1, X2)) , U94^#(ok(X1), ok(X2)) -> c_143(U94^#(X1, X2)) , s^#(mark(X)) -> c_144(s^#(X)) , s^#(ok(X)) -> c_145(s^#(X)) , length^#(mark(X)) -> c_146(length^#(X)) , length^#(ok(X)) -> c_147(length^#(X)) , isNatIListKind^#(ok(X)) -> c_85(isNatIListKind^#(X)) , isNatList^#(ok(X)) -> c_88(isNatList^#(X)) , isNatKind^#(ok(X)) -> c_93(isNatKind^#(X)) , isNat^#(ok(X)) -> c_96(isNat^#(X)) , isNatIList^#(ok(X)) -> c_115(isNatIList^#(X)) , proper^#(zeros()) -> c_148() , proper^#(cons(X1, X2)) -> c_149(cons^#(proper(X1), proper(X2))) , proper^#(0()) -> c_150() , proper^#(U11(X1, X2)) -> c_151(U11^#(proper(X1), proper(X2))) , proper^#(tt()) -> c_152() , proper^#(U12(X1, X2)) -> c_153(U12^#(proper(X1), proper(X2))) , proper^#(isNatIListKind(X)) -> c_154(isNatIListKind^#(proper(X))) , proper^#(U13(X)) -> c_155(U13^#(proper(X))) , proper^#(isNatList(X)) -> c_156(isNatList^#(proper(X))) , proper^#(U21(X1, X2)) -> c_157(U21^#(proper(X1), proper(X2))) , proper^#(U22(X1, X2)) -> c_158(U22^#(proper(X1), proper(X2))) , proper^#(isNatKind(X)) -> c_159(isNatKind^#(proper(X))) , proper^#(U23(X)) -> c_160(U23^#(proper(X))) , proper^#(isNat(X)) -> c_161(isNat^#(proper(X))) , proper^#(U31(X1, X2)) -> c_162(U31^#(proper(X1), proper(X2))) , proper^#(U32(X1, X2)) -> c_163(U32^#(proper(X1), proper(X2))) , proper^#(U33(X)) -> c_164(U33^#(proper(X))) , proper^#(U41(X1, X2, X3)) -> c_165(U41^#(proper(X1), proper(X2), proper(X3))) , proper^#(U42(X1, X2, X3)) -> c_166(U42^#(proper(X1), proper(X2), proper(X3))) , proper^#(U43(X1, X2, X3)) -> c_167(U43^#(proper(X1), proper(X2), proper(X3))) , proper^#(U44(X1, X2, X3)) -> c_168(U44^#(proper(X1), proper(X2), proper(X3))) , proper^#(U45(X1, X2)) -> c_169(U45^#(proper(X1), proper(X2))) , proper^#(U46(X)) -> c_170(U46^#(proper(X))) , proper^#(isNatIList(X)) -> c_171(isNatIList^#(proper(X))) , proper^#(U51(X1, X2)) -> c_172(U51^#(proper(X1), proper(X2))) , proper^#(U52(X)) -> c_173(U52^#(proper(X))) , proper^#(U61(X)) -> c_174(U61^#(proper(X))) , proper^#(U71(X)) -> c_175(U71^#(proper(X))) , proper^#(U81(X1, X2, X3)) -> c_176(U81^#(proper(X1), proper(X2), proper(X3))) , proper^#(U82(X1, X2, X3)) -> c_177(U82^#(proper(X1), proper(X2), proper(X3))) , proper^#(U83(X1, X2, X3)) -> c_178(U83^#(proper(X1), proper(X2), proper(X3))) , proper^#(U84(X1, X2, X3)) -> c_179(U84^#(proper(X1), proper(X2), proper(X3))) , proper^#(U85(X1, X2)) -> c_180(U85^#(proper(X1), proper(X2))) , proper^#(U86(X)) -> c_181(U86^#(proper(X))) , proper^#(U91(X1, X2, X3)) -> c_182(U91^#(proper(X1), proper(X2), proper(X3))) , proper^#(U92(X1, X2, X3)) -> c_183(U92^#(proper(X1), proper(X2), proper(X3))) , proper^#(U93(X1, X2, X3)) -> c_184(U93^#(proper(X1), proper(X2), proper(X3))) , proper^#(U94(X1, X2)) -> c_185(U94^#(proper(X1), proper(X2))) , proper^#(s(X)) -> c_186(s^#(proper(X))) , proper^#(length(X)) -> c_187(length^#(proper(X))) , proper^#(nil()) -> c_188() , top^#(mark(X)) -> c_189(top^#(proper(X))) , top^#(ok(X)) -> c_190(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^#(zeros()) -> c_1(cons^#(0(), zeros())) , active^#(cons(X1, X2)) -> c_2(cons^#(active(X1), X2)) , active^#(U11(X1, X2)) -> c_3(U11^#(active(X1), X2)) , active^#(U11(tt(), V1)) -> c_4(U12^#(isNatIListKind(V1), V1)) , active^#(U12(X1, X2)) -> c_5(U12^#(active(X1), X2)) , active^#(U12(tt(), V1)) -> c_6(U13^#(isNatList(V1))) , active^#(isNatIListKind(zeros())) -> c_7() , active^#(isNatIListKind(cons(V1, V2))) -> c_8(U51^#(isNatKind(V1), V2)) , active^#(isNatIListKind(nil())) -> c_9() , active^#(U13(X)) -> c_10(U13^#(active(X))) , active^#(U13(tt())) -> c_11() , active^#(isNatList(cons(V1, V2))) -> c_12(U81^#(isNatKind(V1), V1, V2)) , active^#(isNatList(nil())) -> c_13() , active^#(U21(X1, X2)) -> c_14(U21^#(active(X1), X2)) , active^#(U21(tt(), V1)) -> c_15(U22^#(isNatKind(V1), V1)) , active^#(U22(X1, X2)) -> c_16(U22^#(active(X1), X2)) , active^#(U22(tt(), V1)) -> c_17(U23^#(isNat(V1))) , active^#(isNatKind(0())) -> c_18() , active^#(isNatKind(s(V1))) -> c_19(U71^#(isNatKind(V1))) , active^#(isNatKind(length(V1))) -> c_20(U61^#(isNatIListKind(V1))) , active^#(U23(X)) -> c_21(U23^#(active(X))) , active^#(U23(tt())) -> c_22() , active^#(isNat(0())) -> c_23() , active^#(isNat(s(V1))) -> c_24(U21^#(isNatKind(V1), V1)) , active^#(isNat(length(V1))) -> c_25(U11^#(isNatIListKind(V1), V1)) , active^#(U31(X1, X2)) -> c_26(U31^#(active(X1), X2)) , active^#(U31(tt(), V)) -> c_27(U32^#(isNatIListKind(V), V)) , active^#(U32(X1, X2)) -> c_28(U32^#(active(X1), X2)) , active^#(U32(tt(), V)) -> c_29(U33^#(isNatList(V))) , active^#(U33(X)) -> c_30(U33^#(active(X))) , active^#(U33(tt())) -> c_31() , active^#(U41(X1, X2, X3)) -> c_32(U41^#(active(X1), X2, X3)) , active^#(U41(tt(), V1, V2)) -> c_33(U42^#(isNatKind(V1), V1, V2)) , active^#(U42(X1, X2, X3)) -> c_34(U42^#(active(X1), X2, X3)) , active^#(U42(tt(), V1, V2)) -> c_35(U43^#(isNatIListKind(V2), V1, V2)) , active^#(U43(X1, X2, X3)) -> c_36(U43^#(active(X1), X2, X3)) , active^#(U43(tt(), V1, V2)) -> c_37(U44^#(isNatIListKind(V2), V1, V2)) , active^#(U44(X1, X2, X3)) -> c_38(U44^#(active(X1), X2, X3)) , active^#(U44(tt(), V1, V2)) -> c_39(U45^#(isNat(V1), V2)) , active^#(U45(X1, X2)) -> c_40(U45^#(active(X1), X2)) , active^#(U45(tt(), V2)) -> c_41(U46^#(isNatIList(V2))) , active^#(U46(X)) -> c_42(U46^#(active(X))) , active^#(U46(tt())) -> c_43() , active^#(isNatIList(V)) -> c_44(U31^#(isNatIListKind(V), V)) , active^#(isNatIList(zeros())) -> c_45() , active^#(isNatIList(cons(V1, V2))) -> c_46(U41^#(isNatKind(V1), V1, V2)) , active^#(U51(X1, X2)) -> c_47(U51^#(active(X1), X2)) , active^#(U51(tt(), V2)) -> c_48(U52^#(isNatIListKind(V2))) , active^#(U52(X)) -> c_49(U52^#(active(X))) , active^#(U52(tt())) -> c_50() , active^#(U61(X)) -> c_51(U61^#(active(X))) , active^#(U61(tt())) -> c_52() , active^#(U71(X)) -> c_53(U71^#(active(X))) , active^#(U71(tt())) -> c_54() , active^#(U81(X1, X2, X3)) -> c_55(U81^#(active(X1), X2, X3)) , active^#(U81(tt(), V1, V2)) -> c_56(U82^#(isNatKind(V1), V1, V2)) , active^#(U82(X1, X2, X3)) -> c_57(U82^#(active(X1), X2, X3)) , active^#(U82(tt(), V1, V2)) -> c_58(U83^#(isNatIListKind(V2), V1, V2)) , active^#(U83(X1, X2, X3)) -> c_59(U83^#(active(X1), X2, X3)) , active^#(U83(tt(), V1, V2)) -> c_60(U84^#(isNatIListKind(V2), V1, V2)) , active^#(U84(X1, X2, X3)) -> c_61(U84^#(active(X1), X2, X3)) , active^#(U84(tt(), V1, V2)) -> c_62(U85^#(isNat(V1), V2)) , active^#(U85(X1, X2)) -> c_63(U85^#(active(X1), X2)) , active^#(U85(tt(), V2)) -> c_64(U86^#(isNatList(V2))) , active^#(U86(X)) -> c_65(U86^#(active(X))) , active^#(U86(tt())) -> c_66() , active^#(U91(X1, X2, X3)) -> c_67(U91^#(active(X1), X2, X3)) , active^#(U91(tt(), L, N)) -> c_68(U92^#(isNatIListKind(L), L, N)) , active^#(U92(X1, X2, X3)) -> c_69(U92^#(active(X1), X2, X3)) , active^#(U92(tt(), L, N)) -> c_70(U93^#(isNat(N), L, N)) , active^#(U93(X1, X2, X3)) -> c_71(U93^#(active(X1), X2, X3)) , active^#(U93(tt(), L, N)) -> c_72(U94^#(isNatKind(N), L)) , active^#(U94(X1, X2)) -> c_73(U94^#(active(X1), X2)) , active^#(U94(tt(), L)) -> c_74(s^#(length(L))) , active^#(s(X)) -> c_75(s^#(active(X))) , active^#(length(X)) -> c_76(length^#(active(X))) , active^#(length(cons(N, L))) -> c_77(U91^#(isNatList(L), L, N)) , active^#(length(nil())) -> c_78() , cons^#(mark(X1), X2) -> c_79(cons^#(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_80(cons^#(X1, X2)) , U11^#(mark(X1), X2) -> c_81(U11^#(X1, X2)) , U11^#(ok(X1), ok(X2)) -> c_82(U11^#(X1, X2)) , U12^#(mark(X1), X2) -> c_83(U12^#(X1, X2)) , U12^#(ok(X1), ok(X2)) -> c_84(U12^#(X1, X2)) , U13^#(mark(X)) -> c_86(U13^#(X)) , U13^#(ok(X)) -> c_87(U13^#(X)) , U51^#(mark(X1), X2) -> c_116(U51^#(X1, X2)) , U51^#(ok(X1), ok(X2)) -> c_117(U51^#(X1, X2)) , U81^#(mark(X1), X2, X3) -> c_124(U81^#(X1, X2, X3)) , U81^#(ok(X1), ok(X2), ok(X3)) -> c_125(U81^#(X1, X2, X3)) , U21^#(mark(X1), X2) -> c_89(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_90(U21^#(X1, X2)) , U22^#(mark(X1), X2) -> c_91(U22^#(X1, X2)) , U22^#(ok(X1), ok(X2)) -> c_92(U22^#(X1, X2)) , U23^#(mark(X)) -> c_94(U23^#(X)) , U23^#(ok(X)) -> c_95(U23^#(X)) , U71^#(mark(X)) -> c_122(U71^#(X)) , U71^#(ok(X)) -> c_123(U71^#(X)) , U61^#(mark(X)) -> c_120(U61^#(X)) , U61^#(ok(X)) -> c_121(U61^#(X)) , U31^#(mark(X1), X2) -> c_97(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_98(U31^#(X1, X2)) , U32^#(mark(X1), X2) -> c_99(U32^#(X1, X2)) , U32^#(ok(X1), ok(X2)) -> c_100(U32^#(X1, X2)) , U33^#(mark(X)) -> c_101(U33^#(X)) , U33^#(ok(X)) -> c_102(U33^#(X)) , U41^#(mark(X1), X2, X3) -> c_103(U41^#(X1, X2, X3)) , U41^#(ok(X1), ok(X2), ok(X3)) -> c_104(U41^#(X1, X2, X3)) , U42^#(mark(X1), X2, X3) -> c_105(U42^#(X1, X2, X3)) , U42^#(ok(X1), ok(X2), ok(X3)) -> c_106(U42^#(X1, X2, X3)) , U43^#(mark(X1), X2, X3) -> c_107(U43^#(X1, X2, X3)) , U43^#(ok(X1), ok(X2), ok(X3)) -> c_108(U43^#(X1, X2, X3)) , U44^#(mark(X1), X2, X3) -> c_109(U44^#(X1, X2, X3)) , U44^#(ok(X1), ok(X2), ok(X3)) -> c_110(U44^#(X1, X2, X3)) , U45^#(mark(X1), X2) -> c_111(U45^#(X1, X2)) , U45^#(ok(X1), ok(X2)) -> c_112(U45^#(X1, X2)) , U46^#(mark(X)) -> c_113(U46^#(X)) , U46^#(ok(X)) -> c_114(U46^#(X)) , U52^#(mark(X)) -> c_118(U52^#(X)) , U52^#(ok(X)) -> c_119(U52^#(X)) , U82^#(mark(X1), X2, X3) -> c_126(U82^#(X1, X2, X3)) , U82^#(ok(X1), ok(X2), ok(X3)) -> c_127(U82^#(X1, X2, X3)) , U83^#(mark(X1), X2, X3) -> c_128(U83^#(X1, X2, X3)) , U83^#(ok(X1), ok(X2), ok(X3)) -> c_129(U83^#(X1, X2, X3)) , U84^#(mark(X1), X2, X3) -> c_130(U84^#(X1, X2, X3)) , U84^#(ok(X1), ok(X2), ok(X3)) -> c_131(U84^#(X1, X2, X3)) , U85^#(mark(X1), X2) -> c_132(U85^#(X1, X2)) , U85^#(ok(X1), ok(X2)) -> c_133(U85^#(X1, X2)) , U86^#(mark(X)) -> c_134(U86^#(X)) , U86^#(ok(X)) -> c_135(U86^#(X)) , U91^#(mark(X1), X2, X3) -> c_136(U91^#(X1, X2, X3)) , U91^#(ok(X1), ok(X2), ok(X3)) -> c_137(U91^#(X1, X2, X3)) , U92^#(mark(X1), X2, X3) -> c_138(U92^#(X1, X2, X3)) , U92^#(ok(X1), ok(X2), ok(X3)) -> c_139(U92^#(X1, X2, X3)) , U93^#(mark(X1), X2, X3) -> c_140(U93^#(X1, X2, X3)) , U93^#(ok(X1), ok(X2), ok(X3)) -> c_141(U93^#(X1, X2, X3)) , U94^#(mark(X1), X2) -> c_142(U94^#(X1, X2)) , U94^#(ok(X1), ok(X2)) -> c_143(U94^#(X1, X2)) , s^#(mark(X)) -> c_144(s^#(X)) , s^#(ok(X)) -> c_145(s^#(X)) , length^#(mark(X)) -> c_146(length^#(X)) , length^#(ok(X)) -> c_147(length^#(X)) , isNatIListKind^#(ok(X)) -> c_85(isNatIListKind^#(X)) , isNatList^#(ok(X)) -> c_88(isNatList^#(X)) , isNatKind^#(ok(X)) -> c_93(isNatKind^#(X)) , isNat^#(ok(X)) -> c_96(isNat^#(X)) , isNatIList^#(ok(X)) -> c_115(isNatIList^#(X)) , proper^#(zeros()) -> c_148() , proper^#(cons(X1, X2)) -> c_149(cons^#(proper(X1), proper(X2))) , proper^#(0()) -> c_150() , proper^#(U11(X1, X2)) -> c_151(U11^#(proper(X1), proper(X2))) , proper^#(tt()) -> c_152() , proper^#(U12(X1, X2)) -> c_153(U12^#(proper(X1), proper(X2))) , proper^#(isNatIListKind(X)) -> c_154(isNatIListKind^#(proper(X))) , proper^#(U13(X)) -> c_155(U13^#(proper(X))) , proper^#(isNatList(X)) -> c_156(isNatList^#(proper(X))) , proper^#(U21(X1, X2)) -> c_157(U21^#(proper(X1), proper(X2))) , proper^#(U22(X1, X2)) -> c_158(U22^#(proper(X1), proper(X2))) , proper^#(isNatKind(X)) -> c_159(isNatKind^#(proper(X))) , proper^#(U23(X)) -> c_160(U23^#(proper(X))) , proper^#(isNat(X)) -> c_161(isNat^#(proper(X))) , proper^#(U31(X1, X2)) -> c_162(U31^#(proper(X1), proper(X2))) , proper^#(U32(X1, X2)) -> c_163(U32^#(proper(X1), proper(X2))) , proper^#(U33(X)) -> c_164(U33^#(proper(X))) , proper^#(U41(X1, X2, X3)) -> c_165(U41^#(proper(X1), proper(X2), proper(X3))) , proper^#(U42(X1, X2, X3)) -> c_166(U42^#(proper(X1), proper(X2), proper(X3))) , proper^#(U43(X1, X2, X3)) -> c_167(U43^#(proper(X1), proper(X2), proper(X3))) , proper^#(U44(X1, X2, X3)) -> c_168(U44^#(proper(X1), proper(X2), proper(X3))) , proper^#(U45(X1, X2)) -> c_169(U45^#(proper(X1), proper(X2))) , proper^#(U46(X)) -> c_170(U46^#(proper(X))) , proper^#(isNatIList(X)) -> c_171(isNatIList^#(proper(X))) , proper^#(U51(X1, X2)) -> c_172(U51^#(proper(X1), proper(X2))) , proper^#(U52(X)) -> c_173(U52^#(proper(X))) , proper^#(U61(X)) -> c_174(U61^#(proper(X))) , proper^#(U71(X)) -> c_175(U71^#(proper(X))) , proper^#(U81(X1, X2, X3)) -> c_176(U81^#(proper(X1), proper(X2), proper(X3))) , proper^#(U82(X1, X2, X3)) -> c_177(U82^#(proper(X1), proper(X2), proper(X3))) , proper^#(U83(X1, X2, X3)) -> c_178(U83^#(proper(X1), proper(X2), proper(X3))) , proper^#(U84(X1, X2, X3)) -> c_179(U84^#(proper(X1), proper(X2), proper(X3))) , proper^#(U85(X1, X2)) -> c_180(U85^#(proper(X1), proper(X2))) , proper^#(U86(X)) -> c_181(U86^#(proper(X))) , proper^#(U91(X1, X2, X3)) -> c_182(U91^#(proper(X1), proper(X2), proper(X3))) , proper^#(U92(X1, X2, X3)) -> c_183(U92^#(proper(X1), proper(X2), proper(X3))) , proper^#(U93(X1, X2, X3)) -> c_184(U93^#(proper(X1), proper(X2), proper(X3))) , proper^#(U94(X1, X2)) -> c_185(U94^#(proper(X1), proper(X2))) , proper^#(s(X)) -> c_186(s^#(proper(X))) , proper^#(length(X)) -> c_187(length^#(proper(X))) , proper^#(nil()) -> c_188() , top^#(mark(X)) -> c_189(top^#(proper(X))) , top^#(ok(X)) -> c_190(top^#(active(X))) } Strict Trs: { active(zeros()) -> mark(cons(0(), zeros())) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(U11(X1, X2)) -> U11(active(X1), X2) , active(U11(tt(), V1)) -> mark(U12(isNatIListKind(V1), V1)) , active(U12(X1, X2)) -> U12(active(X1), X2) , active(U12(tt(), V1)) -> mark(U13(isNatList(V1))) , active(isNatIListKind(zeros())) -> mark(tt()) , active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) , active(isNatIListKind(nil())) -> mark(tt()) , active(U13(X)) -> U13(active(X)) , active(U13(tt())) -> mark(tt()) , active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) , active(isNatList(nil())) -> 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(isNatKind(0())) -> mark(tt()) , active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) , active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) , active(U23(X)) -> U23(active(X)) , active(U23(tt())) -> mark(tt()) , active(isNat(0())) -> mark(tt()) , active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) , active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), V)) -> mark(U32(isNatIListKind(V), V)) , active(U32(X1, X2)) -> U32(active(X1), X2) , active(U32(tt(), V)) -> mark(U33(isNatList(V))) , active(U33(X)) -> U33(active(X)) , active(U33(tt())) -> mark(tt()) , active(U41(X1, X2, X3)) -> U41(active(X1), X2, X3) , active(U41(tt(), V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) , active(U42(X1, X2, X3)) -> U42(active(X1), X2, X3) , active(U42(tt(), V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) , active(U43(X1, X2, X3)) -> U43(active(X1), X2, X3) , active(U43(tt(), V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) , active(U44(X1, X2, X3)) -> U44(active(X1), X2, X3) , active(U44(tt(), V1, V2)) -> mark(U45(isNat(V1), V2)) , active(U45(X1, X2)) -> U45(active(X1), X2) , active(U45(tt(), V2)) -> mark(U46(isNatIList(V2))) , active(U46(X)) -> U46(active(X)) , active(U46(tt())) -> mark(tt()) , active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) , active(isNatIList(zeros())) -> mark(tt()) , active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) , active(U51(X1, X2)) -> U51(active(X1), X2) , active(U51(tt(), V2)) -> mark(U52(isNatIListKind(V2))) , active(U52(X)) -> U52(active(X)) , active(U52(tt())) -> mark(tt()) , active(U61(X)) -> U61(active(X)) , active(U61(tt())) -> mark(tt()) , active(U71(X)) -> U71(active(X)) , active(U71(tt())) -> mark(tt()) , active(U81(X1, X2, X3)) -> U81(active(X1), X2, X3) , active(U81(tt(), V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) , active(U82(X1, X2, X3)) -> U82(active(X1), X2, X3) , active(U82(tt(), V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) , active(U83(X1, X2, X3)) -> U83(active(X1), X2, X3) , active(U83(tt(), V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) , active(U84(X1, X2, X3)) -> U84(active(X1), X2, X3) , active(U84(tt(), V1, V2)) -> mark(U85(isNat(V1), V2)) , active(U85(X1, X2)) -> U85(active(X1), X2) , active(U85(tt(), V2)) -> mark(U86(isNatList(V2))) , active(U86(X)) -> U86(active(X)) , active(U86(tt())) -> mark(tt()) , active(U91(X1, X2, X3)) -> U91(active(X1), X2, X3) , active(U91(tt(), L, N)) -> mark(U92(isNatIListKind(L), L, N)) , active(U92(X1, X2, X3)) -> U92(active(X1), X2, X3) , active(U92(tt(), L, N)) -> mark(U93(isNat(N), L, N)) , active(U93(X1, X2, X3)) -> U93(active(X1), X2, X3) , active(U93(tt(), L, N)) -> mark(U94(isNatKind(N), L)) , active(U94(X1, X2)) -> U94(active(X1), X2) , active(U94(tt(), L)) -> mark(s(length(L))) , active(s(X)) -> s(active(X)) , active(length(X)) -> length(active(X)) , active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) , active(length(nil())) -> mark(0()) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , U11(mark(X1), X2) -> mark(U11(X1, X2)) , U11(ok(X1), ok(X2)) -> ok(U11(X1, X2)) , U12(mark(X1), X2) -> mark(U12(X1, X2)) , U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)) , isNatIListKind(ok(X)) -> ok(isNatIListKind(X)) , U13(mark(X)) -> mark(U13(X)) , U13(ok(X)) -> ok(U13(X)) , isNatList(ok(X)) -> ok(isNatList(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)) , isNatKind(ok(X)) -> ok(isNatKind(X)) , U23(mark(X)) -> mark(U23(X)) , U23(ok(X)) -> ok(U23(X)) , isNat(ok(X)) -> ok(isNat(X)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U32(mark(X1), X2) -> mark(U32(X1, X2)) , U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)) , U33(mark(X)) -> mark(U33(X)) , U33(ok(X)) -> ok(U33(X)) , U41(mark(X1), X2, X3) -> mark(U41(X1, X2, X3)) , U41(ok(X1), ok(X2), ok(X3)) -> ok(U41(X1, X2, X3)) , U42(mark(X1), X2, X3) -> mark(U42(X1, X2, X3)) , U42(ok(X1), ok(X2), ok(X3)) -> ok(U42(X1, X2, X3)) , U43(mark(X1), X2, X3) -> mark(U43(X1, X2, X3)) , U43(ok(X1), ok(X2), ok(X3)) -> ok(U43(X1, X2, X3)) , U44(mark(X1), X2, X3) -> mark(U44(X1, X2, X3)) , U44(ok(X1), ok(X2), ok(X3)) -> ok(U44(X1, X2, X3)) , U45(mark(X1), X2) -> mark(U45(X1, X2)) , U45(ok(X1), ok(X2)) -> ok(U45(X1, X2)) , U46(mark(X)) -> mark(U46(X)) , U46(ok(X)) -> ok(U46(X)) , isNatIList(ok(X)) -> ok(isNatIList(X)) , U51(mark(X1), X2) -> mark(U51(X1, X2)) , U51(ok(X1), ok(X2)) -> ok(U51(X1, X2)) , U52(mark(X)) -> mark(U52(X)) , U52(ok(X)) -> ok(U52(X)) , U61(mark(X)) -> mark(U61(X)) , U61(ok(X)) -> ok(U61(X)) , U71(mark(X)) -> mark(U71(X)) , U71(ok(X)) -> ok(U71(X)) , U81(mark(X1), X2, X3) -> mark(U81(X1, X2, X3)) , U81(ok(X1), ok(X2), ok(X3)) -> ok(U81(X1, X2, X3)) , U82(mark(X1), X2, X3) -> mark(U82(X1, X2, X3)) , U82(ok(X1), ok(X2), ok(X3)) -> ok(U82(X1, X2, X3)) , U83(mark(X1), X2, X3) -> mark(U83(X1, X2, X3)) , U83(ok(X1), ok(X2), ok(X3)) -> ok(U83(X1, X2, X3)) , U84(mark(X1), X2, X3) -> mark(U84(X1, X2, X3)) , U84(ok(X1), ok(X2), ok(X3)) -> ok(U84(X1, X2, X3)) , U85(mark(X1), X2) -> mark(U85(X1, X2)) , U85(ok(X1), ok(X2)) -> ok(U85(X1, X2)) , U86(mark(X)) -> mark(U86(X)) , U86(ok(X)) -> ok(U86(X)) , U91(mark(X1), X2, X3) -> mark(U91(X1, X2, X3)) , U91(ok(X1), ok(X2), ok(X3)) -> ok(U91(X1, X2, X3)) , U92(mark(X1), X2, X3) -> mark(U92(X1, X2, X3)) , U92(ok(X1), ok(X2), ok(X3)) -> ok(U92(X1, X2, X3)) , U93(mark(X1), X2, X3) -> mark(U93(X1, X2, X3)) , U93(ok(X1), ok(X2), ok(X3)) -> ok(U93(X1, X2, X3)) , U94(mark(X1), X2) -> mark(U94(X1, X2)) , U94(ok(X1), ok(X2)) -> ok(U94(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , length(mark(X)) -> mark(length(X)) , length(ok(X)) -> ok(length(X)) , proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(U11(X1, X2)) -> U11(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)) , proper(isNatIListKind(X)) -> isNatIListKind(proper(X)) , proper(U13(X)) -> U13(proper(X)) , proper(isNatList(X)) -> isNatList(proper(X)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X1, X2)) -> U22(proper(X1), proper(X2)) , proper(isNatKind(X)) -> isNatKind(proper(X)) , proper(U23(X)) -> U23(proper(X)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)) , proper(U33(X)) -> U33(proper(X)) , proper(U41(X1, X2, X3)) -> U41(proper(X1), proper(X2), proper(X3)) , proper(U42(X1, X2, X3)) -> U42(proper(X1), proper(X2), proper(X3)) , proper(U43(X1, X2, X3)) -> U43(proper(X1), proper(X2), proper(X3)) , proper(U44(X1, X2, X3)) -> U44(proper(X1), proper(X2), proper(X3)) , proper(U45(X1, X2)) -> U45(proper(X1), proper(X2)) , proper(U46(X)) -> U46(proper(X)) , proper(isNatIList(X)) -> isNatIList(proper(X)) , proper(U51(X1, X2)) -> U51(proper(X1), proper(X2)) , proper(U52(X)) -> U52(proper(X)) , proper(U61(X)) -> U61(proper(X)) , proper(U71(X)) -> U71(proper(X)) , proper(U81(X1, X2, X3)) -> U81(proper(X1), proper(X2), proper(X3)) , proper(U82(X1, X2, X3)) -> U82(proper(X1), proper(X2), proper(X3)) , proper(U83(X1, X2, X3)) -> U83(proper(X1), proper(X2), proper(X3)) , proper(U84(X1, X2, X3)) -> U84(proper(X1), proper(X2), proper(X3)) , proper(U85(X1, X2)) -> U85(proper(X1), proper(X2)) , proper(U86(X)) -> U86(proper(X)) , proper(U91(X1, X2, X3)) -> U91(proper(X1), proper(X2), proper(X3)) , proper(U92(X1, X2, X3)) -> U92(proper(X1), proper(X2), proper(X3)) , proper(U93(X1, X2, X3)) -> U93(proper(X1), proper(X2), proper(X3)) , proper(U94(X1, X2)) -> U94(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE Consider the dependency graph: 1: active^#(zeros()) -> c_1(cons^#(0(), zeros())) 2: active^#(cons(X1, X2)) -> c_2(cons^#(active(X1), X2)) -->_1 cons^#(ok(X1), ok(X2)) -> c_80(cons^#(X1, X2)) :80 -->_1 cons^#(mark(X1), X2) -> c_79(cons^#(X1, X2)) :79 3: active^#(U11(X1, X2)) -> c_3(U11^#(active(X1), X2)) -->_1 U11^#(ok(X1), ok(X2)) -> c_82(U11^#(X1, X2)) :82 -->_1 U11^#(mark(X1), X2) -> c_81(U11^#(X1, X2)) :81 4: active^#(U11(tt(), V1)) -> c_4(U12^#(isNatIListKind(V1), V1)) -->_1 U12^#(ok(X1), ok(X2)) -> c_84(U12^#(X1, X2)) :84 -->_1 U12^#(mark(X1), X2) -> c_83(U12^#(X1, X2)) :83 5: active^#(U12(X1, X2)) -> c_5(U12^#(active(X1), X2)) -->_1 U12^#(ok(X1), ok(X2)) -> c_84(U12^#(X1, X2)) :84 -->_1 U12^#(mark(X1), X2) -> c_83(U12^#(X1, X2)) :83 6: active^#(U12(tt(), V1)) -> c_6(U13^#(isNatList(V1))) -->_1 U13^#(ok(X)) -> c_87(U13^#(X)) :86 -->_1 U13^#(mark(X)) -> c_86(U13^#(X)) :85 7: active^#(isNatIListKind(zeros())) -> c_7() 8: active^#(isNatIListKind(cons(V1, V2))) -> c_8(U51^#(isNatKind(V1), V2)) -->_1 U51^#(ok(X1), ok(X2)) -> c_117(U51^#(X1, X2)) :88 -->_1 U51^#(mark(X1), X2) -> c_116(U51^#(X1, X2)) :87 9: active^#(isNatIListKind(nil())) -> c_9() 10: active^#(U13(X)) -> c_10(U13^#(active(X))) -->_1 U13^#(ok(X)) -> c_87(U13^#(X)) :86 -->_1 U13^#(mark(X)) -> c_86(U13^#(X)) :85 11: active^#(U13(tt())) -> c_11() 12: active^#(isNatList(cons(V1, V2))) -> c_12(U81^#(isNatKind(V1), V1, V2)) -->_1 U81^#(ok(X1), ok(X2), ok(X3)) -> c_125(U81^#(X1, X2, X3)) :90 -->_1 U81^#(mark(X1), X2, X3) -> c_124(U81^#(X1, X2, X3)) :89 13: active^#(isNatList(nil())) -> c_13() 14: active^#(U21(X1, X2)) -> c_14(U21^#(active(X1), X2)) -->_1 U21^#(ok(X1), ok(X2)) -> c_90(U21^#(X1, X2)) :92 -->_1 U21^#(mark(X1), X2) -> c_89(U21^#(X1, X2)) :91 15: active^#(U21(tt(), V1)) -> c_15(U22^#(isNatKind(V1), V1)) -->_1 U22^#(ok(X1), ok(X2)) -> c_92(U22^#(X1, X2)) :94 -->_1 U22^#(mark(X1), X2) -> c_91(U22^#(X1, X2)) :93 16: active^#(U22(X1, X2)) -> c_16(U22^#(active(X1), X2)) -->_1 U22^#(ok(X1), ok(X2)) -> c_92(U22^#(X1, X2)) :94 -->_1 U22^#(mark(X1), X2) -> c_91(U22^#(X1, X2)) :93 17: active^#(U22(tt(), V1)) -> c_17(U23^#(isNat(V1))) -->_1 U23^#(ok(X)) -> c_95(U23^#(X)) :96 -->_1 U23^#(mark(X)) -> c_94(U23^#(X)) :95 18: active^#(isNatKind(0())) -> c_18() 19: active^#(isNatKind(s(V1))) -> c_19(U71^#(isNatKind(V1))) -->_1 U71^#(ok(X)) -> c_123(U71^#(X)) :98 -->_1 U71^#(mark(X)) -> c_122(U71^#(X)) :97 20: active^#(isNatKind(length(V1))) -> c_20(U61^#(isNatIListKind(V1))) -->_1 U61^#(ok(X)) -> c_121(U61^#(X)) :100 -->_1 U61^#(mark(X)) -> c_120(U61^#(X)) :99 21: active^#(U23(X)) -> c_21(U23^#(active(X))) -->_1 U23^#(ok(X)) -> c_95(U23^#(X)) :96 -->_1 U23^#(mark(X)) -> c_94(U23^#(X)) :95 22: active^#(U23(tt())) -> c_22() 23: active^#(isNat(0())) -> c_23() 24: active^#(isNat(s(V1))) -> c_24(U21^#(isNatKind(V1), V1)) -->_1 U21^#(ok(X1), ok(X2)) -> c_90(U21^#(X1, X2)) :92 -->_1 U21^#(mark(X1), X2) -> c_89(U21^#(X1, X2)) :91 25: active^#(isNat(length(V1))) -> c_25(U11^#(isNatIListKind(V1), V1)) -->_1 U11^#(ok(X1), ok(X2)) -> c_82(U11^#(X1, X2)) :82 -->_1 U11^#(mark(X1), X2) -> c_81(U11^#(X1, X2)) :81 26: active^#(U31(X1, X2)) -> c_26(U31^#(active(X1), X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_98(U31^#(X1, X2)) :102 -->_1 U31^#(mark(X1), X2) -> c_97(U31^#(X1, X2)) :101 27: active^#(U31(tt(), V)) -> c_27(U32^#(isNatIListKind(V), V)) -->_1 U32^#(ok(X1), ok(X2)) -> c_100(U32^#(X1, X2)) :104 -->_1 U32^#(mark(X1), X2) -> c_99(U32^#(X1, X2)) :103 28: active^#(U32(X1, X2)) -> c_28(U32^#(active(X1), X2)) -->_1 U32^#(ok(X1), ok(X2)) -> c_100(U32^#(X1, X2)) :104 -->_1 U32^#(mark(X1), X2) -> c_99(U32^#(X1, X2)) :103 29: active^#(U32(tt(), V)) -> c_29(U33^#(isNatList(V))) -->_1 U33^#(ok(X)) -> c_102(U33^#(X)) :106 -->_1 U33^#(mark(X)) -> c_101(U33^#(X)) :105 30: active^#(U33(X)) -> c_30(U33^#(active(X))) -->_1 U33^#(ok(X)) -> c_102(U33^#(X)) :106 -->_1 U33^#(mark(X)) -> c_101(U33^#(X)) :105 31: active^#(U33(tt())) -> c_31() 32: active^#(U41(X1, X2, X3)) -> c_32(U41^#(active(X1), X2, X3)) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_104(U41^#(X1, X2, X3)) :108 -->_1 U41^#(mark(X1), X2, X3) -> c_103(U41^#(X1, X2, X3)) :107 33: active^#(U41(tt(), V1, V2)) -> c_33(U42^#(isNatKind(V1), V1, V2)) -->_1 U42^#(ok(X1), ok(X2), ok(X3)) -> c_106(U42^#(X1, X2, X3)) :110 -->_1 U42^#(mark(X1), X2, X3) -> c_105(U42^#(X1, X2, X3)) :109 34: active^#(U42(X1, X2, X3)) -> c_34(U42^#(active(X1), X2, X3)) -->_1 U42^#(ok(X1), ok(X2), ok(X3)) -> c_106(U42^#(X1, X2, X3)) :110 -->_1 U42^#(mark(X1), X2, X3) -> c_105(U42^#(X1, X2, X3)) :109 35: active^#(U42(tt(), V1, V2)) -> c_35(U43^#(isNatIListKind(V2), V1, V2)) -->_1 U43^#(ok(X1), ok(X2), ok(X3)) -> c_108(U43^#(X1, X2, X3)) :112 -->_1 U43^#(mark(X1), X2, X3) -> c_107(U43^#(X1, X2, X3)) :111 36: active^#(U43(X1, X2, X3)) -> c_36(U43^#(active(X1), X2, X3)) -->_1 U43^#(ok(X1), ok(X2), ok(X3)) -> c_108(U43^#(X1, X2, X3)) :112 -->_1 U43^#(mark(X1), X2, X3) -> c_107(U43^#(X1, X2, X3)) :111 37: active^#(U43(tt(), V1, V2)) -> c_37(U44^#(isNatIListKind(V2), V1, V2)) -->_1 U44^#(ok(X1), ok(X2), ok(X3)) -> c_110(U44^#(X1, X2, X3)) :114 -->_1 U44^#(mark(X1), X2, X3) -> c_109(U44^#(X1, X2, X3)) :113 38: active^#(U44(X1, X2, X3)) -> c_38(U44^#(active(X1), X2, X3)) -->_1 U44^#(ok(X1), ok(X2), ok(X3)) -> c_110(U44^#(X1, X2, X3)) :114 -->_1 U44^#(mark(X1), X2, X3) -> c_109(U44^#(X1, X2, X3)) :113 39: active^#(U44(tt(), V1, V2)) -> c_39(U45^#(isNat(V1), V2)) -->_1 U45^#(ok(X1), ok(X2)) -> c_112(U45^#(X1, X2)) :116 -->_1 U45^#(mark(X1), X2) -> c_111(U45^#(X1, X2)) :115 40: active^#(U45(X1, X2)) -> c_40(U45^#(active(X1), X2)) -->_1 U45^#(ok(X1), ok(X2)) -> c_112(U45^#(X1, X2)) :116 -->_1 U45^#(mark(X1), X2) -> c_111(U45^#(X1, X2)) :115 41: active^#(U45(tt(), V2)) -> c_41(U46^#(isNatIList(V2))) -->_1 U46^#(ok(X)) -> c_114(U46^#(X)) :118 -->_1 U46^#(mark(X)) -> c_113(U46^#(X)) :117 42: active^#(U46(X)) -> c_42(U46^#(active(X))) -->_1 U46^#(ok(X)) -> c_114(U46^#(X)) :118 -->_1 U46^#(mark(X)) -> c_113(U46^#(X)) :117 43: active^#(U46(tt())) -> c_43() 44: active^#(isNatIList(V)) -> c_44(U31^#(isNatIListKind(V), V)) -->_1 U31^#(ok(X1), ok(X2)) -> c_98(U31^#(X1, X2)) :102 -->_1 U31^#(mark(X1), X2) -> c_97(U31^#(X1, X2)) :101 45: active^#(isNatIList(zeros())) -> c_45() 46: active^#(isNatIList(cons(V1, V2))) -> c_46(U41^#(isNatKind(V1), V1, V2)) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_104(U41^#(X1, X2, X3)) :108 -->_1 U41^#(mark(X1), X2, X3) -> c_103(U41^#(X1, X2, X3)) :107 47: active^#(U51(X1, X2)) -> c_47(U51^#(active(X1), X2)) -->_1 U51^#(ok(X1), ok(X2)) -> c_117(U51^#(X1, X2)) :88 -->_1 U51^#(mark(X1), X2) -> c_116(U51^#(X1, X2)) :87 48: active^#(U51(tt(), V2)) -> c_48(U52^#(isNatIListKind(V2))) -->_1 U52^#(ok(X)) -> c_119(U52^#(X)) :120 -->_1 U52^#(mark(X)) -> c_118(U52^#(X)) :119 49: active^#(U52(X)) -> c_49(U52^#(active(X))) -->_1 U52^#(ok(X)) -> c_119(U52^#(X)) :120 -->_1 U52^#(mark(X)) -> c_118(U52^#(X)) :119 50: active^#(U52(tt())) -> c_50() 51: active^#(U61(X)) -> c_51(U61^#(active(X))) -->_1 U61^#(ok(X)) -> c_121(U61^#(X)) :100 -->_1 U61^#(mark(X)) -> c_120(U61^#(X)) :99 52: active^#(U61(tt())) -> c_52() 53: active^#(U71(X)) -> c_53(U71^#(active(X))) -->_1 U71^#(ok(X)) -> c_123(U71^#(X)) :98 -->_1 U71^#(mark(X)) -> c_122(U71^#(X)) :97 54: active^#(U71(tt())) -> c_54() 55: active^#(U81(X1, X2, X3)) -> c_55(U81^#(active(X1), X2, X3)) -->_1 U81^#(ok(X1), ok(X2), ok(X3)) -> c_125(U81^#(X1, X2, X3)) :90 -->_1 U81^#(mark(X1), X2, X3) -> c_124(U81^#(X1, X2, X3)) :89 56: active^#(U81(tt(), V1, V2)) -> c_56(U82^#(isNatKind(V1), V1, V2)) -->_1 U82^#(ok(X1), ok(X2), ok(X3)) -> c_127(U82^#(X1, X2, X3)) :122 -->_1 U82^#(mark(X1), X2, X3) -> c_126(U82^#(X1, X2, X3)) :121 57: active^#(U82(X1, X2, X3)) -> c_57(U82^#(active(X1), X2, X3)) -->_1 U82^#(ok(X1), ok(X2), ok(X3)) -> c_127(U82^#(X1, X2, X3)) :122 -->_1 U82^#(mark(X1), X2, X3) -> c_126(U82^#(X1, X2, X3)) :121 58: active^#(U82(tt(), V1, V2)) -> c_58(U83^#(isNatIListKind(V2), V1, V2)) -->_1 U83^#(ok(X1), ok(X2), ok(X3)) -> c_129(U83^#(X1, X2, X3)) :124 -->_1 U83^#(mark(X1), X2, X3) -> c_128(U83^#(X1, X2, X3)) :123 59: active^#(U83(X1, X2, X3)) -> c_59(U83^#(active(X1), X2, X3)) -->_1 U83^#(ok(X1), ok(X2), ok(X3)) -> c_129(U83^#(X1, X2, X3)) :124 -->_1 U83^#(mark(X1), X2, X3) -> c_128(U83^#(X1, X2, X3)) :123 60: active^#(U83(tt(), V1, V2)) -> c_60(U84^#(isNatIListKind(V2), V1, V2)) -->_1 U84^#(ok(X1), ok(X2), ok(X3)) -> c_131(U84^#(X1, X2, X3)) :126 -->_1 U84^#(mark(X1), X2, X3) -> c_130(U84^#(X1, X2, X3)) :125 61: active^#(U84(X1, X2, X3)) -> c_61(U84^#(active(X1), X2, X3)) -->_1 U84^#(ok(X1), ok(X2), ok(X3)) -> c_131(U84^#(X1, X2, X3)) :126 -->_1 U84^#(mark(X1), X2, X3) -> c_130(U84^#(X1, X2, X3)) :125 62: active^#(U84(tt(), V1, V2)) -> c_62(U85^#(isNat(V1), V2)) -->_1 U85^#(ok(X1), ok(X2)) -> c_133(U85^#(X1, X2)) :128 -->_1 U85^#(mark(X1), X2) -> c_132(U85^#(X1, X2)) :127 63: active^#(U85(X1, X2)) -> c_63(U85^#(active(X1), X2)) -->_1 U85^#(ok(X1), ok(X2)) -> c_133(U85^#(X1, X2)) :128 -->_1 U85^#(mark(X1), X2) -> c_132(U85^#(X1, X2)) :127 64: active^#(U85(tt(), V2)) -> c_64(U86^#(isNatList(V2))) -->_1 U86^#(ok(X)) -> c_135(U86^#(X)) :130 -->_1 U86^#(mark(X)) -> c_134(U86^#(X)) :129 65: active^#(U86(X)) -> c_65(U86^#(active(X))) -->_1 U86^#(ok(X)) -> c_135(U86^#(X)) :130 -->_1 U86^#(mark(X)) -> c_134(U86^#(X)) :129 66: active^#(U86(tt())) -> c_66() 67: active^#(U91(X1, X2, X3)) -> c_67(U91^#(active(X1), X2, X3)) -->_1 U91^#(ok(X1), ok(X2), ok(X3)) -> c_137(U91^#(X1, X2, X3)) :132 -->_1 U91^#(mark(X1), X2, X3) -> c_136(U91^#(X1, X2, X3)) :131 68: active^#(U91(tt(), L, N)) -> c_68(U92^#(isNatIListKind(L), L, N)) -->_1 U92^#(ok(X1), ok(X2), ok(X3)) -> c_139(U92^#(X1, X2, X3)) :134 -->_1 U92^#(mark(X1), X2, X3) -> c_138(U92^#(X1, X2, X3)) :133 69: active^#(U92(X1, X2, X3)) -> c_69(U92^#(active(X1), X2, X3)) -->_1 U92^#(ok(X1), ok(X2), ok(X3)) -> c_139(U92^#(X1, X2, X3)) :134 -->_1 U92^#(mark(X1), X2, X3) -> c_138(U92^#(X1, X2, X3)) :133 70: active^#(U92(tt(), L, N)) -> c_70(U93^#(isNat(N), L, N)) -->_1 U93^#(ok(X1), ok(X2), ok(X3)) -> c_141(U93^#(X1, X2, X3)) :136 -->_1 U93^#(mark(X1), X2, X3) -> c_140(U93^#(X1, X2, X3)) :135 71: active^#(U93(X1, X2, X3)) -> c_71(U93^#(active(X1), X2, X3)) -->_1 U93^#(ok(X1), ok(X2), ok(X3)) -> c_141(U93^#(X1, X2, X3)) :136 -->_1 U93^#(mark(X1), X2, X3) -> c_140(U93^#(X1, X2, X3)) :135 72: active^#(U93(tt(), L, N)) -> c_72(U94^#(isNatKind(N), L)) -->_1 U94^#(ok(X1), ok(X2)) -> c_143(U94^#(X1, X2)) :138 -->_1 U94^#(mark(X1), X2) -> c_142(U94^#(X1, X2)) :137 73: active^#(U94(X1, X2)) -> c_73(U94^#(active(X1), X2)) -->_1 U94^#(ok(X1), ok(X2)) -> c_143(U94^#(X1, X2)) :138 -->_1 U94^#(mark(X1), X2) -> c_142(U94^#(X1, X2)) :137 74: active^#(U94(tt(), L)) -> c_74(s^#(length(L))) -->_1 s^#(ok(X)) -> c_145(s^#(X)) :140 -->_1 s^#(mark(X)) -> c_144(s^#(X)) :139 75: active^#(s(X)) -> c_75(s^#(active(X))) -->_1 s^#(ok(X)) -> c_145(s^#(X)) :140 -->_1 s^#(mark(X)) -> c_144(s^#(X)) :139 76: active^#(length(X)) -> c_76(length^#(active(X))) -->_1 length^#(ok(X)) -> c_147(length^#(X)) :142 -->_1 length^#(mark(X)) -> c_146(length^#(X)) :141 77: active^#(length(cons(N, L))) -> c_77(U91^#(isNatList(L), L, N)) -->_1 U91^#(ok(X1), ok(X2), ok(X3)) -> c_137(U91^#(X1, X2, X3)) :132 -->_1 U91^#(mark(X1), X2, X3) -> c_136(U91^#(X1, X2, X3)) :131 78: active^#(length(nil())) -> c_78() 79: cons^#(mark(X1), X2) -> c_79(cons^#(X1, X2)) -->_1 cons^#(ok(X1), ok(X2)) -> c_80(cons^#(X1, X2)) :80 -->_1 cons^#(mark(X1), X2) -> c_79(cons^#(X1, X2)) :79 80: cons^#(ok(X1), ok(X2)) -> c_80(cons^#(X1, X2)) -->_1 cons^#(ok(X1), ok(X2)) -> c_80(cons^#(X1, X2)) :80 -->_1 cons^#(mark(X1), X2) -> c_79(cons^#(X1, X2)) :79 81: U11^#(mark(X1), X2) -> c_81(U11^#(X1, X2)) -->_1 U11^#(ok(X1), ok(X2)) -> c_82(U11^#(X1, X2)) :82 -->_1 U11^#(mark(X1), X2) -> c_81(U11^#(X1, X2)) :81 82: U11^#(ok(X1), ok(X2)) -> c_82(U11^#(X1, X2)) -->_1 U11^#(ok(X1), ok(X2)) -> c_82(U11^#(X1, X2)) :82 -->_1 U11^#(mark(X1), X2) -> c_81(U11^#(X1, X2)) :81 83: U12^#(mark(X1), X2) -> c_83(U12^#(X1, X2)) -->_1 U12^#(ok(X1), ok(X2)) -> c_84(U12^#(X1, X2)) :84 -->_1 U12^#(mark(X1), X2) -> c_83(U12^#(X1, X2)) :83 84: U12^#(ok(X1), ok(X2)) -> c_84(U12^#(X1, X2)) -->_1 U12^#(ok(X1), ok(X2)) -> c_84(U12^#(X1, X2)) :84 -->_1 U12^#(mark(X1), X2) -> c_83(U12^#(X1, X2)) :83 85: U13^#(mark(X)) -> c_86(U13^#(X)) -->_1 U13^#(ok(X)) -> c_87(U13^#(X)) :86 -->_1 U13^#(mark(X)) -> c_86(U13^#(X)) :85 86: U13^#(ok(X)) -> c_87(U13^#(X)) -->_1 U13^#(ok(X)) -> c_87(U13^#(X)) :86 -->_1 U13^#(mark(X)) -> c_86(U13^#(X)) :85 87: U51^#(mark(X1), X2) -> c_116(U51^#(X1, X2)) -->_1 U51^#(ok(X1), ok(X2)) -> c_117(U51^#(X1, X2)) :88 -->_1 U51^#(mark(X1), X2) -> c_116(U51^#(X1, X2)) :87 88: U51^#(ok(X1), ok(X2)) -> c_117(U51^#(X1, X2)) -->_1 U51^#(ok(X1), ok(X2)) -> c_117(U51^#(X1, X2)) :88 -->_1 U51^#(mark(X1), X2) -> c_116(U51^#(X1, X2)) :87 89: U81^#(mark(X1), X2, X3) -> c_124(U81^#(X1, X2, X3)) -->_1 U81^#(ok(X1), ok(X2), ok(X3)) -> c_125(U81^#(X1, X2, X3)) :90 -->_1 U81^#(mark(X1), X2, X3) -> c_124(U81^#(X1, X2, X3)) :89 90: U81^#(ok(X1), ok(X2), ok(X3)) -> c_125(U81^#(X1, X2, X3)) -->_1 U81^#(ok(X1), ok(X2), ok(X3)) -> c_125(U81^#(X1, X2, X3)) :90 -->_1 U81^#(mark(X1), X2, X3) -> c_124(U81^#(X1, X2, X3)) :89 91: U21^#(mark(X1), X2) -> c_89(U21^#(X1, X2)) -->_1 U21^#(ok(X1), ok(X2)) -> c_90(U21^#(X1, X2)) :92 -->_1 U21^#(mark(X1), X2) -> c_89(U21^#(X1, X2)) :91 92: U21^#(ok(X1), ok(X2)) -> c_90(U21^#(X1, X2)) -->_1 U21^#(ok(X1), ok(X2)) -> c_90(U21^#(X1, X2)) :92 -->_1 U21^#(mark(X1), X2) -> c_89(U21^#(X1, X2)) :91 93: U22^#(mark(X1), X2) -> c_91(U22^#(X1, X2)) -->_1 U22^#(ok(X1), ok(X2)) -> c_92(U22^#(X1, X2)) :94 -->_1 U22^#(mark(X1), X2) -> c_91(U22^#(X1, X2)) :93 94: U22^#(ok(X1), ok(X2)) -> c_92(U22^#(X1, X2)) -->_1 U22^#(ok(X1), ok(X2)) -> c_92(U22^#(X1, X2)) :94 -->_1 U22^#(mark(X1), X2) -> c_91(U22^#(X1, X2)) :93 95: U23^#(mark(X)) -> c_94(U23^#(X)) -->_1 U23^#(ok(X)) -> c_95(U23^#(X)) :96 -->_1 U23^#(mark(X)) -> c_94(U23^#(X)) :95 96: U23^#(ok(X)) -> c_95(U23^#(X)) -->_1 U23^#(ok(X)) -> c_95(U23^#(X)) :96 -->_1 U23^#(mark(X)) -> c_94(U23^#(X)) :95 97: U71^#(mark(X)) -> c_122(U71^#(X)) -->_1 U71^#(ok(X)) -> c_123(U71^#(X)) :98 -->_1 U71^#(mark(X)) -> c_122(U71^#(X)) :97 98: U71^#(ok(X)) -> c_123(U71^#(X)) -->_1 U71^#(ok(X)) -> c_123(U71^#(X)) :98 -->_1 U71^#(mark(X)) -> c_122(U71^#(X)) :97 99: U61^#(mark(X)) -> c_120(U61^#(X)) -->_1 U61^#(ok(X)) -> c_121(U61^#(X)) :100 -->_1 U61^#(mark(X)) -> c_120(U61^#(X)) :99 100: U61^#(ok(X)) -> c_121(U61^#(X)) -->_1 U61^#(ok(X)) -> c_121(U61^#(X)) :100 -->_1 U61^#(mark(X)) -> c_120(U61^#(X)) :99 101: U31^#(mark(X1), X2) -> c_97(U31^#(X1, X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_98(U31^#(X1, X2)) :102 -->_1 U31^#(mark(X1), X2) -> c_97(U31^#(X1, X2)) :101 102: U31^#(ok(X1), ok(X2)) -> c_98(U31^#(X1, X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_98(U31^#(X1, X2)) :102 -->_1 U31^#(mark(X1), X2) -> c_97(U31^#(X1, X2)) :101 103: U32^#(mark(X1), X2) -> c_99(U32^#(X1, X2)) -->_1 U32^#(ok(X1), ok(X2)) -> c_100(U32^#(X1, X2)) :104 -->_1 U32^#(mark(X1), X2) -> c_99(U32^#(X1, X2)) :103 104: U32^#(ok(X1), ok(X2)) -> c_100(U32^#(X1, X2)) -->_1 U32^#(ok(X1), ok(X2)) -> c_100(U32^#(X1, X2)) :104 -->_1 U32^#(mark(X1), X2) -> c_99(U32^#(X1, X2)) :103 105: U33^#(mark(X)) -> c_101(U33^#(X)) -->_1 U33^#(ok(X)) -> c_102(U33^#(X)) :106 -->_1 U33^#(mark(X)) -> c_101(U33^#(X)) :105 106: U33^#(ok(X)) -> c_102(U33^#(X)) -->_1 U33^#(ok(X)) -> c_102(U33^#(X)) :106 -->_1 U33^#(mark(X)) -> c_101(U33^#(X)) :105 107: U41^#(mark(X1), X2, X3) -> c_103(U41^#(X1, X2, X3)) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_104(U41^#(X1, X2, X3)) :108 -->_1 U41^#(mark(X1), X2, X3) -> c_103(U41^#(X1, X2, X3)) :107 108: U41^#(ok(X1), ok(X2), ok(X3)) -> c_104(U41^#(X1, X2, X3)) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_104(U41^#(X1, X2, X3)) :108 -->_1 U41^#(mark(X1), X2, X3) -> c_103(U41^#(X1, X2, X3)) :107 109: U42^#(mark(X1), X2, X3) -> c_105(U42^#(X1, X2, X3)) -->_1 U42^#(ok(X1), ok(X2), ok(X3)) -> c_106(U42^#(X1, X2, X3)) :110 -->_1 U42^#(mark(X1), X2, X3) -> c_105(U42^#(X1, X2, X3)) :109 110: U42^#(ok(X1), ok(X2), ok(X3)) -> c_106(U42^#(X1, X2, X3)) -->_1 U42^#(ok(X1), ok(X2), ok(X3)) -> c_106(U42^#(X1, X2, X3)) :110 -->_1 U42^#(mark(X1), X2, X3) -> c_105(U42^#(X1, X2, X3)) :109 111: U43^#(mark(X1), X2, X3) -> c_107(U43^#(X1, X2, X3)) -->_1 U43^#(ok(X1), ok(X2), ok(X3)) -> c_108(U43^#(X1, X2, X3)) :112 -->_1 U43^#(mark(X1), X2, X3) -> c_107(U43^#(X1, X2, X3)) :111 112: U43^#(ok(X1), ok(X2), ok(X3)) -> c_108(U43^#(X1, X2, X3)) -->_1 U43^#(ok(X1), ok(X2), ok(X3)) -> c_108(U43^#(X1, X2, X3)) :112 -->_1 U43^#(mark(X1), X2, X3) -> c_107(U43^#(X1, X2, X3)) :111 113: U44^#(mark(X1), X2, X3) -> c_109(U44^#(X1, X2, X3)) -->_1 U44^#(ok(X1), ok(X2), ok(X3)) -> c_110(U44^#(X1, X2, X3)) :114 -->_1 U44^#(mark(X1), X2, X3) -> c_109(U44^#(X1, X2, X3)) :113 114: U44^#(ok(X1), ok(X2), ok(X3)) -> c_110(U44^#(X1, X2, X3)) -->_1 U44^#(ok(X1), ok(X2), ok(X3)) -> c_110(U44^#(X1, X2, X3)) :114 -->_1 U44^#(mark(X1), X2, X3) -> c_109(U44^#(X1, X2, X3)) :113 115: U45^#(mark(X1), X2) -> c_111(U45^#(X1, X2)) -->_1 U45^#(ok(X1), ok(X2)) -> c_112(U45^#(X1, X2)) :116 -->_1 U45^#(mark(X1), X2) -> c_111(U45^#(X1, X2)) :115 116: U45^#(ok(X1), ok(X2)) -> c_112(U45^#(X1, X2)) -->_1 U45^#(ok(X1), ok(X2)) -> c_112(U45^#(X1, X2)) :116 -->_1 U45^#(mark(X1), X2) -> c_111(U45^#(X1, X2)) :115 117: U46^#(mark(X)) -> c_113(U46^#(X)) -->_1 U46^#(ok(X)) -> c_114(U46^#(X)) :118 -->_1 U46^#(mark(X)) -> c_113(U46^#(X)) :117 118: U46^#(ok(X)) -> c_114(U46^#(X)) -->_1 U46^#(ok(X)) -> c_114(U46^#(X)) :118 -->_1 U46^#(mark(X)) -> c_113(U46^#(X)) :117 119: U52^#(mark(X)) -> c_118(U52^#(X)) -->_1 U52^#(ok(X)) -> c_119(U52^#(X)) :120 -->_1 U52^#(mark(X)) -> c_118(U52^#(X)) :119 120: U52^#(ok(X)) -> c_119(U52^#(X)) -->_1 U52^#(ok(X)) -> c_119(U52^#(X)) :120 -->_1 U52^#(mark(X)) -> c_118(U52^#(X)) :119 121: U82^#(mark(X1), X2, X3) -> c_126(U82^#(X1, X2, X3)) -->_1 U82^#(ok(X1), ok(X2), ok(X3)) -> c_127(U82^#(X1, X2, X3)) :122 -->_1 U82^#(mark(X1), X2, X3) -> c_126(U82^#(X1, X2, X3)) :121 122: U82^#(ok(X1), ok(X2), ok(X3)) -> c_127(U82^#(X1, X2, X3)) -->_1 U82^#(ok(X1), ok(X2), ok(X3)) -> c_127(U82^#(X1, X2, X3)) :122 -->_1 U82^#(mark(X1), X2, X3) -> c_126(U82^#(X1, X2, X3)) :121 123: U83^#(mark(X1), X2, X3) -> c_128(U83^#(X1, X2, X3)) -->_1 U83^#(ok(X1), ok(X2), ok(X3)) -> c_129(U83^#(X1, X2, X3)) :124 -->_1 U83^#(mark(X1), X2, X3) -> c_128(U83^#(X1, X2, X3)) :123 124: U83^#(ok(X1), ok(X2), ok(X3)) -> c_129(U83^#(X1, X2, X3)) -->_1 U83^#(ok(X1), ok(X2), ok(X3)) -> c_129(U83^#(X1, X2, X3)) :124 -->_1 U83^#(mark(X1), X2, X3) -> c_128(U83^#(X1, X2, X3)) :123 125: U84^#(mark(X1), X2, X3) -> c_130(U84^#(X1, X2, X3)) -->_1 U84^#(ok(X1), ok(X2), ok(X3)) -> c_131(U84^#(X1, X2, X3)) :126 -->_1 U84^#(mark(X1), X2, X3) -> c_130(U84^#(X1, X2, X3)) :125 126: U84^#(ok(X1), ok(X2), ok(X3)) -> c_131(U84^#(X1, X2, X3)) -->_1 U84^#(ok(X1), ok(X2), ok(X3)) -> c_131(U84^#(X1, X2, X3)) :126 -->_1 U84^#(mark(X1), X2, X3) -> c_130(U84^#(X1, X2, X3)) :125 127: U85^#(mark(X1), X2) -> c_132(U85^#(X1, X2)) -->_1 U85^#(ok(X1), ok(X2)) -> c_133(U85^#(X1, X2)) :128 -->_1 U85^#(mark(X1), X2) -> c_132(U85^#(X1, X2)) :127 128: U85^#(ok(X1), ok(X2)) -> c_133(U85^#(X1, X2)) -->_1 U85^#(ok(X1), ok(X2)) -> c_133(U85^#(X1, X2)) :128 -->_1 U85^#(mark(X1), X2) -> c_132(U85^#(X1, X2)) :127 129: U86^#(mark(X)) -> c_134(U86^#(X)) -->_1 U86^#(ok(X)) -> c_135(U86^#(X)) :130 -->_1 U86^#(mark(X)) -> c_134(U86^#(X)) :129 130: U86^#(ok(X)) -> c_135(U86^#(X)) -->_1 U86^#(ok(X)) -> c_135(U86^#(X)) :130 -->_1 U86^#(mark(X)) -> c_134(U86^#(X)) :129 131: U91^#(mark(X1), X2, X3) -> c_136(U91^#(X1, X2, X3)) -->_1 U91^#(ok(X1), ok(X2), ok(X3)) -> c_137(U91^#(X1, X2, X3)) :132 -->_1 U91^#(mark(X1), X2, X3) -> c_136(U91^#(X1, X2, X3)) :131 132: U91^#(ok(X1), ok(X2), ok(X3)) -> c_137(U91^#(X1, X2, X3)) -->_1 U91^#(ok(X1), ok(X2), ok(X3)) -> c_137(U91^#(X1, X2, X3)) :132 -->_1 U91^#(mark(X1), X2, X3) -> c_136(U91^#(X1, X2, X3)) :131 133: U92^#(mark(X1), X2, X3) -> c_138(U92^#(X1, X2, X3)) -->_1 U92^#(ok(X1), ok(X2), ok(X3)) -> c_139(U92^#(X1, X2, X3)) :134 -->_1 U92^#(mark(X1), X2, X3) -> c_138(U92^#(X1, X2, X3)) :133 134: U92^#(ok(X1), ok(X2), ok(X3)) -> c_139(U92^#(X1, X2, X3)) -->_1 U92^#(ok(X1), ok(X2), ok(X3)) -> c_139(U92^#(X1, X2, X3)) :134 -->_1 U92^#(mark(X1), X2, X3) -> c_138(U92^#(X1, X2, X3)) :133 135: U93^#(mark(X1), X2, X3) -> c_140(U93^#(X1, X2, X3)) -->_1 U93^#(ok(X1), ok(X2), ok(X3)) -> c_141(U93^#(X1, X2, X3)) :136 -->_1 U93^#(mark(X1), X2, X3) -> c_140(U93^#(X1, X2, X3)) :135 136: U93^#(ok(X1), ok(X2), ok(X3)) -> c_141(U93^#(X1, X2, X3)) -->_1 U93^#(ok(X1), ok(X2), ok(X3)) -> c_141(U93^#(X1, X2, X3)) :136 -->_1 U93^#(mark(X1), X2, X3) -> c_140(U93^#(X1, X2, X3)) :135 137: U94^#(mark(X1), X2) -> c_142(U94^#(X1, X2)) -->_1 U94^#(ok(X1), ok(X2)) -> c_143(U94^#(X1, X2)) :138 -->_1 U94^#(mark(X1), X2) -> c_142(U94^#(X1, X2)) :137 138: U94^#(ok(X1), ok(X2)) -> c_143(U94^#(X1, X2)) -->_1 U94^#(ok(X1), ok(X2)) -> c_143(U94^#(X1, X2)) :138 -->_1 U94^#(mark(X1), X2) -> c_142(U94^#(X1, X2)) :137 139: s^#(mark(X)) -> c_144(s^#(X)) -->_1 s^#(ok(X)) -> c_145(s^#(X)) :140 -->_1 s^#(mark(X)) -> c_144(s^#(X)) :139 140: s^#(ok(X)) -> c_145(s^#(X)) -->_1 s^#(ok(X)) -> c_145(s^#(X)) :140 -->_1 s^#(mark(X)) -> c_144(s^#(X)) :139 141: length^#(mark(X)) -> c_146(length^#(X)) -->_1 length^#(ok(X)) -> c_147(length^#(X)) :142 -->_1 length^#(mark(X)) -> c_146(length^#(X)) :141 142: length^#(ok(X)) -> c_147(length^#(X)) -->_1 length^#(ok(X)) -> c_147(length^#(X)) :142 -->_1 length^#(mark(X)) -> c_146(length^#(X)) :141 143: isNatIListKind^#(ok(X)) -> c_85(isNatIListKind^#(X)) -->_1 isNatIListKind^#(ok(X)) -> c_85(isNatIListKind^#(X)) :143 144: isNatList^#(ok(X)) -> c_88(isNatList^#(X)) -->_1 isNatList^#(ok(X)) -> c_88(isNatList^#(X)) :144 145: isNatKind^#(ok(X)) -> c_93(isNatKind^#(X)) -->_1 isNatKind^#(ok(X)) -> c_93(isNatKind^#(X)) :145 146: isNat^#(ok(X)) -> c_96(isNat^#(X)) -->_1 isNat^#(ok(X)) -> c_96(isNat^#(X)) :146 147: isNatIList^#(ok(X)) -> c_115(isNatIList^#(X)) -->_1 isNatIList^#(ok(X)) -> c_115(isNatIList^#(X)) :147 148: proper^#(zeros()) -> c_148() 149: proper^#(cons(X1, X2)) -> c_149(cons^#(proper(X1), proper(X2))) -->_1 cons^#(ok(X1), ok(X2)) -> c_80(cons^#(X1, X2)) :80 -->_1 cons^#(mark(X1), X2) -> c_79(cons^#(X1, X2)) :79 150: proper^#(0()) -> c_150() 151: proper^#(U11(X1, X2)) -> c_151(U11^#(proper(X1), proper(X2))) -->_1 U11^#(ok(X1), ok(X2)) -> c_82(U11^#(X1, X2)) :82 -->_1 U11^#(mark(X1), X2) -> c_81(U11^#(X1, X2)) :81 152: proper^#(tt()) -> c_152() 153: proper^#(U12(X1, X2)) -> c_153(U12^#(proper(X1), proper(X2))) -->_1 U12^#(ok(X1), ok(X2)) -> c_84(U12^#(X1, X2)) :84 -->_1 U12^#(mark(X1), X2) -> c_83(U12^#(X1, X2)) :83 154: proper^#(isNatIListKind(X)) -> c_154(isNatIListKind^#(proper(X))) -->_1 isNatIListKind^#(ok(X)) -> c_85(isNatIListKind^#(X)) :143 155: proper^#(U13(X)) -> c_155(U13^#(proper(X))) -->_1 U13^#(ok(X)) -> c_87(U13^#(X)) :86 -->_1 U13^#(mark(X)) -> c_86(U13^#(X)) :85 156: proper^#(isNatList(X)) -> c_156(isNatList^#(proper(X))) -->_1 isNatList^#(ok(X)) -> c_88(isNatList^#(X)) :144 157: proper^#(U21(X1, X2)) -> c_157(U21^#(proper(X1), proper(X2))) -->_1 U21^#(ok(X1), ok(X2)) -> c_90(U21^#(X1, X2)) :92 -->_1 U21^#(mark(X1), X2) -> c_89(U21^#(X1, X2)) :91 158: proper^#(U22(X1, X2)) -> c_158(U22^#(proper(X1), proper(X2))) -->_1 U22^#(ok(X1), ok(X2)) -> c_92(U22^#(X1, X2)) :94 -->_1 U22^#(mark(X1), X2) -> c_91(U22^#(X1, X2)) :93 159: proper^#(isNatKind(X)) -> c_159(isNatKind^#(proper(X))) -->_1 isNatKind^#(ok(X)) -> c_93(isNatKind^#(X)) :145 160: proper^#(U23(X)) -> c_160(U23^#(proper(X))) -->_1 U23^#(ok(X)) -> c_95(U23^#(X)) :96 -->_1 U23^#(mark(X)) -> c_94(U23^#(X)) :95 161: proper^#(isNat(X)) -> c_161(isNat^#(proper(X))) -->_1 isNat^#(ok(X)) -> c_96(isNat^#(X)) :146 162: proper^#(U31(X1, X2)) -> c_162(U31^#(proper(X1), proper(X2))) -->_1 U31^#(ok(X1), ok(X2)) -> c_98(U31^#(X1, X2)) :102 -->_1 U31^#(mark(X1), X2) -> c_97(U31^#(X1, X2)) :101 163: proper^#(U32(X1, X2)) -> c_163(U32^#(proper(X1), proper(X2))) -->_1 U32^#(ok(X1), ok(X2)) -> c_100(U32^#(X1, X2)) :104 -->_1 U32^#(mark(X1), X2) -> c_99(U32^#(X1, X2)) :103 164: proper^#(U33(X)) -> c_164(U33^#(proper(X))) -->_1 U33^#(ok(X)) -> c_102(U33^#(X)) :106 -->_1 U33^#(mark(X)) -> c_101(U33^#(X)) :105 165: proper^#(U41(X1, X2, X3)) -> c_165(U41^#(proper(X1), proper(X2), proper(X3))) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_104(U41^#(X1, X2, X3)) :108 -->_1 U41^#(mark(X1), X2, X3) -> c_103(U41^#(X1, X2, X3)) :107 166: proper^#(U42(X1, X2, X3)) -> c_166(U42^#(proper(X1), proper(X2), proper(X3))) -->_1 U42^#(ok(X1), ok(X2), ok(X3)) -> c_106(U42^#(X1, X2, X3)) :110 -->_1 U42^#(mark(X1), X2, X3) -> c_105(U42^#(X1, X2, X3)) :109 167: proper^#(U43(X1, X2, X3)) -> c_167(U43^#(proper(X1), proper(X2), proper(X3))) -->_1 U43^#(ok(X1), ok(X2), ok(X3)) -> c_108(U43^#(X1, X2, X3)) :112 -->_1 U43^#(mark(X1), X2, X3) -> c_107(U43^#(X1, X2, X3)) :111 168: proper^#(U44(X1, X2, X3)) -> c_168(U44^#(proper(X1), proper(X2), proper(X3))) -->_1 U44^#(ok(X1), ok(X2), ok(X3)) -> c_110(U44^#(X1, X2, X3)) :114 -->_1 U44^#(mark(X1), X2, X3) -> c_109(U44^#(X1, X2, X3)) :113 169: proper^#(U45(X1, X2)) -> c_169(U45^#(proper(X1), proper(X2))) -->_1 U45^#(ok(X1), ok(X2)) -> c_112(U45^#(X1, X2)) :116 -->_1 U45^#(mark(X1), X2) -> c_111(U45^#(X1, X2)) :115 170: proper^#(U46(X)) -> c_170(U46^#(proper(X))) -->_1 U46^#(ok(X)) -> c_114(U46^#(X)) :118 -->_1 U46^#(mark(X)) -> c_113(U46^#(X)) :117 171: proper^#(isNatIList(X)) -> c_171(isNatIList^#(proper(X))) -->_1 isNatIList^#(ok(X)) -> c_115(isNatIList^#(X)) :147 172: proper^#(U51(X1, X2)) -> c_172(U51^#(proper(X1), proper(X2))) -->_1 U51^#(ok(X1), ok(X2)) -> c_117(U51^#(X1, X2)) :88 -->_1 U51^#(mark(X1), X2) -> c_116(U51^#(X1, X2)) :87 173: proper^#(U52(X)) -> c_173(U52^#(proper(X))) -->_1 U52^#(ok(X)) -> c_119(U52^#(X)) :120 -->_1 U52^#(mark(X)) -> c_118(U52^#(X)) :119 174: proper^#(U61(X)) -> c_174(U61^#(proper(X))) -->_1 U61^#(ok(X)) -> c_121(U61^#(X)) :100 -->_1 U61^#(mark(X)) -> c_120(U61^#(X)) :99 175: proper^#(U71(X)) -> c_175(U71^#(proper(X))) -->_1 U71^#(ok(X)) -> c_123(U71^#(X)) :98 -->_1 U71^#(mark(X)) -> c_122(U71^#(X)) :97 176: proper^#(U81(X1, X2, X3)) -> c_176(U81^#(proper(X1), proper(X2), proper(X3))) -->_1 U81^#(ok(X1), ok(X2), ok(X3)) -> c_125(U81^#(X1, X2, X3)) :90 -->_1 U81^#(mark(X1), X2, X3) -> c_124(U81^#(X1, X2, X3)) :89 177: proper^#(U82(X1, X2, X3)) -> c_177(U82^#(proper(X1), proper(X2), proper(X3))) -->_1 U82^#(ok(X1), ok(X2), ok(X3)) -> c_127(U82^#(X1, X2, X3)) :122 -->_1 U82^#(mark(X1), X2, X3) -> c_126(U82^#(X1, X2, X3)) :121 178: proper^#(U83(X1, X2, X3)) -> c_178(U83^#(proper(X1), proper(X2), proper(X3))) -->_1 U83^#(ok(X1), ok(X2), ok(X3)) -> c_129(U83^#(X1, X2, X3)) :124 -->_1 U83^#(mark(X1), X2, X3) -> c_128(U83^#(X1, X2, X3)) :123 179: proper^#(U84(X1, X2, X3)) -> c_179(U84^#(proper(X1), proper(X2), proper(X3))) -->_1 U84^#(ok(X1), ok(X2), ok(X3)) -> c_131(U84^#(X1, X2, X3)) :126 -->_1 U84^#(mark(X1), X2, X3) -> c_130(U84^#(X1, X2, X3)) :125 180: proper^#(U85(X1, X2)) -> c_180(U85^#(proper(X1), proper(X2))) -->_1 U85^#(ok(X1), ok(X2)) -> c_133(U85^#(X1, X2)) :128 -->_1 U85^#(mark(X1), X2) -> c_132(U85^#(X1, X2)) :127 181: proper^#(U86(X)) -> c_181(U86^#(proper(X))) -->_1 U86^#(ok(X)) -> c_135(U86^#(X)) :130 -->_1 U86^#(mark(X)) -> c_134(U86^#(X)) :129 182: proper^#(U91(X1, X2, X3)) -> c_182(U91^#(proper(X1), proper(X2), proper(X3))) -->_1 U91^#(ok(X1), ok(X2), ok(X3)) -> c_137(U91^#(X1, X2, X3)) :132 -->_1 U91^#(mark(X1), X2, X3) -> c_136(U91^#(X1, X2, X3)) :131 183: proper^#(U92(X1, X2, X3)) -> c_183(U92^#(proper(X1), proper(X2), proper(X3))) -->_1 U92^#(ok(X1), ok(X2), ok(X3)) -> c_139(U92^#(X1, X2, X3)) :134 -->_1 U92^#(mark(X1), X2, X3) -> c_138(U92^#(X1, X2, X3)) :133 184: proper^#(U93(X1, X2, X3)) -> c_184(U93^#(proper(X1), proper(X2), proper(X3))) -->_1 U93^#(ok(X1), ok(X2), ok(X3)) -> c_141(U93^#(X1, X2, X3)) :136 -->_1 U93^#(mark(X1), X2, X3) -> c_140(U93^#(X1, X2, X3)) :135 185: proper^#(U94(X1, X2)) -> c_185(U94^#(proper(X1), proper(X2))) -->_1 U94^#(ok(X1), ok(X2)) -> c_143(U94^#(X1, X2)) :138 -->_1 U94^#(mark(X1), X2) -> c_142(U94^#(X1, X2)) :137 186: proper^#(s(X)) -> c_186(s^#(proper(X))) -->_1 s^#(ok(X)) -> c_145(s^#(X)) :140 -->_1 s^#(mark(X)) -> c_144(s^#(X)) :139 187: proper^#(length(X)) -> c_187(length^#(proper(X))) -->_1 length^#(ok(X)) -> c_147(length^#(X)) :142 -->_1 length^#(mark(X)) -> c_146(length^#(X)) :141 188: proper^#(nil()) -> c_188() 189: top^#(mark(X)) -> c_189(top^#(proper(X))) -->_1 top^#(ok(X)) -> c_190(top^#(active(X))) :190 -->_1 top^#(mark(X)) -> c_189(top^#(proper(X))) :189 190: top^#(ok(X)) -> c_190(top^#(active(X))) -->_1 top^#(ok(X)) -> c_190(top^#(active(X))) :190 -->_1 top^#(mark(X)) -> c_189(top^#(proper(X))) :189 Only the nodes {1,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,152,188,189,190} are reachable from nodes {1,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,152,188,189,190} 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: { active^#(zeros()) -> c_1(cons^#(0(), zeros())) , cons^#(mark(X1), X2) -> c_79(cons^#(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_80(cons^#(X1, X2)) , U11^#(mark(X1), X2) -> c_81(U11^#(X1, X2)) , U11^#(ok(X1), ok(X2)) -> c_82(U11^#(X1, X2)) , U12^#(mark(X1), X2) -> c_83(U12^#(X1, X2)) , U12^#(ok(X1), ok(X2)) -> c_84(U12^#(X1, X2)) , U13^#(mark(X)) -> c_86(U13^#(X)) , U13^#(ok(X)) -> c_87(U13^#(X)) , U51^#(mark(X1), X2) -> c_116(U51^#(X1, X2)) , U51^#(ok(X1), ok(X2)) -> c_117(U51^#(X1, X2)) , U81^#(mark(X1), X2, X3) -> c_124(U81^#(X1, X2, X3)) , U81^#(ok(X1), ok(X2), ok(X3)) -> c_125(U81^#(X1, X2, X3)) , U21^#(mark(X1), X2) -> c_89(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_90(U21^#(X1, X2)) , U22^#(mark(X1), X2) -> c_91(U22^#(X1, X2)) , U22^#(ok(X1), ok(X2)) -> c_92(U22^#(X1, X2)) , U23^#(mark(X)) -> c_94(U23^#(X)) , U23^#(ok(X)) -> c_95(U23^#(X)) , U71^#(mark(X)) -> c_122(U71^#(X)) , U71^#(ok(X)) -> c_123(U71^#(X)) , U61^#(mark(X)) -> c_120(U61^#(X)) , U61^#(ok(X)) -> c_121(U61^#(X)) , U31^#(mark(X1), X2) -> c_97(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_98(U31^#(X1, X2)) , U32^#(mark(X1), X2) -> c_99(U32^#(X1, X2)) , U32^#(ok(X1), ok(X2)) -> c_100(U32^#(X1, X2)) , U33^#(mark(X)) -> c_101(U33^#(X)) , U33^#(ok(X)) -> c_102(U33^#(X)) , U41^#(mark(X1), X2, X3) -> c_103(U41^#(X1, X2, X3)) , U41^#(ok(X1), ok(X2), ok(X3)) -> c_104(U41^#(X1, X2, X3)) , U42^#(mark(X1), X2, X3) -> c_105(U42^#(X1, X2, X3)) , U42^#(ok(X1), ok(X2), ok(X3)) -> c_106(U42^#(X1, X2, X3)) , U43^#(mark(X1), X2, X3) -> c_107(U43^#(X1, X2, X3)) , U43^#(ok(X1), ok(X2), ok(X3)) -> c_108(U43^#(X1, X2, X3)) , U44^#(mark(X1), X2, X3) -> c_109(U44^#(X1, X2, X3)) , U44^#(ok(X1), ok(X2), ok(X3)) -> c_110(U44^#(X1, X2, X3)) , U45^#(mark(X1), X2) -> c_111(U45^#(X1, X2)) , U45^#(ok(X1), ok(X2)) -> c_112(U45^#(X1, X2)) , U46^#(mark(X)) -> c_113(U46^#(X)) , U46^#(ok(X)) -> c_114(U46^#(X)) , U52^#(mark(X)) -> c_118(U52^#(X)) , U52^#(ok(X)) -> c_119(U52^#(X)) , U82^#(mark(X1), X2, X3) -> c_126(U82^#(X1, X2, X3)) , U82^#(ok(X1), ok(X2), ok(X3)) -> c_127(U82^#(X1, X2, X3)) , U83^#(mark(X1), X2, X3) -> c_128(U83^#(X1, X2, X3)) , U83^#(ok(X1), ok(X2), ok(X3)) -> c_129(U83^#(X1, X2, X3)) , U84^#(mark(X1), X2, X3) -> c_130(U84^#(X1, X2, X3)) , U84^#(ok(X1), ok(X2), ok(X3)) -> c_131(U84^#(X1, X2, X3)) , U85^#(mark(X1), X2) -> c_132(U85^#(X1, X2)) , U85^#(ok(X1), ok(X2)) -> c_133(U85^#(X1, X2)) , U86^#(mark(X)) -> c_134(U86^#(X)) , U86^#(ok(X)) -> c_135(U86^#(X)) , U91^#(mark(X1), X2, X3) -> c_136(U91^#(X1, X2, X3)) , U91^#(ok(X1), ok(X2), ok(X3)) -> c_137(U91^#(X1, X2, X3)) , U92^#(mark(X1), X2, X3) -> c_138(U92^#(X1, X2, X3)) , U92^#(ok(X1), ok(X2), ok(X3)) -> c_139(U92^#(X1, X2, X3)) , U93^#(mark(X1), X2, X3) -> c_140(U93^#(X1, X2, X3)) , U93^#(ok(X1), ok(X2), ok(X3)) -> c_141(U93^#(X1, X2, X3)) , U94^#(mark(X1), X2) -> c_142(U94^#(X1, X2)) , U94^#(ok(X1), ok(X2)) -> c_143(U94^#(X1, X2)) , s^#(mark(X)) -> c_144(s^#(X)) , s^#(ok(X)) -> c_145(s^#(X)) , length^#(mark(X)) -> c_146(length^#(X)) , length^#(ok(X)) -> c_147(length^#(X)) , isNatIListKind^#(ok(X)) -> c_85(isNatIListKind^#(X)) , isNatList^#(ok(X)) -> c_88(isNatList^#(X)) , isNatKind^#(ok(X)) -> c_93(isNatKind^#(X)) , isNat^#(ok(X)) -> c_96(isNat^#(X)) , isNatIList^#(ok(X)) -> c_115(isNatIList^#(X)) , proper^#(zeros()) -> c_148() , proper^#(0()) -> c_150() , proper^#(tt()) -> c_152() , proper^#(nil()) -> c_188() , top^#(mark(X)) -> c_189(top^#(proper(X))) , top^#(ok(X)) -> c_190(top^#(active(X))) } Strict Trs: { active(zeros()) -> mark(cons(0(), zeros())) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(U11(X1, X2)) -> U11(active(X1), X2) , active(U11(tt(), V1)) -> mark(U12(isNatIListKind(V1), V1)) , active(U12(X1, X2)) -> U12(active(X1), X2) , active(U12(tt(), V1)) -> mark(U13(isNatList(V1))) , active(isNatIListKind(zeros())) -> mark(tt()) , active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) , active(isNatIListKind(nil())) -> mark(tt()) , active(U13(X)) -> U13(active(X)) , active(U13(tt())) -> mark(tt()) , active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) , active(isNatList(nil())) -> 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(isNatKind(0())) -> mark(tt()) , active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) , active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) , active(U23(X)) -> U23(active(X)) , active(U23(tt())) -> mark(tt()) , active(isNat(0())) -> mark(tt()) , active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) , active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), V)) -> mark(U32(isNatIListKind(V), V)) , active(U32(X1, X2)) -> U32(active(X1), X2) , active(U32(tt(), V)) -> mark(U33(isNatList(V))) , active(U33(X)) -> U33(active(X)) , active(U33(tt())) -> mark(tt()) , active(U41(X1, X2, X3)) -> U41(active(X1), X2, X3) , active(U41(tt(), V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) , active(U42(X1, X2, X3)) -> U42(active(X1), X2, X3) , active(U42(tt(), V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) , active(U43(X1, X2, X3)) -> U43(active(X1), X2, X3) , active(U43(tt(), V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) , active(U44(X1, X2, X3)) -> U44(active(X1), X2, X3) , active(U44(tt(), V1, V2)) -> mark(U45(isNat(V1), V2)) , active(U45(X1, X2)) -> U45(active(X1), X2) , active(U45(tt(), V2)) -> mark(U46(isNatIList(V2))) , active(U46(X)) -> U46(active(X)) , active(U46(tt())) -> mark(tt()) , active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) , active(isNatIList(zeros())) -> mark(tt()) , active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) , active(U51(X1, X2)) -> U51(active(X1), X2) , active(U51(tt(), V2)) -> mark(U52(isNatIListKind(V2))) , active(U52(X)) -> U52(active(X)) , active(U52(tt())) -> mark(tt()) , active(U61(X)) -> U61(active(X)) , active(U61(tt())) -> mark(tt()) , active(U71(X)) -> U71(active(X)) , active(U71(tt())) -> mark(tt()) , active(U81(X1, X2, X3)) -> U81(active(X1), X2, X3) , active(U81(tt(), V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) , active(U82(X1, X2, X3)) -> U82(active(X1), X2, X3) , active(U82(tt(), V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) , active(U83(X1, X2, X3)) -> U83(active(X1), X2, X3) , active(U83(tt(), V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) , active(U84(X1, X2, X3)) -> U84(active(X1), X2, X3) , active(U84(tt(), V1, V2)) -> mark(U85(isNat(V1), V2)) , active(U85(X1, X2)) -> U85(active(X1), X2) , active(U85(tt(), V2)) -> mark(U86(isNatList(V2))) , active(U86(X)) -> U86(active(X)) , active(U86(tt())) -> mark(tt()) , active(U91(X1, X2, X3)) -> U91(active(X1), X2, X3) , active(U91(tt(), L, N)) -> mark(U92(isNatIListKind(L), L, N)) , active(U92(X1, X2, X3)) -> U92(active(X1), X2, X3) , active(U92(tt(), L, N)) -> mark(U93(isNat(N), L, N)) , active(U93(X1, X2, X3)) -> U93(active(X1), X2, X3) , active(U93(tt(), L, N)) -> mark(U94(isNatKind(N), L)) , active(U94(X1, X2)) -> U94(active(X1), X2) , active(U94(tt(), L)) -> mark(s(length(L))) , active(s(X)) -> s(active(X)) , active(length(X)) -> length(active(X)) , active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) , active(length(nil())) -> mark(0()) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , U11(mark(X1), X2) -> mark(U11(X1, X2)) , U11(ok(X1), ok(X2)) -> ok(U11(X1, X2)) , U12(mark(X1), X2) -> mark(U12(X1, X2)) , U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)) , isNatIListKind(ok(X)) -> ok(isNatIListKind(X)) , U13(mark(X)) -> mark(U13(X)) , U13(ok(X)) -> ok(U13(X)) , isNatList(ok(X)) -> ok(isNatList(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)) , isNatKind(ok(X)) -> ok(isNatKind(X)) , U23(mark(X)) -> mark(U23(X)) , U23(ok(X)) -> ok(U23(X)) , isNat(ok(X)) -> ok(isNat(X)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U32(mark(X1), X2) -> mark(U32(X1, X2)) , U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)) , U33(mark(X)) -> mark(U33(X)) , U33(ok(X)) -> ok(U33(X)) , U41(mark(X1), X2, X3) -> mark(U41(X1, X2, X3)) , U41(ok(X1), ok(X2), ok(X3)) -> ok(U41(X1, X2, X3)) , U42(mark(X1), X2, X3) -> mark(U42(X1, X2, X3)) , U42(ok(X1), ok(X2), ok(X3)) -> ok(U42(X1, X2, X3)) , U43(mark(X1), X2, X3) -> mark(U43(X1, X2, X3)) , U43(ok(X1), ok(X2), ok(X3)) -> ok(U43(X1, X2, X3)) , U44(mark(X1), X2, X3) -> mark(U44(X1, X2, X3)) , U44(ok(X1), ok(X2), ok(X3)) -> ok(U44(X1, X2, X3)) , U45(mark(X1), X2) -> mark(U45(X1, X2)) , U45(ok(X1), ok(X2)) -> ok(U45(X1, X2)) , U46(mark(X)) -> mark(U46(X)) , U46(ok(X)) -> ok(U46(X)) , isNatIList(ok(X)) -> ok(isNatIList(X)) , U51(mark(X1), X2) -> mark(U51(X1, X2)) , U51(ok(X1), ok(X2)) -> ok(U51(X1, X2)) , U52(mark(X)) -> mark(U52(X)) , U52(ok(X)) -> ok(U52(X)) , U61(mark(X)) -> mark(U61(X)) , U61(ok(X)) -> ok(U61(X)) , U71(mark(X)) -> mark(U71(X)) , U71(ok(X)) -> ok(U71(X)) , U81(mark(X1), X2, X3) -> mark(U81(X1, X2, X3)) , U81(ok(X1), ok(X2), ok(X3)) -> ok(U81(X1, X2, X3)) , U82(mark(X1), X2, X3) -> mark(U82(X1, X2, X3)) , U82(ok(X1), ok(X2), ok(X3)) -> ok(U82(X1, X2, X3)) , U83(mark(X1), X2, X3) -> mark(U83(X1, X2, X3)) , U83(ok(X1), ok(X2), ok(X3)) -> ok(U83(X1, X2, X3)) , U84(mark(X1), X2, X3) -> mark(U84(X1, X2, X3)) , U84(ok(X1), ok(X2), ok(X3)) -> ok(U84(X1, X2, X3)) , U85(mark(X1), X2) -> mark(U85(X1, X2)) , U85(ok(X1), ok(X2)) -> ok(U85(X1, X2)) , U86(mark(X)) -> mark(U86(X)) , U86(ok(X)) -> ok(U86(X)) , U91(mark(X1), X2, X3) -> mark(U91(X1, X2, X3)) , U91(ok(X1), ok(X2), ok(X3)) -> ok(U91(X1, X2, X3)) , U92(mark(X1), X2, X3) -> mark(U92(X1, X2, X3)) , U92(ok(X1), ok(X2), ok(X3)) -> ok(U92(X1, X2, X3)) , U93(mark(X1), X2, X3) -> mark(U93(X1, X2, X3)) , U93(ok(X1), ok(X2), ok(X3)) -> ok(U93(X1, X2, X3)) , U94(mark(X1), X2) -> mark(U94(X1, X2)) , U94(ok(X1), ok(X2)) -> ok(U94(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , length(mark(X)) -> mark(length(X)) , length(ok(X)) -> ok(length(X)) , proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(U11(X1, X2)) -> U11(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)) , proper(isNatIListKind(X)) -> isNatIListKind(proper(X)) , proper(U13(X)) -> U13(proper(X)) , proper(isNatList(X)) -> isNatList(proper(X)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X1, X2)) -> U22(proper(X1), proper(X2)) , proper(isNatKind(X)) -> isNatKind(proper(X)) , proper(U23(X)) -> U23(proper(X)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)) , proper(U33(X)) -> U33(proper(X)) , proper(U41(X1, X2, X3)) -> U41(proper(X1), proper(X2), proper(X3)) , proper(U42(X1, X2, X3)) -> U42(proper(X1), proper(X2), proper(X3)) , proper(U43(X1, X2, X3)) -> U43(proper(X1), proper(X2), proper(X3)) , proper(U44(X1, X2, X3)) -> U44(proper(X1), proper(X2), proper(X3)) , proper(U45(X1, X2)) -> U45(proper(X1), proper(X2)) , proper(U46(X)) -> U46(proper(X)) , proper(isNatIList(X)) -> isNatIList(proper(X)) , proper(U51(X1, X2)) -> U51(proper(X1), proper(X2)) , proper(U52(X)) -> U52(proper(X)) , proper(U61(X)) -> U61(proper(X)) , proper(U71(X)) -> U71(proper(X)) , proper(U81(X1, X2, X3)) -> U81(proper(X1), proper(X2), proper(X3)) , proper(U82(X1, X2, X3)) -> U82(proper(X1), proper(X2), proper(X3)) , proper(U83(X1, X2, X3)) -> U83(proper(X1), proper(X2), proper(X3)) , proper(U84(X1, X2, X3)) -> U84(proper(X1), proper(X2), proper(X3)) , proper(U85(X1, X2)) -> U85(proper(X1), proper(X2)) , proper(U86(X)) -> U86(proper(X)) , proper(U91(X1, X2, X3)) -> U91(proper(X1), proper(X2), proper(X3)) , proper(U92(X1, X2, X3)) -> U92(proper(X1), proper(X2), proper(X3)) , proper(U93(X1, X2, X3)) -> U93(proper(X1), proper(X2), proper(X3)) , proper(U94(X1, X2)) -> U94(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {1,71,72,73,74} by applications of Pre({1,71,72,73,74}) = {}. Here rules are labeled as follows: DPs: { 1: active^#(zeros()) -> c_1(cons^#(0(), zeros())) , 2: cons^#(mark(X1), X2) -> c_79(cons^#(X1, X2)) , 3: cons^#(ok(X1), ok(X2)) -> c_80(cons^#(X1, X2)) , 4: U11^#(mark(X1), X2) -> c_81(U11^#(X1, X2)) , 5: U11^#(ok(X1), ok(X2)) -> c_82(U11^#(X1, X2)) , 6: U12^#(mark(X1), X2) -> c_83(U12^#(X1, X2)) , 7: U12^#(ok(X1), ok(X2)) -> c_84(U12^#(X1, X2)) , 8: U13^#(mark(X)) -> c_86(U13^#(X)) , 9: U13^#(ok(X)) -> c_87(U13^#(X)) , 10: U51^#(mark(X1), X2) -> c_116(U51^#(X1, X2)) , 11: U51^#(ok(X1), ok(X2)) -> c_117(U51^#(X1, X2)) , 12: U81^#(mark(X1), X2, X3) -> c_124(U81^#(X1, X2, X3)) , 13: U81^#(ok(X1), ok(X2), ok(X3)) -> c_125(U81^#(X1, X2, X3)) , 14: U21^#(mark(X1), X2) -> c_89(U21^#(X1, X2)) , 15: U21^#(ok(X1), ok(X2)) -> c_90(U21^#(X1, X2)) , 16: U22^#(mark(X1), X2) -> c_91(U22^#(X1, X2)) , 17: U22^#(ok(X1), ok(X2)) -> c_92(U22^#(X1, X2)) , 18: U23^#(mark(X)) -> c_94(U23^#(X)) , 19: U23^#(ok(X)) -> c_95(U23^#(X)) , 20: U71^#(mark(X)) -> c_122(U71^#(X)) , 21: U71^#(ok(X)) -> c_123(U71^#(X)) , 22: U61^#(mark(X)) -> c_120(U61^#(X)) , 23: U61^#(ok(X)) -> c_121(U61^#(X)) , 24: U31^#(mark(X1), X2) -> c_97(U31^#(X1, X2)) , 25: U31^#(ok(X1), ok(X2)) -> c_98(U31^#(X1, X2)) , 26: U32^#(mark(X1), X2) -> c_99(U32^#(X1, X2)) , 27: U32^#(ok(X1), ok(X2)) -> c_100(U32^#(X1, X2)) , 28: U33^#(mark(X)) -> c_101(U33^#(X)) , 29: U33^#(ok(X)) -> c_102(U33^#(X)) , 30: U41^#(mark(X1), X2, X3) -> c_103(U41^#(X1, X2, X3)) , 31: U41^#(ok(X1), ok(X2), ok(X3)) -> c_104(U41^#(X1, X2, X3)) , 32: U42^#(mark(X1), X2, X3) -> c_105(U42^#(X1, X2, X3)) , 33: U42^#(ok(X1), ok(X2), ok(X3)) -> c_106(U42^#(X1, X2, X3)) , 34: U43^#(mark(X1), X2, X3) -> c_107(U43^#(X1, X2, X3)) , 35: U43^#(ok(X1), ok(X2), ok(X3)) -> c_108(U43^#(X1, X2, X3)) , 36: U44^#(mark(X1), X2, X3) -> c_109(U44^#(X1, X2, X3)) , 37: U44^#(ok(X1), ok(X2), ok(X3)) -> c_110(U44^#(X1, X2, X3)) , 38: U45^#(mark(X1), X2) -> c_111(U45^#(X1, X2)) , 39: U45^#(ok(X1), ok(X2)) -> c_112(U45^#(X1, X2)) , 40: U46^#(mark(X)) -> c_113(U46^#(X)) , 41: U46^#(ok(X)) -> c_114(U46^#(X)) , 42: U52^#(mark(X)) -> c_118(U52^#(X)) , 43: U52^#(ok(X)) -> c_119(U52^#(X)) , 44: U82^#(mark(X1), X2, X3) -> c_126(U82^#(X1, X2, X3)) , 45: U82^#(ok(X1), ok(X2), ok(X3)) -> c_127(U82^#(X1, X2, X3)) , 46: U83^#(mark(X1), X2, X3) -> c_128(U83^#(X1, X2, X3)) , 47: U83^#(ok(X1), ok(X2), ok(X3)) -> c_129(U83^#(X1, X2, X3)) , 48: U84^#(mark(X1), X2, X3) -> c_130(U84^#(X1, X2, X3)) , 49: U84^#(ok(X1), ok(X2), ok(X3)) -> c_131(U84^#(X1, X2, X3)) , 50: U85^#(mark(X1), X2) -> c_132(U85^#(X1, X2)) , 51: U85^#(ok(X1), ok(X2)) -> c_133(U85^#(X1, X2)) , 52: U86^#(mark(X)) -> c_134(U86^#(X)) , 53: U86^#(ok(X)) -> c_135(U86^#(X)) , 54: U91^#(mark(X1), X2, X3) -> c_136(U91^#(X1, X2, X3)) , 55: U91^#(ok(X1), ok(X2), ok(X3)) -> c_137(U91^#(X1, X2, X3)) , 56: U92^#(mark(X1), X2, X3) -> c_138(U92^#(X1, X2, X3)) , 57: U92^#(ok(X1), ok(X2), ok(X3)) -> c_139(U92^#(X1, X2, X3)) , 58: U93^#(mark(X1), X2, X3) -> c_140(U93^#(X1, X2, X3)) , 59: U93^#(ok(X1), ok(X2), ok(X3)) -> c_141(U93^#(X1, X2, X3)) , 60: U94^#(mark(X1), X2) -> c_142(U94^#(X1, X2)) , 61: U94^#(ok(X1), ok(X2)) -> c_143(U94^#(X1, X2)) , 62: s^#(mark(X)) -> c_144(s^#(X)) , 63: s^#(ok(X)) -> c_145(s^#(X)) , 64: length^#(mark(X)) -> c_146(length^#(X)) , 65: length^#(ok(X)) -> c_147(length^#(X)) , 66: isNatIListKind^#(ok(X)) -> c_85(isNatIListKind^#(X)) , 67: isNatList^#(ok(X)) -> c_88(isNatList^#(X)) , 68: isNatKind^#(ok(X)) -> c_93(isNatKind^#(X)) , 69: isNat^#(ok(X)) -> c_96(isNat^#(X)) , 70: isNatIList^#(ok(X)) -> c_115(isNatIList^#(X)) , 71: proper^#(zeros()) -> c_148() , 72: proper^#(0()) -> c_150() , 73: proper^#(tt()) -> c_152() , 74: proper^#(nil()) -> c_188() , 75: top^#(mark(X)) -> c_189(top^#(proper(X))) , 76: top^#(ok(X)) -> c_190(top^#(active(X))) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { cons^#(mark(X1), X2) -> c_79(cons^#(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_80(cons^#(X1, X2)) , U11^#(mark(X1), X2) -> c_81(U11^#(X1, X2)) , U11^#(ok(X1), ok(X2)) -> c_82(U11^#(X1, X2)) , U12^#(mark(X1), X2) -> c_83(U12^#(X1, X2)) , U12^#(ok(X1), ok(X2)) -> c_84(U12^#(X1, X2)) , U13^#(mark(X)) -> c_86(U13^#(X)) , U13^#(ok(X)) -> c_87(U13^#(X)) , U51^#(mark(X1), X2) -> c_116(U51^#(X1, X2)) , U51^#(ok(X1), ok(X2)) -> c_117(U51^#(X1, X2)) , U81^#(mark(X1), X2, X3) -> c_124(U81^#(X1, X2, X3)) , U81^#(ok(X1), ok(X2), ok(X3)) -> c_125(U81^#(X1, X2, X3)) , U21^#(mark(X1), X2) -> c_89(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_90(U21^#(X1, X2)) , U22^#(mark(X1), X2) -> c_91(U22^#(X1, X2)) , U22^#(ok(X1), ok(X2)) -> c_92(U22^#(X1, X2)) , U23^#(mark(X)) -> c_94(U23^#(X)) , U23^#(ok(X)) -> c_95(U23^#(X)) , U71^#(mark(X)) -> c_122(U71^#(X)) , U71^#(ok(X)) -> c_123(U71^#(X)) , U61^#(mark(X)) -> c_120(U61^#(X)) , U61^#(ok(X)) -> c_121(U61^#(X)) , U31^#(mark(X1), X2) -> c_97(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_98(U31^#(X1, X2)) , U32^#(mark(X1), X2) -> c_99(U32^#(X1, X2)) , U32^#(ok(X1), ok(X2)) -> c_100(U32^#(X1, X2)) , U33^#(mark(X)) -> c_101(U33^#(X)) , U33^#(ok(X)) -> c_102(U33^#(X)) , U41^#(mark(X1), X2, X3) -> c_103(U41^#(X1, X2, X3)) , U41^#(ok(X1), ok(X2), ok(X3)) -> c_104(U41^#(X1, X2, X3)) , U42^#(mark(X1), X2, X3) -> c_105(U42^#(X1, X2, X3)) , U42^#(ok(X1), ok(X2), ok(X3)) -> c_106(U42^#(X1, X2, X3)) , U43^#(mark(X1), X2, X3) -> c_107(U43^#(X1, X2, X3)) , U43^#(ok(X1), ok(X2), ok(X3)) -> c_108(U43^#(X1, X2, X3)) , U44^#(mark(X1), X2, X3) -> c_109(U44^#(X1, X2, X3)) , U44^#(ok(X1), ok(X2), ok(X3)) -> c_110(U44^#(X1, X2, X3)) , U45^#(mark(X1), X2) -> c_111(U45^#(X1, X2)) , U45^#(ok(X1), ok(X2)) -> c_112(U45^#(X1, X2)) , U46^#(mark(X)) -> c_113(U46^#(X)) , U46^#(ok(X)) -> c_114(U46^#(X)) , U52^#(mark(X)) -> c_118(U52^#(X)) , U52^#(ok(X)) -> c_119(U52^#(X)) , U82^#(mark(X1), X2, X3) -> c_126(U82^#(X1, X2, X3)) , U82^#(ok(X1), ok(X2), ok(X3)) -> c_127(U82^#(X1, X2, X3)) , U83^#(mark(X1), X2, X3) -> c_128(U83^#(X1, X2, X3)) , U83^#(ok(X1), ok(X2), ok(X3)) -> c_129(U83^#(X1, X2, X3)) , U84^#(mark(X1), X2, X3) -> c_130(U84^#(X1, X2, X3)) , U84^#(ok(X1), ok(X2), ok(X3)) -> c_131(U84^#(X1, X2, X3)) , U85^#(mark(X1), X2) -> c_132(U85^#(X1, X2)) , U85^#(ok(X1), ok(X2)) -> c_133(U85^#(X1, X2)) , U86^#(mark(X)) -> c_134(U86^#(X)) , U86^#(ok(X)) -> c_135(U86^#(X)) , U91^#(mark(X1), X2, X3) -> c_136(U91^#(X1, X2, X3)) , U91^#(ok(X1), ok(X2), ok(X3)) -> c_137(U91^#(X1, X2, X3)) , U92^#(mark(X1), X2, X3) -> c_138(U92^#(X1, X2, X3)) , U92^#(ok(X1), ok(X2), ok(X3)) -> c_139(U92^#(X1, X2, X3)) , U93^#(mark(X1), X2, X3) -> c_140(U93^#(X1, X2, X3)) , U93^#(ok(X1), ok(X2), ok(X3)) -> c_141(U93^#(X1, X2, X3)) , U94^#(mark(X1), X2) -> c_142(U94^#(X1, X2)) , U94^#(ok(X1), ok(X2)) -> c_143(U94^#(X1, X2)) , s^#(mark(X)) -> c_144(s^#(X)) , s^#(ok(X)) -> c_145(s^#(X)) , length^#(mark(X)) -> c_146(length^#(X)) , length^#(ok(X)) -> c_147(length^#(X)) , isNatIListKind^#(ok(X)) -> c_85(isNatIListKind^#(X)) , isNatList^#(ok(X)) -> c_88(isNatList^#(X)) , isNatKind^#(ok(X)) -> c_93(isNatKind^#(X)) , isNat^#(ok(X)) -> c_96(isNat^#(X)) , isNatIList^#(ok(X)) -> c_115(isNatIList^#(X)) , top^#(mark(X)) -> c_189(top^#(proper(X))) , top^#(ok(X)) -> c_190(top^#(active(X))) } Strict Trs: { active(zeros()) -> mark(cons(0(), zeros())) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(U11(X1, X2)) -> U11(active(X1), X2) , active(U11(tt(), V1)) -> mark(U12(isNatIListKind(V1), V1)) , active(U12(X1, X2)) -> U12(active(X1), X2) , active(U12(tt(), V1)) -> mark(U13(isNatList(V1))) , active(isNatIListKind(zeros())) -> mark(tt()) , active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) , active(isNatIListKind(nil())) -> mark(tt()) , active(U13(X)) -> U13(active(X)) , active(U13(tt())) -> mark(tt()) , active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) , active(isNatList(nil())) -> 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(isNatKind(0())) -> mark(tt()) , active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) , active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) , active(U23(X)) -> U23(active(X)) , active(U23(tt())) -> mark(tt()) , active(isNat(0())) -> mark(tt()) , active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) , active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), V)) -> mark(U32(isNatIListKind(V), V)) , active(U32(X1, X2)) -> U32(active(X1), X2) , active(U32(tt(), V)) -> mark(U33(isNatList(V))) , active(U33(X)) -> U33(active(X)) , active(U33(tt())) -> mark(tt()) , active(U41(X1, X2, X3)) -> U41(active(X1), X2, X3) , active(U41(tt(), V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) , active(U42(X1, X2, X3)) -> U42(active(X1), X2, X3) , active(U42(tt(), V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) , active(U43(X1, X2, X3)) -> U43(active(X1), X2, X3) , active(U43(tt(), V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) , active(U44(X1, X2, X3)) -> U44(active(X1), X2, X3) , active(U44(tt(), V1, V2)) -> mark(U45(isNat(V1), V2)) , active(U45(X1, X2)) -> U45(active(X1), X2) , active(U45(tt(), V2)) -> mark(U46(isNatIList(V2))) , active(U46(X)) -> U46(active(X)) , active(U46(tt())) -> mark(tt()) , active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) , active(isNatIList(zeros())) -> mark(tt()) , active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) , active(U51(X1, X2)) -> U51(active(X1), X2) , active(U51(tt(), V2)) -> mark(U52(isNatIListKind(V2))) , active(U52(X)) -> U52(active(X)) , active(U52(tt())) -> mark(tt()) , active(U61(X)) -> U61(active(X)) , active(U61(tt())) -> mark(tt()) , active(U71(X)) -> U71(active(X)) , active(U71(tt())) -> mark(tt()) , active(U81(X1, X2, X3)) -> U81(active(X1), X2, X3) , active(U81(tt(), V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) , active(U82(X1, X2, X3)) -> U82(active(X1), X2, X3) , active(U82(tt(), V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) , active(U83(X1, X2, X3)) -> U83(active(X1), X2, X3) , active(U83(tt(), V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) , active(U84(X1, X2, X3)) -> U84(active(X1), X2, X3) , active(U84(tt(), V1, V2)) -> mark(U85(isNat(V1), V2)) , active(U85(X1, X2)) -> U85(active(X1), X2) , active(U85(tt(), V2)) -> mark(U86(isNatList(V2))) , active(U86(X)) -> U86(active(X)) , active(U86(tt())) -> mark(tt()) , active(U91(X1, X2, X3)) -> U91(active(X1), X2, X3) , active(U91(tt(), L, N)) -> mark(U92(isNatIListKind(L), L, N)) , active(U92(X1, X2, X3)) -> U92(active(X1), X2, X3) , active(U92(tt(), L, N)) -> mark(U93(isNat(N), L, N)) , active(U93(X1, X2, X3)) -> U93(active(X1), X2, X3) , active(U93(tt(), L, N)) -> mark(U94(isNatKind(N), L)) , active(U94(X1, X2)) -> U94(active(X1), X2) , active(U94(tt(), L)) -> mark(s(length(L))) , active(s(X)) -> s(active(X)) , active(length(X)) -> length(active(X)) , active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) , active(length(nil())) -> mark(0()) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , U11(mark(X1), X2) -> mark(U11(X1, X2)) , U11(ok(X1), ok(X2)) -> ok(U11(X1, X2)) , U12(mark(X1), X2) -> mark(U12(X1, X2)) , U12(ok(X1), ok(X2)) -> ok(U12(X1, X2)) , isNatIListKind(ok(X)) -> ok(isNatIListKind(X)) , U13(mark(X)) -> mark(U13(X)) , U13(ok(X)) -> ok(U13(X)) , isNatList(ok(X)) -> ok(isNatList(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)) , isNatKind(ok(X)) -> ok(isNatKind(X)) , U23(mark(X)) -> mark(U23(X)) , U23(ok(X)) -> ok(U23(X)) , isNat(ok(X)) -> ok(isNat(X)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U32(mark(X1), X2) -> mark(U32(X1, X2)) , U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)) , U33(mark(X)) -> mark(U33(X)) , U33(ok(X)) -> ok(U33(X)) , U41(mark(X1), X2, X3) -> mark(U41(X1, X2, X3)) , U41(ok(X1), ok(X2), ok(X3)) -> ok(U41(X1, X2, X3)) , U42(mark(X1), X2, X3) -> mark(U42(X1, X2, X3)) , U42(ok(X1), ok(X2), ok(X3)) -> ok(U42(X1, X2, X3)) , U43(mark(X1), X2, X3) -> mark(U43(X1, X2, X3)) , U43(ok(X1), ok(X2), ok(X3)) -> ok(U43(X1, X2, X3)) , U44(mark(X1), X2, X3) -> mark(U44(X1, X2, X3)) , U44(ok(X1), ok(X2), ok(X3)) -> ok(U44(X1, X2, X3)) , U45(mark(X1), X2) -> mark(U45(X1, X2)) , U45(ok(X1), ok(X2)) -> ok(U45(X1, X2)) , U46(mark(X)) -> mark(U46(X)) , U46(ok(X)) -> ok(U46(X)) , isNatIList(ok(X)) -> ok(isNatIList(X)) , U51(mark(X1), X2) -> mark(U51(X1, X2)) , U51(ok(X1), ok(X2)) -> ok(U51(X1, X2)) , U52(mark(X)) -> mark(U52(X)) , U52(ok(X)) -> ok(U52(X)) , U61(mark(X)) -> mark(U61(X)) , U61(ok(X)) -> ok(U61(X)) , U71(mark(X)) -> mark(U71(X)) , U71(ok(X)) -> ok(U71(X)) , U81(mark(X1), X2, X3) -> mark(U81(X1, X2, X3)) , U81(ok(X1), ok(X2), ok(X3)) -> ok(U81(X1, X2, X3)) , U82(mark(X1), X2, X3) -> mark(U82(X1, X2, X3)) , U82(ok(X1), ok(X2), ok(X3)) -> ok(U82(X1, X2, X3)) , U83(mark(X1), X2, X3) -> mark(U83(X1, X2, X3)) , U83(ok(X1), ok(X2), ok(X3)) -> ok(U83(X1, X2, X3)) , U84(mark(X1), X2, X3) -> mark(U84(X1, X2, X3)) , U84(ok(X1), ok(X2), ok(X3)) -> ok(U84(X1, X2, X3)) , U85(mark(X1), X2) -> mark(U85(X1, X2)) , U85(ok(X1), ok(X2)) -> ok(U85(X1, X2)) , U86(mark(X)) -> mark(U86(X)) , U86(ok(X)) -> ok(U86(X)) , U91(mark(X1), X2, X3) -> mark(U91(X1, X2, X3)) , U91(ok(X1), ok(X2), ok(X3)) -> ok(U91(X1, X2, X3)) , U92(mark(X1), X2, X3) -> mark(U92(X1, X2, X3)) , U92(ok(X1), ok(X2), ok(X3)) -> ok(U92(X1, X2, X3)) , U93(mark(X1), X2, X3) -> mark(U93(X1, X2, X3)) , U93(ok(X1), ok(X2), ok(X3)) -> ok(U93(X1, X2, X3)) , U94(mark(X1), X2) -> mark(U94(X1, X2)) , U94(ok(X1), ok(X2)) -> ok(U94(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , length(mark(X)) -> mark(length(X)) , length(ok(X)) -> ok(length(X)) , proper(zeros()) -> ok(zeros()) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(U11(X1, X2)) -> U11(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2)) -> U12(proper(X1), proper(X2)) , proper(isNatIListKind(X)) -> isNatIListKind(proper(X)) , proper(U13(X)) -> U13(proper(X)) , proper(isNatList(X)) -> isNatList(proper(X)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X1, X2)) -> U22(proper(X1), proper(X2)) , proper(isNatKind(X)) -> isNatKind(proper(X)) , proper(U23(X)) -> U23(proper(X)) , proper(isNat(X)) -> isNat(proper(X)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)) , proper(U33(X)) -> U33(proper(X)) , proper(U41(X1, X2, X3)) -> U41(proper(X1), proper(X2), proper(X3)) , proper(U42(X1, X2, X3)) -> U42(proper(X1), proper(X2), proper(X3)) , proper(U43(X1, X2, X3)) -> U43(proper(X1), proper(X2), proper(X3)) , proper(U44(X1, X2, X3)) -> U44(proper(X1), proper(X2), proper(X3)) , proper(U45(X1, X2)) -> U45(proper(X1), proper(X2)) , proper(U46(X)) -> U46(proper(X)) , proper(isNatIList(X)) -> isNatIList(proper(X)) , proper(U51(X1, X2)) -> U51(proper(X1), proper(X2)) , proper(U52(X)) -> U52(proper(X)) , proper(U61(X)) -> U61(proper(X)) , proper(U71(X)) -> U71(proper(X)) , proper(U81(X1, X2, X3)) -> U81(proper(X1), proper(X2), proper(X3)) , proper(U82(X1, X2, X3)) -> U82(proper(X1), proper(X2), proper(X3)) , proper(U83(X1, X2, X3)) -> U83(proper(X1), proper(X2), proper(X3)) , proper(U84(X1, X2, X3)) -> U84(proper(X1), proper(X2), proper(X3)) , proper(U85(X1, X2)) -> U85(proper(X1), proper(X2)) , proper(U86(X)) -> U86(proper(X)) , proper(U91(X1, X2, X3)) -> U91(proper(X1), proper(X2), proper(X3)) , proper(U92(X1, X2, X3)) -> U92(proper(X1), proper(X2), proper(X3)) , proper(U93(X1, X2, X3)) -> U93(proper(X1), proper(X2), proper(X3)) , proper(U94(X1, X2)) -> U94(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , proper(length(X)) -> length(proper(X)) , proper(nil()) -> ok(nil()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Weak DPs: { active^#(zeros()) -> c_1(cons^#(0(), zeros())) , proper^#(zeros()) -> c_148() , proper^#(0()) -> c_150() , proper^#(tt()) -> c_152() , proper^#(nil()) -> c_188() } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..