0 QTRS
↳1 QTRSRRRProof (⇔)
↳2 QTRS
↳3 QTRSRRRProof (⇔)
↳4 QTRS
↳5 QTRSRRRProof (⇔)
↳6 QTRS
↳7 QTRSRRRProof (⇔)
↳8 QTRS
↳9 DependencyPairsProof (⇔)
↳10 QDP
↳11 DependencyGraphProof (⇔)
↳12 AND
↳13 QDP
↳14 UsableRulesReductionPairsProof (⇔)
↳15 QDP
↳16 DependencyGraphProof (⇔)
↳17 AND
↳18 QDP
↳19 QDPOrderProof (⇔)
↳20 QDP
↳21 PisEmptyProof (⇔)
↳22 TRUE
↳23 QDP
↳24 Narrowing (⇔)
↳25 QDP
↳26 Narrowing (⇔)
↳27 QDP
↳28 Narrowing (⇔)
↳29 QDP
↳30 DependencyGraphProof (⇔)
↳31 QDP
↳32 Narrowing (⇔)
↳33 QDP
↳34 DependencyGraphProof (⇔)
↳35 QDP
↳36 Narrowing (⇔)
↳37 QDP
↳38 Narrowing (⇔)
↳39 QDP
↳40 DependencyGraphProof (⇔)
↳41 QDP
↳42 Narrowing (⇔)
↳43 QDP
↳44 DependencyGraphProof (⇔)
↳45 QDP
↳46 Narrowing (⇔)
↳47 QDP
↳48 Narrowing (⇔)
↳49 QDP
↳50 Narrowing (⇔)
↳51 QDP
↳52 DependencyGraphProof (⇔)
↳53 QDP
↳54 Narrowing (⇔)
↳55 QDP
↳56 DependencyGraphProof (⇔)
↳57 QDP
↳58 Narrowing (⇔)
↳59 QDP
↳60 DependencyGraphProof (⇔)
↳61 QDP
↳62 Narrowing (⇔)
↳63 QDP
↳64 Narrowing (⇔)
↳65 QDP
↳66 DependencyGraphProof (⇔)
↳67 QDP
↳68 Narrowing (⇔)
↳69 QDP
↳70 DependencyGraphProof (⇔)
↳71 QDP
↳72 Narrowing (⇔)
↳73 QDP
↳74 MRRProof (⇔)
↳75 QDP
↳76 MRRProof (⇔)
↳77 QDP
↳78 QDPOrderProof (⇔)
↳79 QDP
↳80 NonTerminationProof (⇔)
↳81 FALSE
↳82 QDP
↳83 QDP
↳84 UsableRulesReductionPairsProof (⇔)
↳85 QDP
↳86 Narrowing (⇔)
↳87 QDP
↳88 Narrowing (⇔)
↳89 QDP
↳90 Narrowing (⇔)
↳91 QDP
↳92 DependencyGraphProof (⇔)
↳93 QDP
↳94 Narrowing (⇔)
↳95 QDP
↳96 DependencyGraphProof (⇔)
↳97 QDP
↳98 Narrowing (⇔)
↳99 QDP
↳100 Narrowing (⇔)
↳101 QDP
↳102 DependencyGraphProof (⇔)
↳103 QDP
↳104 Narrowing (⇔)
↳105 QDP
↳106 DependencyGraphProof (⇔)
↳107 QDP
↳108 Narrowing (⇔)
↳109 QDP
↳110 Narrowing (⇔)
↳111 QDP
↳112 Narrowing (⇔)
↳113 QDP
↳114 DependencyGraphProof (⇔)
↳115 QDP
↳116 Narrowing (⇔)
↳117 QDP
↳118 DependencyGraphProof (⇔)
↳119 QDP
↳120 Narrowing (⇔)
↳121 QDP
↳122 DependencyGraphProof (⇔)
↳123 QDP
↳124 Narrowing (⇔)
↳125 QDP
↳126 Narrowing (⇔)
↳127 QDP
↳128 DependencyGraphProof (⇔)
↳129 QDP
↳130 Narrowing (⇔)
↳131 QDP
↳132 DependencyGraphProof (⇔)
↳133 QDP
↳134 Narrowing (⇔)
↳135 QDP
↳136 MRRProof (⇔)
↳137 QDP
↳138 MRRProof (⇔)
↳139 QDP
↳140 QDPOrderProof (⇔)
↳141 QDP
↳142 NonTerminationProof (⇔)
↳143 FALSE
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
No rules are removed from R.
ACTIVATE(n__length(X)) → LENGTH(X)
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(0) = 0
POL(ISNAT(x1)) = x1
POL(U21(x1)) = 1
POL(U51(x1, x2)) = 0
POL(U52(x1)) = x1
POL(U61(x1, x2, x3)) = x1
POL(U62(x1, x2)) = 1
POL(activate(x1)) = x1
POL(cons(x1, x2)) = 0
POL(isNat(x1)) = x1
POL(isNatList(x1)) = 0
POL(length(x1)) = 0
POL(n__0) = 0
POL(n__cons(x1, x2)) = 0
POL(n__length(x1)) = 0
POL(n__nil) = 0
POL(n__s(x1)) = 1 + x1
POL(n__zeros) = 1
POL(nil) = 0
POL(s(x1)) = 1 + x1
POL(tt) = 1
POL(zeros) = 1
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
length(X) → n__length(X)
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
s(X) → n__s(X)
0 → n__0
U52(tt) → tt
zeros → n__zeros
zeros → cons(0, n__zeros)
U62(tt, L) → s(length(activate(L)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U21(tt) → tt
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
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)) = x2
POL(U511(x1, x2)) = x2
POL(U52(x1)) = 0
POL(U61(x1, x2, x3)) = 1 + x2
POL(U62(x1, x2)) = 1
POL(activate(x1)) = x1
POL(cons(x1, x2)) = x1 + x2
POL(isNat(x1)) = 0
POL(isNatList(x1)) = 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
isNatList(n__cons(V1, V2)) → U51(isNat(activate(V1)), activate(V2))
length(X) → n__length(X)
U61(tt, L, N) → U62(isNat(activate(N)), activate(L))
cons(X1, X2) → n__cons(X1, X2)
nil → n__nil
length(cons(N, L)) → U61(isNatList(activate(L)), activate(L), N)
s(X) → n__s(X)
0 → n__0
U52(tt) → tt
zeros → n__zeros
zeros → cons(0, n__zeros)
U62(tt, L) → s(length(activate(L)))
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U51(tt, V2) → U52(isNatList(activate(V2)))
U21(tt) → tt
activate(n__s(X)) → s(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__nil) → nil
activate(X) → X
activate(n__zeros) → zeros
activate(n__0) → 0
activate(n__length(X)) → length(X)
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
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
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
POL(U52(x1)) = 0
POL(U61(x1, x2, x3)) = 1
POL(U62(x1, x2)) = 1
POL(activate(x1)) = x1
POL(cons(x1, x2)) = x1 + x2
POL(isNat(x1)) = 0
POL(isNatList(x1)) = 1 + x1
POL(length(x1)) = 1
POL(n__0) = 0
POL(n__cons(x1, x2)) = x1 + x2
POL(n__length(x1)) = 1
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
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)
isNat(n__s(V1)) → U21(isNat(activate(V1)))
U21(tt) → tt
nil → n__nil
U52(tt) → tt
0 → n__0
zeros → cons(0, n__zeros)
zeros → n__zeros
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)))
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__s(X)) → s(X)
activate(X) → X
activate(n__nil) → nil
activate(n__zeros) → zeros
activate(n__length(X)) → length(X)
activate(n__0) → 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))
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