0 QTRS
↳1 QTRSRRRProof (⇔, 184 ms)
↳2 QTRS
↳3 QTRSRRRProof (⇔, 14 ms)
↳4 QTRS
↳5 QTRSRRRProof (⇔, 12 ms)
↳6 QTRS
↳7 QTRSRRRProof (⇔, 19 ms)
↳8 QTRS
↳9 DependencyPairsProof (⇔, 40 ms)
↳10 QDP
↳11 DependencyGraphProof (⇔, 0 ms)
↳12 AND
↳13 QDP
↳14 UsableRulesReductionPairsProof (⇔, 27 ms)
↳15 QDP
↳16 DependencyGraphProof (⇔, 0 ms)
↳17 AND
↳18 QDP
↳19 QDPOrderProof (⇔, 68 ms)
↳20 QDP
↳21 PisEmptyProof (⇔, 0 ms)
↳22 YES
↳23 QDP
↳24 Narrowing (⇔, 0 ms)
↳25 QDP
↳26 Narrowing (⇔, 0 ms)
↳27 QDP
↳28 Narrowing (⇔, 0 ms)
↳29 QDP
↳30 DependencyGraphProof (⇔, 0 ms)
↳31 QDP
↳32 Narrowing (⇔, 0 ms)
↳33 QDP
↳34 DependencyGraphProof (⇔, 0 ms)
↳35 QDP
↳36 Narrowing (⇔, 0 ms)
↳37 QDP
↳38 Narrowing (⇔, 0 ms)
↳39 QDP
↳40 DependencyGraphProof (⇔, 0 ms)
↳41 QDP
↳42 Narrowing (⇔, 0 ms)
↳43 QDP
↳44 DependencyGraphProof (⇔, 0 ms)
↳45 QDP
↳46 Narrowing (⇔, 0 ms)
↳47 QDP
↳48 Narrowing (⇔, 0 ms)
↳49 QDP
↳50 Narrowing (⇔, 0 ms)
↳51 QDP
↳52 DependencyGraphProof (⇔, 0 ms)
↳53 QDP
↳54 Narrowing (⇔, 0 ms)
↳55 QDP
↳56 DependencyGraphProof (⇔, 0 ms)
↳57 QDP
↳58 Narrowing (⇔, 0 ms)
↳59 QDP
↳60 DependencyGraphProof (⇔, 0 ms)
↳61 QDP
↳62 Narrowing (⇔, 0 ms)
↳63 QDP
↳64 Narrowing (⇔, 0 ms)
↳65 QDP
↳66 DependencyGraphProof (⇔, 0 ms)
↳67 QDP
↳68 Narrowing (⇔, 0 ms)
↳69 QDP
↳70 DependencyGraphProof (⇔, 0 ms)
↳71 QDP
↳72 Narrowing (⇔, 0 ms)
↳73 QDP
↳74 MRRProof (⇔, 29 ms)
↳75 QDP
↳76 MRRProof (⇔, 54 ms)
↳77 QDP
↳78 QDPOrderProof (⇔, 19 ms)
↳79 QDP
↳80 NonTerminationLoopProof (⇔, 0 ms)
↳81 NO
↳82 QDP
↳83 QDPOrderProof (⇔, 175 ms)
↳84 QDP
↳85 DependencyGraphProof (⇔, 0 ms)
↳86 TRUE
↳87 QDP
↳88 UsableRulesReductionPairsProof (⇔, 41 ms)
↳89 QDP
↳90 Narrowing (⇔, 0 ms)
↳91 QDP
↳92 Narrowing (⇔, 0 ms)
↳93 QDP
↳94 Narrowing (⇔, 0 ms)
↳95 QDP
↳96 DependencyGraphProof (⇔, 0 ms)
↳97 QDP
↳98 Narrowing (⇔, 0 ms)
↳99 QDP
↳100 DependencyGraphProof (⇔, 0 ms)
↳101 QDP
↳102 Narrowing (⇔, 0 ms)
↳103 QDP
↳104 Narrowing (⇔, 0 ms)
↳105 QDP
↳106 DependencyGraphProof (⇔, 0 ms)
↳107 QDP
↳108 Narrowing (⇔, 0 ms)
↳109 QDP
↳110 DependencyGraphProof (⇔, 0 ms)
↳111 QDP
↳112 Narrowing (⇔, 0 ms)
↳113 QDP
↳114 Narrowing (⇔, 0 ms)
↳115 QDP
↳116 Narrowing (⇔, 0 ms)
↳117 QDP
↳118 DependencyGraphProof (⇔, 0 ms)
↳119 QDP
↳120 Narrowing (⇔, 0 ms)
↳121 QDP
↳122 DependencyGraphProof (⇔, 0 ms)
↳123 QDP
↳124 Narrowing (⇔, 0 ms)
↳125 QDP
↳126 DependencyGraphProof (⇔, 0 ms)
↳127 QDP
↳128 Narrowing (⇔, 0 ms)
↳129 QDP
↳130 Narrowing (⇔, 0 ms)
↳131 QDP
↳132 DependencyGraphProof (⇔, 0 ms)
↳133 QDP
↳134 Narrowing (⇔, 0 ms)
↳135 QDP
↳136 DependencyGraphProof (⇔, 0 ms)
↳137 QDP
↳138 Narrowing (⇔, 0 ms)
↳139 QDP
↳140 MRRProof (⇔, 20 ms)
↳141 QDP
↳142 MRRProof (⇔, 22 ms)
↳143 QDP
↳144 QDPOrderProof (⇔, 0 ms)
↳145 QDP
↳146 NonTerminationLoopProof (⇔, 0 ms)
↳147 NO
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__nil) → tt
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
length(nil) → 0
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
zeros → n__zeros
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
POL(0) = 0
POL(U11(x1)) = x1
POL(U21(x1)) = x1
POL(U31(x1)) = x1
POL(U41(x1, x2)) = 2·x1 + 2·x2
POL(U42(x1)) = x1
POL(U51(x1, x2)) = 2·x1 + 2·x2
POL(U52(x1)) = x1
POL(U61(x1, x2, x3)) = x1 + 2·x2 + 2·x3
POL(U62(x1, x2)) = 2·x1 + 2·x2
POL(activate(x1)) = x1
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatIList(x1)) = 2·x1
POL(isNatList(x1)) = 2·x1
POL(length(x1)) = 2·x1
POL(n__0) = 0
POL(n__cons(x1, x2)) = 2·x1 + 2·x2
POL(n__length(x1)) = 2·x1
POL(n__nil) = 1
POL(n__s(x1)) = x1
POL(n__zeros) = 0
POL(nil) = 1
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
isNatList(n__nil) → tt
length(nil) → 0
zeros → cons(0, n__zeros)
U11(tt) → tt
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
isNat(n__0) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
zeros → n__zeros
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
POL(0) = 0
POL(U11(x1)) = 1 + x1
POL(U21(x1)) = x1
POL(U31(x1)) = x1
POL(U41(x1, x2)) = 2·x1 + 2·x2
POL(U42(x1)) = x1
POL(U51(x1, x2)) = 2·x1 + 2·x2
POL(U52(x1)) = x1
POL(U61(x1, x2, x3)) = 1 + x1 + 2·x2 + 2·x3
POL(U62(x1, x2)) = 1 + x1 + 2·x2
POL(activate(x1)) = x1
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = 2·x1
POL(isNatIList(x1)) = 2·x1
POL(isNatList(x1)) = 2·x1
POL(length(x1)) = 1 + 2·x1
POL(n__0) = 0
POL(n__cons(x1, x2)) = 2·x1 + 2·x2
POL(n__length(x1)) = 1 + 2·x1
POL(n__nil) = 0
POL(n__s(x1)) = x1
POL(n__zeros) = 0
POL(nil) = 0
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
U11(tt) → tt
isNat(n__length(V1)) → U11(isNatList(activate(V1)))
zeros → cons(0, n__zeros)
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
zeros → n__zeros
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
POL(0) = 0
POL(U21(x1)) = x1
POL(U31(x1)) = x1
POL(U41(x1, x2)) = 1 + 2·x1 + 2·x2
POL(U42(x1)) = x1
POL(U51(x1, x2)) = x1 + 2·x2
POL(U52(x1)) = x1
POL(U61(x1, x2, x3)) = x1 + 2·x2 + x3
POL(U62(x1, x2)) = x1 + 2·x2
POL(activate(x1)) = x1
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatIList(x1)) = 1 + 2·x1
POL(isNatList(x1)) = 2·x1
POL(length(x1)) = 2·x1
POL(n__0) = 0
POL(n__cons(x1, x2)) = 2·x1 + 2·x2
POL(n__length(x1)) = 2·x1
POL(n__nil) = 0
POL(n__s(x1)) = x1
POL(n__zeros) = 0
POL(nil) = 0
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
isNatIList(V) → U31(isNatList(activate(V)))
isNatIList(n__zeros) → tt
zeros → cons(0, n__zeros)
U21(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
zeros → n__zeros
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
POL(0) = 0
POL(U21(x1)) = x1
POL(U31(x1)) = 1 + 2·x1
POL(U41(x1, x2)) = 2·x1 + 2·x2
POL(U42(x1)) = 2·x1
POL(U51(x1, x2)) = x1 + 2·x2
POL(U52(x1)) = x1
POL(U61(x1, x2, x3)) = 2·x1 + 2·x2 + 2·x3
POL(U62(x1, x2)) = 2·x1 + 2·x2
POL(activate(x1)) = x1
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatIList(x1)) = x1
POL(isNatList(x1)) = x1
POL(length(x1)) = 2·x1
POL(n__0) = 0
POL(n__cons(x1, x2)) = 2·x1 + 2·x2
POL(n__length(x1)) = 2·x1
POL(n__nil) = 0
POL(n__s(x1)) = x1
POL(n__zeros) = 0
POL(nil) = 0
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
U31(tt) → tt
zeros → cons(0, n__zeros)
U21(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
zeros → n__zeros
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
ZEROS → CONS(0, n__zeros)
ZEROS → 01
U411(tt, V2) → U421(isNatIList(activate(V2)))
U411(tt, V2) → ISNATILIST(activate(V2))
U411(tt, V2) → ACTIVATE(V2)
U511(tt, V2) → U521(isNatList(activate(V2)))
U511(tt, V2) → ISNATLIST(activate(V2))
U511(tt, V2) → ACTIVATE(V2)
U611(tt, L, N) → U621(isNat(activate(N)), activate(L))
U611(tt, L, N) → ISNAT(activate(N))
U611(tt, L, N) → ACTIVATE(N)
U611(tt, L, N) → ACTIVATE(L)
U621(tt, L) → S(length(activate(L)))
U621(tt, L) → LENGTH(activate(L))
U621(tt, L) → ACTIVATE(L)
ISNAT(n__s(V1)) → U211(isNat(activate(V1)))
ISNAT(n__s(V1)) → ISNAT(activate(V1))
ISNAT(n__s(V1)) → ACTIVATE(V1)
ISNATILIST(n__cons(V1, V2)) → U411(isNat(activate(V1)), activate(V2))
ISNATILIST(n__cons(V1, V2)) → ISNAT(activate(V1))
ISNATILIST(n__cons(V1, V2)) → ACTIVATE(V1)
ISNATILIST(n__cons(V1, V2)) → ACTIVATE(V2)
ISNATLIST(n__cons(V1, V2)) → U511(isNat(activate(V1)), activate(V2))
ISNATLIST(n__cons(V1, V2)) → ISNAT(activate(V1))
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V1)
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V2)
LENGTH(cons(N, L)) → U611(isNatList(activate(L)), activate(L), N)
LENGTH(cons(N, L)) → ISNATLIST(activate(L))
LENGTH(cons(N, L)) → ACTIVATE(L)
ACTIVATE(n__zeros) → ZEROS
ACTIVATE(n__0) → 01
ACTIVATE(n__length(X)) → LENGTH(X)
ACTIVATE(n__s(X)) → S(X)
ACTIVATE(n__cons(X1, X2)) → CONS(X1, X2)
ACTIVATE(n__nil) → NIL
zeros → cons(0, n__zeros)
U21(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
zeros → n__zeros
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
ACTIVATE(n__length(X)) → LENGTH(X)
LENGTH(cons(N, L)) → U611(isNatList(activate(L)), activate(L), N)
U611(tt, L, N) → U621(isNat(activate(N)), activate(L))
U621(tt, L) → LENGTH(activate(L))
LENGTH(cons(N, L)) → ISNATLIST(activate(L))
ISNATLIST(n__cons(V1, V2)) → U511(isNat(activate(V1)), activate(V2))
U511(tt, V2) → ISNATLIST(activate(V2))
ISNATLIST(n__cons(V1, V2)) → ISNAT(activate(V1))
ISNAT(n__s(V1)) → ISNAT(activate(V1))
ISNAT(n__s(V1)) → ACTIVATE(V1)
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V1)
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V2)
U511(tt, V2) → ACTIVATE(V2)
LENGTH(cons(N, L)) → ACTIVATE(L)
U621(tt, L) → ACTIVATE(L)
U611(tt, L, N) → ISNAT(activate(N))
U611(tt, L, N) → ACTIVATE(N)
U611(tt, L, N) → ACTIVATE(L)
zeros → cons(0, n__zeros)
U21(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
zeros → n__zeros
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
The following rules are removed from R:
ACTIVATE(n__length(X)) → LENGTH(X)
Used ordering: POLO with Polynomial interpretation [POLO]:
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
POL(0) = 0
POL(ACTIVATE(x1)) = 2·x1
POL(ISNAT(x1)) = 2·x1
POL(ISNATLIST(x1)) = 2·x1
POL(LENGTH(x1)) = 2·x1
POL(U21(x1)) = x1
POL(U51(x1, x2)) = x1 + 2·x2
POL(U511(x1, x2)) = 2·x1 + 2·x2
POL(U52(x1)) = 2·x1
POL(U61(x1, x2, x3)) = 2 + 2·x1 + 2·x2 + 2·x3
POL(U611(x1, x2, x3)) = x1 + 2·x2 + 2·x3
POL(U62(x1, x2)) = 2 + x1 + 2·x2
POL(U621(x1, x2)) = x1 + 2·x2
POL(activate(x1)) = x1
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = 2·x1
POL(isNatList(x1)) = x1
POL(length(x1)) = 2 + 2·x1
POL(n__0) = 0
POL(n__cons(x1, x2)) = 2·x1 + 2·x2
POL(n__length(x1)) = 2 + 2·x1
POL(n__nil) = 0
POL(n__s(x1)) = x1
POL(n__zeros) = 0
POL(nil) = 0
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
LENGTH(cons(N, L)) → U611(isNatList(activate(L)), activate(L), N)
U611(tt, L, N) → U621(isNat(activate(N)), activate(L))
U621(tt, L) → LENGTH(activate(L))
LENGTH(cons(N, L)) → ISNATLIST(activate(L))
ISNATLIST(n__cons(V1, V2)) → U511(isNat(activate(V1)), activate(V2))
U511(tt, V2) → ISNATLIST(activate(V2))
ISNATLIST(n__cons(V1, V2)) → ISNAT(activate(V1))
ISNAT(n__s(V1)) → ISNAT(activate(V1))
ISNAT(n__s(V1)) → ACTIVATE(V1)
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V1)
ISNATLIST(n__cons(V1, V2)) → ACTIVATE(V2)
U511(tt, V2) → ACTIVATE(V2)
LENGTH(cons(N, L)) → ACTIVATE(L)
U621(tt, L) → ACTIVATE(L)
U611(tt, L, N) → ISNAT(activate(N))
U611(tt, L, N) → ACTIVATE(N)
U611(tt, L, N) → ACTIVATE(L)
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNAT(n__s(V1)) → ISNAT(activate(V1))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNAT(n__s(V1)) → ISNAT(activate(V1))
POL( ISNAT(x1) ) = x1 + 2
POL( activate(x1) ) = x1
POL( n__zeros ) = 2
POL( zeros ) = 2
POL( n__0 ) = 2
POL( 0 ) = 2
POL( n__length(x1) ) = 0
POL( length(x1) ) = max{0, -2}
POL( n__s(x1) ) = 2x1 + 1
POL( s(x1) ) = 2x1 + 1
POL( n__cons(x1, x2) ) = 0
POL( cons(x1, x2) ) = max{0, -2}
POL( n__nil ) = 2
POL( nil ) = 2
POL( U61(x1, ..., x3) ) = max{0, 2x1 - 1}
POL( isNatList(x1) ) = max{0, -2}
POL( U51(x1, x2) ) = max{0, -2}
POL( isNat(x1) ) = max{0, x1 - 1}
POL( U21(x1) ) = max{0, 2x1 - 1}
POL( U62(x1, x2) ) = 1
POL( tt ) = 1
POL( U52(x1) ) = x1
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
length(X) → n__length(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
s(X) → n__s(X)
zeros → cons(0, n__zeros)
zeros → n__zeros
0 → n__0
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, V2) → ISNATLIST(activate(V2))
ISNATLIST(n__cons(V1, V2)) → U511(isNat(activate(V1)), activate(V2))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, n__zeros) → ISNATLIST(zeros)
U511(tt, n__0) → ISNATLIST(0)
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
U511(tt, n__s(x0)) → ISNATLIST(s(x0))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(x0, x1))
U511(tt, n__nil) → ISNATLIST(nil)
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(V1, V2)) → U511(isNat(activate(V1)), activate(V2))
U511(tt, n__zeros) → ISNATLIST(zeros)
U511(tt, n__0) → ISNATLIST(0)
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
U511(tt, n__s(x0)) → ISNATLIST(s(x0))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(x0, x1))
U511(tt, n__nil) → ISNATLIST(nil)
U511(tt, x0) → ISNATLIST(x0)
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__zeros, y1)) → U511(isNat(zeros), activate(y1))
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(x0)), activate(y1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(x0, x1)), activate(y1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(zeros)
U511(tt, n__0) → ISNATLIST(0)
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
U511(tt, n__s(x0)) → ISNATLIST(s(x0))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(x0, x1))
U511(tt, n__nil) → ISNATLIST(nil)
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__zeros, y1)) → U511(isNat(zeros), activate(y1))
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(x0)), activate(y1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(x0, x1)), activate(y1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(n__zeros)
U511(tt, n__0) → ISNATLIST(0)
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
U511(tt, n__s(x0)) → ISNATLIST(s(x0))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(x0, x1))
U511(tt, n__nil) → ISNATLIST(nil)
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__zeros, y1)) → U511(isNat(zeros), activate(y1))
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(x0)), activate(y1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(x0, x1)), activate(y1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(n__zeros)
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__zeros, y1)) → U511(isNat(zeros), activate(y1))
U511(tt, n__0) → ISNATLIST(0)
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(x0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(x0)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(x0, x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(x0, x1)), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(n__zeros), activate(y0))
U511(tt, n__0) → ISNATLIST(0)
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(x0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(x0)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(x0, x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(x0, x1)), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(n__zeros), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__0, y1)) → U511(isNat(0), activate(y1))
U511(tt, n__0) → ISNATLIST(0)
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(x0)), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(x0))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(x0, x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(x0, x1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__0) → ISNATLIST(0)
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(x0)), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(x0))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(x0, x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(x0, x1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, n__0) → ISNATLIST(n__0)
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(x0)), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(x0))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(x0, x1)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(x0, x1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__0) → ISNATLIST(n__0)
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__s(x0)) → ISNATLIST(s(x0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(x0)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(x0, x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(x0, x1)), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, n__s(x0)) → ISNATLIST(n__s(x0))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(x0)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(x0, x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(x0, x1)), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__s(x0)) → ISNATLIST(n__s(x0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(s(x0)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(x0, x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(x0, x1)), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
U511(tt, n__cons(x0, x1)) → ISNATLIST(cons(x0, x1))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(x0, x1)), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__cons(x0, x1), y1)) → U511(isNat(cons(x0, x1)), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__cons(x0, x1), y2)) → U511(isNat(n__cons(x0, x1)), activate(y2))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__cons(x0, x1), y2)) → U511(isNat(n__cons(x0, x1)), activate(y2))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__nil) → ISNATLIST(nil)
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, n__nil) → ISNATLIST(n__nil)
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
U511(tt, n__nil) → ISNATLIST(n__nil)
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__nil, y1)) → U511(isNat(nil), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__nil, y0)) → U511(isNat(n__nil), activate(y0))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
ISNATLIST(n__cons(n__nil, y0)) → U511(isNat(n__nil), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(cons(n__0, n__zeros))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(0, n__zeros)), activate(y0))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(n__cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(n__0, n__zeros)), activate(y0))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(cons(n__0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(n__cons(0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(n__0, n__zeros)), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(cons(n__0, n__zeros)), activate(y0))
U511(tt, n__zeros) → ISNATLIST(cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(n__cons(n__0, n__zeros)), activate(y0))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(cons(n__0, n__zeros))
ISNATLIST(n__cons(n__zeros, y0)) → U511(isNat(n__cons(n__0, n__zeros)), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
U511(tt, n__zeros) → ISNATLIST(cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, n__zeros) → ISNATLIST(n__cons(n__0, n__zeros))
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
U511(tt, n__zeros) → ISNATLIST(n__cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATLIST(n__cons(n__length(x0), y1)) → U511(isNat(length(x0)), activate(y1))
POL(0) = 0
POL(ISNATLIST(x1)) = 2·x1
POL(U21(x1)) = x1
POL(U51(x1, x2)) = 2·x1 + 2·x2
POL(U511(x1, x2)) = 2·x1 + 2·x2
POL(U52(x1)) = 2·x1
POL(U61(x1, x2, x3)) = 2 + x1 + 2·x2 + 2·x3
POL(U62(x1, x2)) = 2 + x1 + 2·x2
POL(activate(x1)) = x1
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatList(x1)) = x1
POL(length(x1)) = 2 + 2·x1
POL(n__0) = 0
POL(n__cons(x1, x2)) = 2·x1 + 2·x2
POL(n__length(x1)) = 2 + 2·x1
POL(n__nil) = 0
POL(n__s(x1)) = x1
POL(n__zeros) = 0
POL(nil) = 0
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
U511(tt, n__zeros) → ISNATLIST(n__cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U511(tt, n__length(x0)) → ISNATLIST(length(x0))
POL(0) = 0
POL(ISNATLIST(x1)) = x1
POL(U21(x1)) = x1
POL(U51(x1, x2)) = 2·x1 + 2·x2
POL(U511(x1, x2)) = 2·x1 + 2·x2
POL(U52(x1)) = 2·x1
POL(U61(x1, x2, x3)) = 1 + 2·x1 + 2·x2 + 2·x3
POL(U62(x1, x2)) = 1 + 2·x1 + 2·x2
POL(activate(x1)) = x1
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatList(x1)) = x1
POL(length(x1)) = 1 + 2·x1
POL(n__0) = 0
POL(n__cons(x1, x2)) = 2·x1 + 2·x2
POL(n__length(x1)) = 1 + 2·x1
POL(n__nil) = 0
POL(n__s(x1)) = x1
POL(n__zeros) = 0
POL(nil) = 0
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
U511(tt, n__zeros) → ISNATLIST(n__cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATLIST(n__cons(n__s(x0), y1)) → U511(isNat(n__s(x0)), activate(y1))
POL(0) = 0
POL(ISNATLIST(x1)) = x1
POL(U21(x1)) = 0
POL(U51(x1, x2)) = 1 + x2
POL(U511(x1, x2)) = x2
POL(U52(x1)) = 1
POL(U61(x1, x2, x3)) = 1 + x2
POL(U62(x1, x2)) = 1 + x2
POL(activate(x1)) = x1
POL(cons(x1, x2)) = x1 + x2
POL(isNat(x1)) = 1
POL(isNatList(x1)) = 1 + x1
POL(length(x1)) = 1 + x1
POL(n__0) = 0
POL(n__cons(x1, x2)) = x1 + x2
POL(n__length(x1)) = 1 + x1
POL(n__nil) = 0
POL(n__s(x1)) = 1
POL(n__zeros) = 0
POL(nil) = 0
POL(s(x1)) = 1
POL(tt) = 0
POL(zeros) = 0
isNat(n__s(V1)) → U21(isNat(activate(V1)))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
0 → n__0
length(X) → n__length(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
s(X) → n__s(X)
zeros → cons(0, n__zeros)
zeros → n__zeros
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
U511(tt, x0) → ISNATLIST(x0)
ISNATLIST(n__cons(x0, y1)) → U511(isNat(x0), activate(y1))
U511(tt, n__cons(x0, x1)) → ISNATLIST(n__cons(x0, x1))
ISNATLIST(n__cons(n__0, y0)) → U511(isNat(n__0), activate(y0))
U511(tt, n__zeros) → ISNATLIST(n__cons(0, n__zeros))
U511(tt, n__zeros) → ISNATLIST(n__cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U611(tt, L, N) → U621(isNat(activate(N)), activate(L))
U621(tt, L) → LENGTH(activate(L))
LENGTH(cons(N, L)) → U611(isNatList(activate(L)), activate(L), N)
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U621(tt, L) → LENGTH(activate(L))
LENGTH(cons(N, L)) → U611(isNatList(activate(L)), activate(L), N)
[nlength1, length1] > [activate1, U612, U621] > [tt, isNat, LENGTH, s] > [U61^11, U62^11]
[nlength1, length1] > [activate1, U612, U621] > [tt, isNat, LENGTH, s] > [isNatList, U51]
[nlength1, length1] > [activate1, U612, U621] > [tt, isNat, LENGTH, s] > ns
[nlength1, length1] > [activate1, U612, U621] > zeros > nzeros
[nlength1, length1] > [activate1, U612, U621] > 0 > n0
[nlength1, length1] > [activate1, U612, U621] > nil > nnil
U61^11: multiset
tt: multiset
U62^11: multiset
isNat: []
activate1: multiset
LENGTH: []
isNatList: multiset
nzeros: multiset
zeros: multiset
n0: multiset
0: multiset
nlength1: multiset
length1: multiset
ns: multiset
s: multiset
nnil: multiset
nil: multiset
U51: multiset
U612: multiset
U621: multiset
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
length(X) → n__length(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
s(X) → n__s(X)
zeros → cons(0, n__zeros)
zeros → n__zeros
0 → n__0
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
U611(tt, L, N) → U621(isNat(activate(N)), activate(L))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U62(tt, L) → s(length(activate(L)))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, V2) → ISNATILIST(activate(V2))
ISNATILIST(n__cons(V1, V2)) → U411(isNat(activate(V1)), activate(V2))
zeros → cons(0, n__zeros)
U21(tt) → tt
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
zeros → n__zeros
0 → n__0
length(X) → n__length(X)
s(X) → n__s(X)
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
Used ordering: POLO with Polynomial interpretation [POLO]:
U41(tt, V2) → U42(isNatIList(activate(V2)))
U42(tt) → tt
isNatIList(n__cons(V1, V2)) → U41(isNat(activate(V1)), activate(V2))
POL(0) = 0
POL(ISNATILIST(x1)) = x1
POL(U21(x1)) = x1
POL(U411(x1, x2)) = x1 + x2
POL(U51(x1, x2)) = x1 + 2·x2
POL(U52(x1)) = x1
POL(U61(x1, x2, x3)) = x1 + 2·x2 + 2·x3
POL(U62(x1, x2)) = x1 + 2·x2
POL(activate(x1)) = x1
POL(cons(x1, x2)) = x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatList(x1)) = x1
POL(length(x1)) = 2·x1
POL(n__0) = 0
POL(n__cons(x1, x2)) = x1 + 2·x2
POL(n__length(x1)) = 2·x1
POL(n__nil) = 2
POL(n__s(x1)) = x1
POL(n__zeros) = 0
POL(nil) = 2
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
U411(tt, V2) → ISNATILIST(activate(V2))
ISNATILIST(n__cons(V1, V2)) → U411(isNat(activate(V1)), activate(V2))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, n__zeros) → ISNATILIST(zeros)
U411(tt, n__0) → ISNATILIST(0)
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
U411(tt, n__s(x0)) → ISNATILIST(s(x0))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(x0, x1))
U411(tt, n__nil) → ISNATILIST(nil)
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(V1, V2)) → U411(isNat(activate(V1)), activate(V2))
U411(tt, n__zeros) → ISNATILIST(zeros)
U411(tt, n__0) → ISNATILIST(0)
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
U411(tt, n__s(x0)) → ISNATILIST(s(x0))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(x0, x1))
U411(tt, n__nil) → ISNATILIST(nil)
U411(tt, x0) → ISNATILIST(x0)
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__zeros, y1)) → U411(isNat(zeros), activate(y1))
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(x0)), activate(y1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(x0, x1)), activate(y1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(zeros)
U411(tt, n__0) → ISNATILIST(0)
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
U411(tt, n__s(x0)) → ISNATILIST(s(x0))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(x0, x1))
U411(tt, n__nil) → ISNATILIST(nil)
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__zeros, y1)) → U411(isNat(zeros), activate(y1))
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(x0)), activate(y1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(x0, x1)), activate(y1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(n__zeros)
U411(tt, n__0) → ISNATILIST(0)
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
U411(tt, n__s(x0)) → ISNATILIST(s(x0))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(x0, x1))
U411(tt, n__nil) → ISNATILIST(nil)
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__zeros, y1)) → U411(isNat(zeros), activate(y1))
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(x0)), activate(y1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(x0, x1)), activate(y1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(n__zeros)
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__zeros, y1)) → U411(isNat(zeros), activate(y1))
U411(tt, n__0) → ISNATILIST(0)
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(x0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(x0)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(x0, x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(x0, x1)), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(n__zeros), activate(y0))
U411(tt, n__0) → ISNATILIST(0)
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(x0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(x0)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(x0, x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(x0, x1)), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(n__zeros), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__0, y1)) → U411(isNat(0), activate(y1))
U411(tt, n__0) → ISNATILIST(0)
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(x0)), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(x0))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(x0, x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(x0, x1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__0) → ISNATILIST(0)
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(x0)), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(x0))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(x0, x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(x0, x1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, n__0) → ISNATILIST(n__0)
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(x0)), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(x0))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(x0, x1)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(x0, x1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__0) → ISNATILIST(n__0)
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__s(x0)) → ISNATILIST(s(x0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(x0)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(x0, x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(x0, x1)), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, n__s(x0)) → ISNATILIST(n__s(x0))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(x0)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(x0, x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(x0, x1)), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__s(x0)) → ISNATILIST(n__s(x0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(s(x0)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(x0, x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(x0, x1)), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
U411(tt, n__cons(x0, x1)) → ISNATILIST(cons(x0, x1))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(x0, x1)), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__cons(x0, x1), y1)) → U411(isNat(cons(x0, x1)), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__cons(x0, x1), y2)) → U411(isNat(n__cons(x0, x1)), activate(y2))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__cons(x0, x1), y2)) → U411(isNat(n__cons(x0, x1)), activate(y2))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__nil) → ISNATILIST(nil)
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, n__nil) → ISNATILIST(n__nil)
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
U411(tt, n__nil) → ISNATILIST(n__nil)
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__nil, y1)) → U411(isNat(nil), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__nil, y0)) → U411(isNat(n__nil), activate(y0))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
ISNATILIST(n__cons(n__nil, y0)) → U411(isNat(n__nil), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(cons(n__0, n__zeros))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(0, n__zeros)), activate(y0))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(n__cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(n__0, n__zeros)), activate(y0))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(cons(n__0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(n__cons(0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(n__0, n__zeros)), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(cons(n__0, n__zeros)), activate(y0))
U411(tt, n__zeros) → ISNATILIST(cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(n__cons(n__0, n__zeros)), activate(y0))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(cons(n__0, n__zeros))
ISNATILIST(n__cons(n__zeros, y0)) → U411(isNat(n__cons(n__0, n__zeros)), activate(y0))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
U411(tt, n__zeros) → ISNATILIST(cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, n__zeros) → ISNATILIST(n__cons(n__0, n__zeros))
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
U411(tt, n__zeros) → ISNATILIST(n__cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
ISNATILIST(n__cons(n__length(x0), y1)) → U411(isNat(length(x0)), activate(y1))
POL(0) = 0
POL(ISNATILIST(x1)) = 2·x1
POL(U21(x1)) = x1
POL(U411(x1, x2)) = x1 + 2·x2
POL(U51(x1, x2)) = x1 + 2·x2
POL(U52(x1)) = 2·x1
POL(U61(x1, x2, x3)) = 1 + x1 + 2·x2 + 2·x3
POL(U62(x1, x2)) = 1 + x1 + 2·x2
POL(activate(x1)) = x1
POL(cons(x1, x2)) = x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatList(x1)) = x1
POL(length(x1)) = 1 + 2·x1
POL(n__0) = 0
POL(n__cons(x1, x2)) = x1 + 2·x2
POL(n__length(x1)) = 1 + 2·x1
POL(n__nil) = 0
POL(n__s(x1)) = x1
POL(n__zeros) = 0
POL(nil) = 0
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
U411(tt, n__zeros) → ISNATILIST(n__cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
U411(tt, n__length(x0)) → ISNATILIST(length(x0))
POL(0) = 0
POL(ISNATILIST(x1)) = x1
POL(U21(x1)) = x1
POL(U411(x1, x2)) = 2·x1 + 2·x2
POL(U51(x1, x2)) = 2·x1 + 2·x2
POL(U52(x1)) = 2·x1
POL(U61(x1, x2, x3)) = 1 + 2·x1 + 2·x2 + 2·x3
POL(U62(x1, x2)) = 1 + 2·x1 + 2·x2
POL(activate(x1)) = x1
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatList(x1)) = x1
POL(length(x1)) = 1 + 2·x1
POL(n__0) = 0
POL(n__cons(x1, x2)) = 2·x1 + 2·x2
POL(n__length(x1)) = 1 + 2·x1
POL(n__nil) = 0
POL(n__s(x1)) = x1
POL(n__zeros) = 0
POL(nil) = 0
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
U411(tt, n__zeros) → ISNATILIST(n__cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATILIST(n__cons(n__s(x0), y1)) → U411(isNat(n__s(x0)), activate(y1))
POL(0) = 0
POL(ISNATILIST(x1)) = x1
POL(U21(x1)) = 0
POL(U411(x1, x2)) = x2
POL(U51(x1, x2)) = 1 + x2
POL(U52(x1)) = 1
POL(U61(x1, x2, x3)) = 1 + x2
POL(U62(x1, x2)) = 1 + x2
POL(activate(x1)) = x1
POL(cons(x1, x2)) = x1 + x2
POL(isNat(x1)) = 1
POL(isNatList(x1)) = 1 + x1
POL(length(x1)) = 1 + x1
POL(n__0) = 0
POL(n__cons(x1, x2)) = x1 + x2
POL(n__length(x1)) = 1 + x1
POL(n__nil) = 0
POL(n__s(x1)) = 1
POL(n__zeros) = 0
POL(nil) = 0
POL(s(x1)) = 1
POL(tt) = 0
POL(zeros) = 0
isNat(n__s(V1)) → U21(isNat(activate(V1)))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
0 → n__0
length(X) → n__length(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U21(tt) → tt
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
s(X) → n__s(X)
zeros → cons(0, n__zeros)
zeros → n__zeros
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
U411(tt, x0) → ISNATILIST(x0)
ISNATILIST(n__cons(x0, y1)) → U411(isNat(x0), activate(y1))
U411(tt, n__cons(x0, x1)) → ISNATILIST(n__cons(x0, x1))
ISNATILIST(n__cons(n__0, y0)) → U411(isNat(n__0), activate(y0))
U411(tt, n__zeros) → ISNATILIST(n__cons(0, n__zeros))
U411(tt, n__zeros) → ISNATILIST(n__cons(n__0, n__zeros))
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
isNat(n__0) → tt
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
cons(X1, X2) → n__cons(X1, X2)
s(X) → n__s(X)
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
length(X) → n__length(X)
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
U62(tt, L) → s(length(activate(L)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros