MAYBE Time: 1.504895 TRS: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} DP: DP: { cons#(mark X1, X2) -> cons#(X1, X2), cons#(ok X1, ok X2) -> cons#(X1, X2), active# cons(X1, X2) -> cons#(active X1, X2), active# cons(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros()), active# U12 X -> active# X, active# U12 X -> U12# active X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2), active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), active# isNatList cons(V1, V2) -> isNatIListKind# V2, active# isNatList cons(V1, V2) -> isNatKind# V1, active# U11(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2), active# U11(tt(), V1) -> U12# isNatList V1, active# U11(tt(), V1) -> isNatList# V1, active# U22 X -> active# X, active# U22 X -> U22# active X, active# isNat s V1 -> U21#(isNatKind V1, V1), active# isNat s V1 -> isNatKind# V1, active# isNat length V1 -> U11#(isNatIListKind V1, V1), active# isNat length V1 -> isNatIListKind# V1, active# U21(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2), active# U21(tt(), V1) -> U22# isNat V1, active# U21(tt(), V1) -> isNat# V1, active# U32 X -> active# X, active# U32 X -> U32# active X, active# U31(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2), active# U31(tt(), V) -> isNatList# V, active# U31(tt(), V) -> U32# isNatList V, active# U42(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2), active# U42(tt(), V2) -> U43# isNatIList V2, active# U42(tt(), V2) -> isNatIList# V2, active# U41(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3), active# U41(tt(), V1, V2) -> isNat# V1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2), active# U43 X -> active# X, active# U43 X -> U43# active X, active# isNatIList V -> U31#(isNatIListKind V, V), active# isNatIList V -> isNatIListKind# V, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2), active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), active# isNatIList cons(V1, V2) -> isNatIListKind# V2, active# isNatIList cons(V1, V2) -> isNatKind# V1, active# U52(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2), active# U52(tt(), V2) -> isNatList# V2, active# U52(tt(), V2) -> U53# isNatList V2, active# U51(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3), active# U51(tt(), V1, V2) -> isNat# V1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2), active# U53 X -> active# X, active# U53 X -> U53# active X, active# s X -> active# X, active# s X -> s# active X, active# length X -> active# X, active# length X -> length# active X, active# length cons(N, L) -> isNatList# L, active# length cons(N, L) -> isNat# N, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active# length cons(N, L) -> and#(isNatList L, isNatIListKind L), active# length cons(N, L) -> and#(isNat N, isNatKind N), active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), active# length cons(N, L) -> isNatIListKind# L, active# length cons(N, L) -> isNatKind# N, active# U61(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2), active# U61(tt(), L) -> s# length L, active# U61(tt(), L) -> length# L, active# and(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2), active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2, active# isNatIListKind cons(V1, V2) -> isNatKind# V1, active# isNatKind s V1 -> isNatKind# V1, active# isNatKind length V1 -> isNatIListKind# V1, U12# mark X -> U12# X, U12# ok X -> U12# X, isNatList# ok X -> isNatList# X, U11#(mark X1, X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2), U22# mark X -> U22# X, U22# ok X -> U22# X, isNat# ok X -> isNat# X, U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2), U32# mark X -> U32# X, U32# ok X -> U32# X, U31#(mark X1, X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2), U42#(mark X1, X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3), U43# mark X -> U43# X, U43# ok X -> U43# X, isNatIList# ok X -> isNatIList# X, U52#(mark X1, X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3), U53# mark X -> U53# X, U53# ok X -> U53# X, s# mark X -> s# X, s# ok X -> s# X, length# mark X -> length# X, length# ok X -> length# X, U61#(mark X1, X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2), and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2), isNatIListKind# ok X -> isNatIListKind# X, isNatKind# ok X -> isNatKind# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2), proper# cons(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X, proper# U12 X -> proper# X, proper# isNatList X -> isNatList# proper X, proper# isNatList X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2), proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X, proper# U22 X -> proper# X, proper# isNat X -> isNat# proper X, proper# isNat X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2), proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X, proper# U32 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2), proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2), proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3), proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> U43# proper X, proper# U43 X -> proper# X, proper# isNatIList X -> isNatIList# proper X, proper# isNatIList X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2), proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3), proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> U53# proper X, proper# U53 X -> proper# X, proper# s X -> s# proper X, proper# s X -> proper# X, proper# length X -> length# proper X, proper# length X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2), proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2), proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X, proper# isNatIListKind X -> proper# X, proper# isNatKind X -> isNatKind# proper X, proper# isNatKind X -> proper# X, top# mark X -> proper# X, top# mark X -> top# proper X, top# ok X -> active# X, top# ok X -> top# active X} TRS: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} EDG: { (proper# U11(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U11(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U11(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U11(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U11(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U31(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U31(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U31(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U31(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# length X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# length X -> length# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# s X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U53 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U43 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U32 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U22 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U12 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# length X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# length X -> length# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# s X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U53 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U43 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U32 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U22 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U12 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# and(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# and(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# and(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# and(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# and(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# and(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# and(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (active# U51(X1, X2, X3) -> U51#(active X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (active# U51(X1, X2, X3) -> U51#(active X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (active# isNatList cons(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# isNat s V1 -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# U21(tt(), V1) -> isNat# V1, isNat# ok X -> isNat# X) (active# isNatIList cons(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# isNatIListKind cons(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# isNatKind length V1 -> isNatIListKind# V1, isNatIListKind# ok X -> isNatIListKind# X) (active# U11(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U11(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U11(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U11(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U11(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U11(X1, X2) -> active# X1, active# length X -> length# active X) (active# U11(X1, X2) -> active# X1, active# length X -> active# X) (active# U11(X1, X2) -> active# X1, active# s X -> s# active X) (active# U11(X1, X2) -> active# X1, active# s X -> active# X) (active# U11(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U11(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U11(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U11(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U11(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U11(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U11(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U11(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U11(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U11(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U11(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U11(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U11(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U11(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U11(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U11(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U11(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U11(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U11(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U11(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U11(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U11(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U11(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U11(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U11(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U11(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U11(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U11(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U11(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U11(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U11(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U11(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U11(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U11(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U11(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U31(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U31(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U31(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U31(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U31(X1, X2) -> active# X1, active# length X -> length# active X) (active# U31(X1, X2) -> active# X1, active# length X -> active# X) (active# U31(X1, X2) -> active# X1, active# s X -> s# active X) (active# U31(X1, X2) -> active# X1, active# s X -> active# X) (active# U31(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U31(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U31(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U31(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U31(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U31(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U31(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U31(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U31(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U31(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U31(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U31(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U31(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U31(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U31(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U31(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U31(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U31(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U31(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U31(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U31(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U31(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U31(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U31(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U31(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U31(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U31(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U31(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U31(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U31(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U31(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U31(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U31(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U31(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U41(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U41(X1, X2, X3) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U61(tt(), L) -> length# L) (active# U41(X1, X2, X3) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U41(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U41(X1, X2, X3) -> active# X1, active# length X -> length# active X) (active# U41(X1, X2, X3) -> active# X1, active# length X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# s X -> s# active X) (active# U41(X1, X2, X3) -> active# X1, active# s X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U53 X -> U53# active X) (active# U41(X1, X2, X3) -> active# X1, active# U53 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U41(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U41(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U41(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U41(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U41(X1, X2, X3) -> active# X1, active# U43 X -> U43# active X) (active# U41(X1, X2, X3) -> active# X1, active# U43 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U41(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U41(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U41(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U41(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U41(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U41(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U32 X -> U32# active X) (active# U41(X1, X2, X3) -> active# X1, active# U32 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U41(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U41(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U41(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U41(X1, X2, X3) -> active# X1, active# U22 X -> U22# active X) (active# U41(X1, X2, X3) -> active# X1, active# U22 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U41(X1, X2, X3) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U41(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U41(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U41(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# U12 X -> U12# active X) (active# U41(X1, X2, X3) -> active# X1, active# U12 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U41(X1, X2, X3) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U61(tt(), L) -> length# L) (active# U51(X1, X2, X3) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U51(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U51(X1, X2, X3) -> active# X1, active# length X -> length# active X) (active# U51(X1, X2, X3) -> active# X1, active# length X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# s X -> s# active X) (active# U51(X1, X2, X3) -> active# X1, active# s X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U53 X -> U53# active X) (active# U51(X1, X2, X3) -> active# X1, active# U53 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U51(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U51(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U51(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U51(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U51(X1, X2, X3) -> active# X1, active# U43 X -> U43# active X) (active# U51(X1, X2, X3) -> active# X1, active# U43 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U51(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U51(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U51(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U51(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U51(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U51(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U32 X -> U32# active X) (active# U51(X1, X2, X3) -> active# X1, active# U32 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U51(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U51(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U51(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U51(X1, X2, X3) -> active# X1, active# U22 X -> U22# active X) (active# U51(X1, X2, X3) -> active# X1, active# U22 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U51(X1, X2, X3) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U51(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U12 X -> U12# active X) (active# U51(X1, X2, X3) -> active# X1, active# U12 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U51(X1, X2, X3) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# and(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# and(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# and(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# and(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# and(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# and(X1, X2) -> active# X1, active# length X -> length# active X) (active# and(X1, X2) -> active# X1, active# length X -> active# X) (active# and(X1, X2) -> active# X1, active# s X -> s# active X) (active# and(X1, X2) -> active# X1, active# s X -> active# X) (active# and(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# and(X1, X2) -> active# X1, active# U53 X -> active# X) (active# and(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# and(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# and(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# and(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# and(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# and(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# and(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# and(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# and(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# and(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# and(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# and(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# and(X1, X2) -> active# X1, active# U43 X -> active# X) (active# and(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# and(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# and(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# and(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# and(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# and(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# and(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# and(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# and(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# and(X1, X2) -> active# X1, active# U32 X -> active# X) (active# and(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# and(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# and(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# and(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# and(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# and(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# and(X1, X2) -> active# X1, active# U22 X -> active# X) (active# and(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# and(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# and(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# and(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# and(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# and(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# and(X1, X2) -> active# X1, active# U12 X -> active# X) (active# and(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# and(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (proper# U11(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U11(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U11(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U11(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U11(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U31(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U31(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U31(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U31(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# length X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# length X -> length# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# s X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U53 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U43 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U32 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U22 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U12 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# length X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# length X -> length# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# s X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U53 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U43 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U32 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U22 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U12 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# and(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# and(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# and(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# and(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# and(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# and(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# and(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (active# U11(X1, X2) -> U11#(active X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (active# U11(X1, X2) -> U11#(active X1, X2), U11#(mark X1, X2) -> U11#(X1, X2)) (active# U31(X1, X2) -> U31#(active X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (active# U31(X1, X2) -> U31#(active X1, X2), U31#(mark X1, X2) -> U31#(X1, X2)) (active# U52(X1, X2) -> U52#(active X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (active# U52(X1, X2) -> U52#(active X1, X2), U52#(mark X1, X2) -> U52#(X1, X2)) (active# and(X1, X2) -> and#(active X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# and(X1, X2) -> and#(active X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (active# U22 X -> U22# active X, U22# ok X -> U22# X) (active# U22 X -> U22# active X, U22# mark X -> U22# X) (active# U43 X -> U43# active X, U43# ok X -> U43# X) (active# U43 X -> U43# active X, U43# mark X -> U43# X) (active# s X -> s# active X, s# ok X -> s# X) (active# s X -> s# active X, s# mark X -> s# X) (proper# U12 X -> U12# proper X, U12# ok X -> U12# X) (proper# U12 X -> U12# proper X, U12# mark X -> U12# X) (proper# U22 X -> U22# proper X, U22# ok X -> U22# X) (proper# U22 X -> U22# proper X, U22# mark X -> U22# X) (proper# U32 X -> U32# proper X, U32# ok X -> U32# X) (proper# U32 X -> U32# proper X, U32# mark X -> U32# X) (proper# isNatIList X -> isNatIList# proper X, isNatIList# ok X -> isNatIList# X) (proper# s X -> s# proper X, s# ok X -> s# X) (proper# s X -> s# proper X, s# mark X -> s# X) (proper# isNatIListKind X -> isNatIListKind# proper X, isNatIListKind# ok X -> isNatIListKind# X) (top# mark X -> top# proper X, top# ok X -> top# active X) (top# mark X -> top# proper X, top# ok X -> active# X) (top# mark X -> top# proper X, top# mark X -> top# proper X) (top# mark X -> top# proper X, top# mark X -> proper# X) (active# U61(tt(), L) -> s# length L, s# ok X -> s# X) (active# U61(tt(), L) -> s# length L, s# mark X -> s# X) (active# U52(tt(), V2) -> U53# isNatList V2, U53# ok X -> U53# X) (active# U52(tt(), V2) -> U53# isNatList V2, U53# mark X -> U53# X) (active# U11(tt(), V1) -> U12# isNatList V1, U12# ok X -> U12# X) (active# U11(tt(), V1) -> U12# isNatList V1, U12# mark X -> U12# X) (active# length cons(N, L) -> isNat# N, isNat# ok X -> isNat# X) (active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (cons#(mark X1, X2) -> cons#(X1, X2), cons#(ok X1, ok X2) -> cons#(X1, X2)) (cons#(mark X1, X2) -> cons#(X1, X2), cons#(mark X1, X2) -> cons#(X1, X2)) (U11#(mark X1, X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (U11#(mark X1, X2) -> U11#(X1, X2), U11#(mark X1, X2) -> U11#(X1, X2)) (U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (U21#(mark X1, X2) -> U21#(X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (U31#(mark X1, X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (U31#(mark X1, X2) -> U31#(X1, X2), U31#(mark X1, X2) -> U31#(X1, X2)) (U42#(mark X1, X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (U42#(mark X1, X2) -> U42#(X1, X2), U42#(mark X1, X2) -> U42#(X1, X2)) (U52#(mark X1, X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (U52#(mark X1, X2) -> U52#(X1, X2), U52#(mark X1, X2) -> U52#(X1, X2)) (U61#(mark X1, X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (U61#(mark X1, X2) -> U61#(X1, X2), U61#(mark X1, X2) -> U61#(X1, X2)) (and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (and#(mark X1, X2) -> and#(X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), U61#(ok X1, ok X2) -> U61#(X1, X2)) (active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), U61#(mark X1, X2) -> U61#(X1, X2)) (active# U51(tt(), V1, V2) -> U52#(isNat V1, V2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (active# U51(tt(), V1, V2) -> U52#(isNat V1, V2), U52#(mark X1, X2) -> U52#(X1, X2)) (active# isNat s V1 -> U21#(isNatKind V1, V1), U21#(ok X1, ok X2) -> U21#(X1, X2)) (active# isNat s V1 -> U21#(isNatKind V1, V1), U21#(mark X1, X2) -> U21#(X1, X2)) (active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), and#(mark X1, X2) -> and#(X1, X2)) (active# length cons(N, L) -> and#(isNatList L, isNatIListKind L), and#(ok X1, ok X2) -> and#(X1, X2)) (active# length cons(N, L) -> and#(isNatList L, isNatIListKind L), and#(mark X1, X2) -> and#(X1, X2)) (active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), and#(mark X1, X2) -> and#(X1, X2)) (proper# U11(X1, X2) -> U11#(proper X1, proper X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (proper# U11(X1, X2) -> U11#(proper X1, proper X2), U11#(mark X1, X2) -> U11#(X1, X2)) (proper# U31(X1, X2) -> U31#(proper X1, proper X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (proper# U31(X1, X2) -> U31#(proper X1, proper X2), U31#(mark X1, X2) -> U31#(X1, X2)) (proper# U52(X1, X2) -> U52#(proper X1, proper X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (proper# U52(X1, X2) -> U52#(proper X1, proper X2), U52#(mark X1, X2) -> U52#(X1, X2)) (proper# and(X1, X2) -> and#(proper X1, proper X2), and#(ok X1, ok X2) -> and#(X1, X2)) (proper# and(X1, X2) -> and#(proper X1, proper X2), and#(mark X1, X2) -> and#(X1, X2)) (active# U22 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U22 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U22 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U22 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U22 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U22 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U22 X -> active# X, active# and(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U61(tt(), L) -> length# L) (active# U22 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U22 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U22 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U22 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U22 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U22 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U22 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U22 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U22 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U22 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U22 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U22 X -> active# X, active# length X -> length# active X) (active# U22 X -> active# X, active# length X -> active# X) (active# U22 X -> active# X, active# s X -> s# active X) (active# U22 X -> active# X, active# s X -> active# X) (active# U22 X -> active# X, active# U53 X -> U53# active X) (active# U22 X -> active# X, active# U53 X -> active# X) (active# U22 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U22 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U22 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U22 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U22 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U22 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U22 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U22 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U22 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U22 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U22 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U22 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U22 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U22 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U22 X -> active# X, active# U43 X -> U43# active X) (active# U22 X -> active# X, active# U43 X -> active# X) (active# U22 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U22 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U22 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U22 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U22 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U22 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U22 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U22 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U22 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U22 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U22 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U32 X -> U32# active X) (active# U22 X -> active# X, active# U32 X -> active# X) (active# U22 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U22 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U22 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U22 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U22 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U22 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U22 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U22 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U22 X -> active# X, active# U22 X -> U22# active X) (active# U22 X -> active# X, active# U22 X -> active# X) (active# U22 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U22 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U22 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U22 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U22 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U22 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U22 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U22 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U22 X -> active# X, active# U12 X -> U12# active X) (active# U22 X -> active# X, active# U12 X -> active# X) (active# U22 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U22 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U22 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U43 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U43 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U43 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U43 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U43 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U43 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U43 X -> active# X, active# and(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U61(tt(), L) -> length# L) (active# U43 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U43 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U43 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U43 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U43 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U43 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U43 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U43 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U43 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U43 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U43 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U43 X -> active# X, active# length X -> length# active X) (active# U43 X -> active# X, active# length X -> active# X) (active# U43 X -> active# X, active# s X -> s# active X) (active# U43 X -> active# X, active# s X -> active# X) (active# U43 X -> active# X, active# U53 X -> U53# active X) (active# U43 X -> active# X, active# U53 X -> active# X) (active# U43 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U43 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U43 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U43 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U43 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U43 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U43 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U43 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U43 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U43 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U43 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U43 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U43 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U43 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U43 X -> active# X, active# U43 X -> U43# active X) (active# U43 X -> active# X, active# U43 X -> active# X) (active# U43 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U43 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U43 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U43 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U43 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U43 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U43 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U43 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U43 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U43 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U43 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U32 X -> U32# active X) (active# U43 X -> active# X, active# U32 X -> active# X) (active# U43 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U43 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U43 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U43 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U43 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U43 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U43 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U43 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U43 X -> active# X, active# U22 X -> U22# active X) (active# U43 X -> active# X, active# U22 X -> active# X) (active# U43 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U43 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U43 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U43 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U43 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U43 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U43 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U43 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U43 X -> active# X, active# U12 X -> U12# active X) (active# U43 X -> active# X, active# U12 X -> active# X) (active# U43 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U43 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U43 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# s X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# s X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# s X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# s X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# s X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# s X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# s X -> active# X, active# and(X1, X2) -> active# X1) (active# s X -> active# X, active# U61(tt(), L) -> length# L) (active# s X -> active# X, active# U61(tt(), L) -> s# length L) (active# s X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# s X -> active# X, active# U61(X1, X2) -> active# X1) (active# s X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# s X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# s X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# s X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# s X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# s X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# s X -> active# X, active# length cons(N, L) -> isNat# N) (active# s X -> active# X, active# length cons(N, L) -> isNatList# L) (active# s X -> active# X, active# length X -> length# active X) (active# s X -> active# X, active# length X -> active# X) (active# s X -> active# X, active# s X -> s# active X) (active# s X -> active# X, active# s X -> active# X) (active# s X -> active# X, active# U53 X -> U53# active X) (active# s X -> active# X, active# U53 X -> active# X) (active# s X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# s X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# s X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# s X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# s X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# s X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# s X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# s X -> active# X, active# U52(X1, X2) -> active# X1) (active# s X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# s X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# s X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# s X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# s X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# s X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# s X -> active# X, active# U43 X -> U43# active X) (active# s X -> active# X, active# U43 X -> active# X) (active# s X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# s X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# s X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# s X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# s X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# s X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# s X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# s X -> active# X, active# U42(X1, X2) -> active# X1) (active# s X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# s X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# s X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# s X -> active# X, active# U31(X1, X2) -> active# X1) (active# s X -> active# X, active# U32 X -> U32# active X) (active# s X -> active# X, active# U32 X -> active# X) (active# s X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# s X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# s X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# s X -> active# X, active# U21(X1, X2) -> active# X1) (active# s X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# s X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# s X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# s X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# s X -> active# X, active# U22 X -> U22# active X) (active# s X -> active# X, active# U22 X -> active# X) (active# s X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# s X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# s X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# s X -> active# X, active# U11(X1, X2) -> active# X1) (active# s X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# s X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# s X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# s X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# s X -> active# X, active# U12 X -> U12# active X) (active# s X -> active# X, active# U12 X -> active# X) (active# s X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# s X -> active# X, active# cons(X1, X2) -> active# X1) (active# s X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (U12# mark X -> U12# X, U12# ok X -> U12# X) (U12# mark X -> U12# X, U12# mark X -> U12# X) (isNatList# ok X -> isNatList# X, isNatList# ok X -> isNatList# X) (U22# ok X -> U22# X, U22# ok X -> U22# X) (U22# ok X -> U22# X, U22# mark X -> U22# X) (U32# mark X -> U32# X, U32# ok X -> U32# X) (U32# mark X -> U32# X, U32# mark X -> U32# X) (U43# mark X -> U43# X, U43# ok X -> U43# X) (U43# mark X -> U43# X, U43# mark X -> U43# X) (isNatIList# ok X -> isNatIList# X, isNatIList# ok X -> isNatIList# X) (U53# ok X -> U53# X, U53# ok X -> U53# X) (U53# ok X -> U53# X, U53# mark X -> U53# X) (s# ok X -> s# X, s# ok X -> s# X) (s# ok X -> s# X, s# mark X -> s# X) (length# ok X -> length# X, length# ok X -> length# X) (length# ok X -> length# X, length# mark X -> length# X) (isNatKind# ok X -> isNatKind# X, isNatKind# ok X -> isNatKind# X) (proper# isNatList X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNatList X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNatList X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNatList X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNatList X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# length X -> proper# X) (proper# isNatList X -> proper# X, proper# length X -> length# proper X) (proper# isNatList X -> proper# X, proper# s X -> proper# X) (proper# isNatList X -> proper# X, proper# s X -> s# proper X) (proper# isNatList X -> proper# X, proper# U53 X -> proper# X) (proper# isNatList X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNatList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNatList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNatList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNatList X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNatList X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNatList X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNatList X -> proper# X, proper# U43 X -> proper# X) (proper# isNatList X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNatList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNatList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNatList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNatList X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNatList X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# U32 X -> proper# X) (proper# isNatList X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNatList X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# isNat X -> proper# X) (proper# isNatList X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNatList X -> proper# X, proper# U22 X -> proper# X) (proper# isNatList X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNatList X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# isNatList X -> proper# X) (proper# isNatList X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNatList X -> proper# X, proper# U12 X -> proper# X) (proper# isNatList X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNatList X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNat X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNat X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNat X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNat X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# length X -> proper# X) (proper# isNat X -> proper# X, proper# length X -> length# proper X) (proper# isNat X -> proper# X, proper# s X -> proper# X) (proper# isNat X -> proper# X, proper# s X -> s# proper X) (proper# isNat X -> proper# X, proper# U53 X -> proper# X) (proper# isNat X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNat X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNat X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNat X -> proper# X, proper# U43 X -> proper# X) (proper# isNat X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNat X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNat X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNat X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNat X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNat X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# U32 X -> proper# X) (proper# isNat X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNat X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# isNat X -> proper# X) (proper# isNat X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNat X -> proper# X, proper# U22 X -> proper# X) (proper# isNat X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNat X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# isNatList X -> proper# X) (proper# isNat X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNat X -> proper# X, proper# U12 X -> proper# X) (proper# isNat X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNat X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U43 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U43 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U43 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U43 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# length X -> proper# X) (proper# U43 X -> proper# X, proper# length X -> length# proper X) (proper# U43 X -> proper# X, proper# s X -> proper# X) (proper# U43 X -> proper# X, proper# s X -> s# proper X) (proper# U43 X -> proper# X, proper# U53 X -> proper# X) (proper# U43 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U43 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U43 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U43 X -> proper# X, proper# U43 X -> proper# X) (proper# U43 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U43 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U32 X -> proper# X) (proper# U43 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U43 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNat X -> proper# X) (proper# U43 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U43 X -> proper# X, proper# U22 X -> proper# X) (proper# U43 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U43 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNatList X -> proper# X) (proper# U43 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U43 X -> proper# X, proper# U12 X -> proper# X) (proper# U43 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U43 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U53 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U53 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U53 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U53 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# length X -> proper# X) (proper# U53 X -> proper# X, proper# length X -> length# proper X) (proper# U53 X -> proper# X, proper# s X -> proper# X) (proper# U53 X -> proper# X, proper# s X -> s# proper X) (proper# U53 X -> proper# X, proper# U53 X -> proper# X) (proper# U53 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U53 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U53 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U53 X -> proper# X, proper# U43 X -> proper# X) (proper# U53 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U53 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U32 X -> proper# X) (proper# U53 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U53 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# isNat X -> proper# X) (proper# U53 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U53 X -> proper# X, proper# U22 X -> proper# X) (proper# U53 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U53 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# isNatList X -> proper# X) (proper# U53 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U53 X -> proper# X, proper# U12 X -> proper# X) (proper# U53 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U53 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# length X -> proper# X, proper# isNatKind X -> proper# X) (proper# length X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# length X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# length X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# length X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# length X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# length X -> proper# X, proper# length X -> proper# X) (proper# length X -> proper# X, proper# length X -> length# proper X) (proper# length X -> proper# X, proper# s X -> proper# X) (proper# length X -> proper# X, proper# s X -> s# proper X) (proper# length X -> proper# X, proper# U53 X -> proper# X) (proper# length X -> proper# X, proper# U53 X -> U53# proper X) (proper# length X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# length X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# length X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# length X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# length X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# length X -> proper# X, proper# isNatIList X -> proper# X) (proper# length X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# length X -> proper# X, proper# U43 X -> proper# X) (proper# length X -> proper# X, proper# U43 X -> U43# proper X) (proper# length X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# length X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# length X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# length X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# length X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# length X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# length X -> proper# X, proper# U32 X -> proper# X) (proper# length X -> proper# X, proper# U32 X -> U32# proper X) (proper# length X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# length X -> proper# X, proper# isNat X -> proper# X) (proper# length X -> proper# X, proper# isNat X -> isNat# proper X) (proper# length X -> proper# X, proper# U22 X -> proper# X) (proper# length X -> proper# X, proper# U22 X -> U22# proper X) (proper# length X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# length X -> proper# X, proper# isNatList X -> proper# X) (proper# length X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# length X -> proper# X, proper# U12 X -> proper# X) (proper# length X -> proper# X, proper# U12 X -> U12# proper X) (proper# length X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNatKind X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNatKind X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# length X -> proper# X) (proper# isNatKind X -> proper# X, proper# length X -> length# proper X) (proper# isNatKind X -> proper# X, proper# s X -> proper# X) (proper# isNatKind X -> proper# X, proper# s X -> s# proper X) (proper# isNatKind X -> proper# X, proper# U53 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNatKind X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNatKind X -> proper# X, proper# U43 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNatKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNatKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNatKind X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# U32 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNatKind X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# isNat X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNatKind X -> proper# X, proper# U22 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNatKind X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# isNatList X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNatKind X -> proper# X, proper# U12 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNatKind X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (top# ok X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (top# ok X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (top# ok X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (top# ok X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (top# ok X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (top# ok X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (top# ok X -> active# X, active# and(X1, X2) -> active# X1) (top# ok X -> active# X, active# U61(tt(), L) -> length# L) (top# ok X -> active# X, active# U61(tt(), L) -> s# length L) (top# ok X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (top# ok X -> active# X, active# U61(X1, X2) -> active# X1) (top# ok X -> active# X, active# length cons(N, L) -> isNatKind# N) (top# ok X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (top# ok X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (top# ok X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (top# ok X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (top# ok X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (top# ok X -> active# X, active# length cons(N, L) -> isNat# N) (top# ok X -> active# X, active# length cons(N, L) -> isNatList# L) (top# ok X -> active# X, active# length X -> length# active X) (top# ok X -> active# X, active# length X -> active# X) (top# ok X -> active# X, active# s X -> s# active X) (top# ok X -> active# X, active# s X -> active# X) (top# ok X -> active# X, active# U53 X -> U53# active X) (top# ok X -> active# X, active# U53 X -> active# X) (top# ok X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (top# ok X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (top# ok X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (top# ok X -> active# X, active# U51(X1, X2, X3) -> active# X1) (top# ok X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (top# ok X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (top# ok X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (top# ok X -> active# X, active# U52(X1, X2) -> active# X1) (top# ok X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (top# ok X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (top# ok X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (top# ok X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (top# ok X -> active# X, active# isNatIList V -> isNatIListKind# V) (top# ok X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (top# ok X -> active# X, active# U43 X -> U43# active X) (top# ok X -> active# X, active# U43 X -> active# X) (top# ok X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (top# ok X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (top# ok X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (top# ok X -> active# X, active# U41(X1, X2, X3) -> active# X1) (top# ok X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (top# ok X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (top# ok X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (top# ok X -> active# X, active# U42(X1, X2) -> active# X1) (top# ok X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (top# ok X -> active# X, active# U31(tt(), V) -> isNatList# V) (top# ok X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (top# ok X -> active# X, active# U31(X1, X2) -> active# X1) (top# ok X -> active# X, active# U32 X -> U32# active X) (top# ok X -> active# X, active# U32 X -> active# X) (top# ok X -> active# X, active# U21(tt(), V1) -> isNat# V1) (top# ok X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (top# ok X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (top# ok X -> active# X, active# U21(X1, X2) -> active# X1) (top# ok X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (top# ok X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (top# ok X -> active# X, active# isNat s V1 -> isNatKind# V1) (top# ok X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (top# ok X -> active# X, active# U22 X -> U22# active X) (top# ok X -> active# X, active# U22 X -> active# X) (top# ok X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (top# ok X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (top# ok X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (top# ok X -> active# X, active# U11(X1, X2) -> active# X1) (top# ok X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (top# ok X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (top# ok X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (top# ok X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (top# ok X -> active# X, active# U12 X -> U12# active X) (top# ok X -> active# X, active# U12 X -> active# X) (top# ok X -> active# X, active# zeros() -> cons#(0(), zeros())) (top# ok X -> active# X, active# cons(X1, X2) -> active# X1) (top# ok X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# length cons(N, L) -> isNatIListKind# L, isNatIListKind# ok X -> isNatIListKind# X) (active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), and#(ok X1, ok X2) -> and#(X1, X2)) (active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), and#(mark X1, X2) -> and#(X1, X2)) (active# U42(tt(), V2) -> isNatIList# V2, isNatIList# ok X -> isNatIList# X) (active# U52(tt(), V2) -> isNatList# V2, isNatList# ok X -> isNatList# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatIListKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# length X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# length X -> length# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# s X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U53 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U53 X -> U53# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatIList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatIList X -> isNatIList# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> U43# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U32 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U32 X -> U32# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U22 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U22 X -> U22# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatList X -> isNatList# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U12 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U12 X -> U12# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (active# U31(tt(), V) -> isNatList# V, isNatList# ok X -> isNatList# X) (proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (active# isNatIList V -> isNatIListKind# V, isNatIListKind# ok X -> isNatIListKind# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U12 X -> U12# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U12 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatList X -> isNatList# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U22 X -> U22# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U22 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U32 X -> U32# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U32 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X3, proper# U43 X -> U43# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U43 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatIList X -> isNatIList# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatIList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> U53# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# s X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# length X -> length# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# length X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatIListKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X) (active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2, isNatIListKind# ok X -> isNatIListKind# X) (active# isNatIList cons(V1, V2) -> isNatIListKind# V2, isNatIListKind# ok X -> isNatIListKind# X) (active# isNatList cons(V1, V2) -> isNatIListKind# V2, isNatIListKind# ok X -> isNatIListKind# X) (active# U61(tt(), L) -> length# L, length# mark X -> length# X) (active# U61(tt(), L) -> length# L, length# ok X -> length# X) (active# length cons(N, L) -> isNatList# L, isNatList# ok X -> isNatList# X) (top# mark X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (top# mark X -> proper# X, proper# cons(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# cons(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U12 X -> U12# proper X) (top# mark X -> proper# X, proper# U12 X -> proper# X) (top# mark X -> proper# X, proper# isNatList X -> isNatList# proper X) (top# mark X -> proper# X, proper# isNatList X -> proper# X) (top# mark X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U11(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U11(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U22 X -> U22# proper X) (top# mark X -> proper# X, proper# U22 X -> proper# X) (top# mark X -> proper# X, proper# isNat X -> isNat# proper X) (top# mark X -> proper# X, proper# isNat X -> proper# X) (top# mark X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U21(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U21(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U32 X -> U32# proper X) (top# mark X -> proper# X, proper# U32 X -> proper# X) (top# mark X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U31(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U31(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U42(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U42(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (top# mark X -> proper# X, proper# U43 X -> U43# proper X) (top# mark X -> proper# X, proper# U43 X -> proper# X) (top# mark X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (top# mark X -> proper# X, proper# isNatIList X -> proper# X) (top# mark X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U52(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U52(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (top# mark X -> proper# X, proper# U53 X -> U53# proper X) (top# mark X -> proper# X, proper# U53 X -> proper# X) (top# mark X -> proper# X, proper# s X -> s# proper X) (top# mark X -> proper# X, proper# s X -> proper# X) (top# mark X -> proper# X, proper# length X -> length# proper X) (top# mark X -> proper# X, proper# length X -> proper# X) (top# mark X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U61(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U61(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (top# mark X -> proper# X, proper# and(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# and(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (top# mark X -> proper# X, proper# isNatIListKind X -> proper# X) (top# mark X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (top# mark X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNatIListKind X -> proper# X, proper# U12 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNatIListKind X -> proper# X, proper# isNatList X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNatIListKind X -> proper# X, proper# U22 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNatIListKind X -> proper# X, proper# isNat X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNatIListKind X -> proper# X, proper# U32 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNatIListKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNatIListKind X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNatIListKind X -> proper# X, proper# U43 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNatIListKind X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNatIListKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNatIListKind X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNatIListKind X -> proper# X, proper# U53 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# s X -> s# proper X) (proper# isNatIListKind X -> proper# X, proper# s X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# length X -> length# proper X) (proper# isNatIListKind X -> proper# X, proper# length X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNatIListKind X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNatIListKind X -> proper# X, proper# isNatKind X -> proper# X) (proper# s X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# s X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U12 X -> U12# proper X) (proper# s X -> proper# X, proper# U12 X -> proper# X) (proper# s X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# s X -> proper# X, proper# isNatList X -> proper# X) (proper# s X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U22 X -> U22# proper X) (proper# s X -> proper# X, proper# U22 X -> proper# X) (proper# s X -> proper# X, proper# isNat X -> isNat# proper X) (proper# s X -> proper# X, proper# isNat X -> proper# X) (proper# s X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U32 X -> U32# proper X) (proper# s X -> proper# X, proper# U32 X -> proper# X) (proper# s X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# s X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# s X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# s X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# s X -> proper# X, proper# U43 X -> U43# proper X) (proper# s X -> proper# X, proper# U43 X -> proper# X) (proper# s X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# s X -> proper# X, proper# isNatIList X -> proper# X) (proper# s X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# s X -> proper# X, proper# U53 X -> U53# proper X) (proper# s X -> proper# X, proper# U53 X -> proper# X) (proper# s X -> proper# X, proper# s X -> s# proper X) (proper# s X -> proper# X, proper# s X -> proper# X) (proper# s X -> proper# X, proper# length X -> length# proper X) (proper# s X -> proper# X, proper# length X -> proper# X) (proper# s X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# s X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# s X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# s X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# s X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNatIList X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNatIList X -> proper# X, proper# U12 X -> proper# X) (proper# isNatIList X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNatIList X -> proper# X, proper# isNatList X -> proper# X) (proper# isNatIList X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNatIList X -> proper# X, proper# U22 X -> proper# X) (proper# isNatIList X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNatIList X -> proper# X, proper# isNat X -> proper# X) (proper# isNatIList X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNatIList X -> proper# X, proper# U32 X -> proper# X) (proper# isNatIList X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNatIList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNatIList X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNatIList X -> proper# X, proper# U43 X -> proper# X) (proper# isNatIList X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNatIList X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNatIList X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNatIList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNatIList X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNatIList X -> proper# X, proper# U53 X -> proper# X) (proper# isNatIList X -> proper# X, proper# s X -> s# proper X) (proper# isNatIList X -> proper# X, proper# s X -> proper# X) (proper# isNatIList X -> proper# X, proper# length X -> length# proper X) (proper# isNatIList X -> proper# X, proper# length X -> proper# X) (proper# isNatIList X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNatIList X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNatIList X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNatIList X -> proper# X, proper# isNatKind X -> proper# X) (proper# U32 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U32 X -> proper# X, proper# U12 X -> proper# X) (proper# U32 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U32 X -> proper# X, proper# isNatList X -> proper# X) (proper# U32 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U32 X -> proper# X, proper# U22 X -> proper# X) (proper# U32 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U32 X -> proper# X, proper# isNat X -> proper# X) (proper# U32 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U32 X -> proper# X, proper# U32 X -> proper# X) (proper# U32 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U32 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U32 X -> proper# X, proper# U43 X -> proper# X) (proper# U32 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U32 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U32 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U32 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U32 X -> proper# X, proper# U53 X -> proper# X) (proper# U32 X -> proper# X, proper# s X -> s# proper X) (proper# U32 X -> proper# X, proper# s X -> proper# X) (proper# U32 X -> proper# X, proper# length X -> length# proper X) (proper# U32 X -> proper# X, proper# length X -> proper# X) (proper# U32 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U32 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U32 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U32 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U22 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U22 X -> proper# X, proper# U12 X -> proper# X) (proper# U22 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U22 X -> proper# X, proper# isNatList X -> proper# X) (proper# U22 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U22 X -> proper# X, proper# U22 X -> proper# X) (proper# U22 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U22 X -> proper# X, proper# isNat X -> proper# X) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U22 X -> proper# X, proper# U32 X -> proper# X) (proper# U22 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U22 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U22 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U22 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U22 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U22 X -> proper# X, proper# U43 X -> proper# X) (proper# U22 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U22 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U22 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U22 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U22 X -> proper# X, proper# U53 X -> proper# X) (proper# U22 X -> proper# X, proper# s X -> s# proper X) (proper# U22 X -> proper# X, proper# s X -> proper# X) (proper# U22 X -> proper# X, proper# length X -> length# proper X) (proper# U22 X -> proper# X, proper# length X -> proper# X) (proper# U22 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U22 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U22 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U22 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U12 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U12 X -> proper# X, proper# U12 X -> proper# X) (proper# U12 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U12 X -> proper# X, proper# isNatList X -> proper# X) (proper# U12 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U12 X -> proper# X, proper# U22 X -> proper# X) (proper# U12 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U12 X -> proper# X, proper# isNat X -> proper# X) (proper# U12 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U12 X -> proper# X, proper# U32 X -> proper# X) (proper# U12 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U12 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U12 X -> proper# X, proper# U43 X -> proper# X) (proper# U12 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U12 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U12 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U12 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U12 X -> proper# X, proper# U53 X -> proper# X) (proper# U12 X -> proper# X, proper# s X -> s# proper X) (proper# U12 X -> proper# X, proper# s X -> proper# X) (proper# U12 X -> proper# X, proper# length X -> length# proper X) (proper# U12 X -> proper# X, proper# length X -> proper# X) (proper# U12 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U12 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U12 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U12 X -> proper# X, proper# isNatKind X -> proper# X) (isNatIListKind# ok X -> isNatIListKind# X, isNatIListKind# ok X -> isNatIListKind# X) (length# mark X -> length# X, length# mark X -> length# X) (length# mark X -> length# X, length# ok X -> length# X) (s# mark X -> s# X, s# mark X -> s# X) (s# mark X -> s# X, s# ok X -> s# X) (U53# mark X -> U53# X, U53# mark X -> U53# X) (U53# mark X -> U53# X, U53# ok X -> U53# X) (U43# ok X -> U43# X, U43# mark X -> U43# X) (U43# ok X -> U43# X, U43# ok X -> U43# X) (U32# ok X -> U32# X, U32# mark X -> U32# X) (U32# ok X -> U32# X, U32# ok X -> U32# X) (isNat# ok X -> isNat# X, isNat# ok X -> isNat# X) (U22# mark X -> U22# X, U22# mark X -> U22# X) (U22# mark X -> U22# X, U22# ok X -> U22# X) (U12# ok X -> U12# X, U12# mark X -> U12# X) (U12# ok X -> U12# X, U12# ok X -> U12# X) (active# length X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# length X -> active# X, active# cons(X1, X2) -> active# X1) (active# length X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# length X -> active# X, active# U12 X -> active# X) (active# length X -> active# X, active# U12 X -> U12# active X) (active# length X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# length X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# length X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# length X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# length X -> active# X, active# U11(X1, X2) -> active# X1) (active# length X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# length X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# length X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# length X -> active# X, active# U22 X -> active# X) (active# length X -> active# X, active# U22 X -> U22# active X) (active# length X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# length X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# length X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# length X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# length X -> active# X, active# U21(X1, X2) -> active# X1) (active# length X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# length X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# length X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# length X -> active# X, active# U32 X -> active# X) (active# length X -> active# X, active# U32 X -> U32# active X) (active# length X -> active# X, active# U31(X1, X2) -> active# X1) (active# length X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# length X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# length X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# length X -> active# X, active# U42(X1, X2) -> active# X1) (active# length X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# length X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# length X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# length X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# length X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# length X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# length X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# length X -> active# X, active# U43 X -> active# X) (active# length X -> active# X, active# U43 X -> U43# active X) (active# length X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# length X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# length X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# length X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# length X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# length X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# length X -> active# X, active# U52(X1, X2) -> active# X1) (active# length X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# length X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# length X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# length X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# length X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# length X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# length X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# length X -> active# X, active# U53 X -> active# X) (active# length X -> active# X, active# U53 X -> U53# active X) (active# length X -> active# X, active# s X -> active# X) (active# length X -> active# X, active# s X -> s# active X) (active# length X -> active# X, active# length X -> active# X) (active# length X -> active# X, active# length X -> length# active X) (active# length X -> active# X, active# length cons(N, L) -> isNatList# L) (active# length X -> active# X, active# length cons(N, L) -> isNat# N) (active# length X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# length X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# length X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# length X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# length X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# length X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# length X -> active# X, active# U61(X1, X2) -> active# X1) (active# length X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# length X -> active# X, active# U61(tt(), L) -> s# length L) (active# length X -> active# X, active# U61(tt(), L) -> length# L) (active# length X -> active# X, active# and(X1, X2) -> active# X1) (active# length X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# length X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# length X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# length X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# length X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# length X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U53 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U53 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U53 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U53 X -> active# X, active# U12 X -> active# X) (active# U53 X -> active# X, active# U12 X -> U12# active X) (active# U53 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U53 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U53 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U53 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U53 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U53 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U53 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U53 X -> active# X, active# U22 X -> active# X) (active# U53 X -> active# X, active# U22 X -> U22# active X) (active# U53 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U53 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U53 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U53 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U53 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U53 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U53 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U53 X -> active# X, active# U32 X -> active# X) (active# U53 X -> active# X, active# U32 X -> U32# active X) (active# U53 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U53 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U53 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U53 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U53 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U53 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U53 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U53 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U53 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U53 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U53 X -> active# X, active# U43 X -> active# X) (active# U53 X -> active# X, active# U43 X -> U43# active X) (active# U53 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U53 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U53 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U53 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U53 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U53 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U53 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U53 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U53 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U53 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U53 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U53 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U53 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U53 X -> active# X, active# U53 X -> active# X) (active# U53 X -> active# X, active# U53 X -> U53# active X) (active# U53 X -> active# X, active# s X -> active# X) (active# U53 X -> active# X, active# s X -> s# active X) (active# U53 X -> active# X, active# length X -> active# X) (active# U53 X -> active# X, active# length X -> length# active X) (active# U53 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U53 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U53 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U53 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U53 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U53 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U53 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U53 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U53 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U53 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U53 X -> active# X, active# U61(tt(), L) -> length# L) (active# U53 X -> active# X, active# and(X1, X2) -> active# X1) (active# U53 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U53 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U53 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U53 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U53 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U53 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U32 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U32 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U32 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U32 X -> active# X, active# U12 X -> active# X) (active# U32 X -> active# X, active# U12 X -> U12# active X) (active# U32 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U32 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U32 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U32 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U32 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U32 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U32 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U32 X -> active# X, active# U22 X -> active# X) (active# U32 X -> active# X, active# U22 X -> U22# active X) (active# U32 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U32 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U32 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U32 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U32 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U32 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U32 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U32 X -> active# X, active# U32 X -> active# X) (active# U32 X -> active# X, active# U32 X -> U32# active X) (active# U32 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U32 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U32 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U32 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U32 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U32 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U32 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U32 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U32 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U32 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U32 X -> active# X, active# U43 X -> active# X) (active# U32 X -> active# X, active# U43 X -> U43# active X) (active# U32 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U32 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U32 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U32 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U32 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U32 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U32 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U32 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U32 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U32 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U32 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U32 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U32 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U32 X -> active# X, active# U53 X -> active# X) (active# U32 X -> active# X, active# U53 X -> U53# active X) (active# U32 X -> active# X, active# s X -> active# X) (active# U32 X -> active# X, active# s X -> s# active X) (active# U32 X -> active# X, active# length X -> active# X) (active# U32 X -> active# X, active# length X -> length# active X) (active# U32 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U32 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U32 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U32 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U32 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U32 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U32 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U32 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U32 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U32 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U32 X -> active# X, active# U61(tt(), L) -> length# L) (active# U32 X -> active# X, active# and(X1, X2) -> active# X1) (active# U32 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U32 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U32 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U32 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U32 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U32 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U12 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U12 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U12 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U12 X -> active# X, active# U12 X -> active# X) (active# U12 X -> active# X, active# U12 X -> U12# active X) (active# U12 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U12 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U12 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U12 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U12 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U12 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U12 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U12 X -> active# X, active# U22 X -> active# X) (active# U12 X -> active# X, active# U22 X -> U22# active X) (active# U12 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U12 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U12 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U12 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U12 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U12 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U12 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U12 X -> active# X, active# U32 X -> active# X) (active# U12 X -> active# X, active# U32 X -> U32# active X) (active# U12 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U12 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U12 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U12 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U12 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U12 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U12 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U12 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U12 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U12 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U12 X -> active# X, active# U43 X -> active# X) (active# U12 X -> active# X, active# U43 X -> U43# active X) (active# U12 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U12 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U12 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U12 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U12 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U12 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U12 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U12 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U12 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U12 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U12 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U12 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U12 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U12 X -> active# X, active# U53 X -> active# X) (active# U12 X -> active# X, active# U53 X -> U53# active X) (active# U12 X -> active# X, active# s X -> active# X) (active# U12 X -> active# X, active# s X -> s# active X) (active# U12 X -> active# X, active# length X -> active# X) (active# U12 X -> active# X, active# length X -> length# active X) (active# U12 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U12 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U12 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U12 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U12 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U12 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U12 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U12 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U12 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U12 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U12 X -> active# X, active# U61(tt(), L) -> length# L) (active# U12 X -> active# X, active# and(X1, X2) -> active# X1) (active# U12 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U12 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U12 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U12 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U12 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U12 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (proper# U61(X1, X2) -> U61#(proper X1, proper X2), U61#(mark X1, X2) -> U61#(X1, X2)) (proper# U61(X1, X2) -> U61#(proper X1, proper X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (proper# U42(X1, X2) -> U42#(proper X1, proper X2), U42#(mark X1, X2) -> U42#(X1, X2)) (proper# U42(X1, X2) -> U42#(proper X1, proper X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (proper# U21(X1, X2) -> U21#(proper X1, proper X2), U21#(mark X1, X2) -> U21#(X1, X2)) (proper# U21(X1, X2) -> U21#(proper X1, proper X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (proper# cons(X1, X2) -> cons#(proper X1, proper X2), cons#(mark X1, X2) -> cons#(X1, X2)) (proper# cons(X1, X2) -> cons#(proper X1, proper X2), cons#(ok X1, ok X2) -> cons#(X1, X2)) (active# length cons(N, L) -> and#(isNat N, isNatKind N), and#(mark X1, X2) -> and#(X1, X2)) (active# length cons(N, L) -> and#(isNat N, isNatKind N), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), and#(mark X1, X2) -> and#(X1, X2)) (active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNat length V1 -> U11#(isNatIListKind V1, V1), U11#(mark X1, X2) -> U11#(X1, X2)) (active# isNat length V1 -> U11#(isNatIListKind V1, V1), U11#(ok X1, ok X2) -> U11#(X1, X2)) (active# isNatIList V -> U31#(isNatIListKind V, V), U31#(mark X1, X2) -> U31#(X1, X2)) (active# isNatIList V -> U31#(isNatIListKind V, V), U31#(ok X1, ok X2) -> U31#(X1, X2)) (active# U41(tt(), V1, V2) -> U42#(isNat V1, V2), U42#(mark X1, X2) -> U42#(X1, X2)) (active# U41(tt(), V1, V2) -> U42#(isNat V1, V2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (and#(ok X1, ok X2) -> and#(X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (and#(ok X1, ok X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (U61#(ok X1, ok X2) -> U61#(X1, X2), U61#(mark X1, X2) -> U61#(X1, X2)) (U61#(ok X1, ok X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (U52#(ok X1, ok X2) -> U52#(X1, X2), U52#(mark X1, X2) -> U52#(X1, X2)) (U52#(ok X1, ok X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (U42#(ok X1, ok X2) -> U42#(X1, X2), U42#(mark X1, X2) -> U42#(X1, X2)) (U42#(ok X1, ok X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (U31#(ok X1, ok X2) -> U31#(X1, X2), U31#(mark X1, X2) -> U31#(X1, X2)) (U31#(ok X1, ok X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (U21#(ok X1, ok X2) -> U21#(X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (U21#(ok X1, ok X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (U11#(ok X1, ok X2) -> U11#(X1, X2), U11#(mark X1, X2) -> U11#(X1, X2)) (U11#(ok X1, ok X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (cons#(ok X1, ok X2) -> cons#(X1, X2), cons#(mark X1, X2) -> cons#(X1, X2)) (cons#(ok X1, ok X2) -> cons#(X1, X2), cons#(ok X1, ok X2) -> cons#(X1, X2)) (active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (active# length cons(N, L) -> isNatKind# N, isNatKind# ok X -> isNatKind# X) (active# U21(tt(), V1) -> U22# isNat V1, U22# mark X -> U22# X) (active# U21(tt(), V1) -> U22# isNat V1, U22# ok X -> U22# X) (active# U31(tt(), V) -> U32# isNatList V, U32# mark X -> U32# X) (active# U31(tt(), V) -> U32# isNatList V, U32# ok X -> U32# X) (active# U42(tt(), V2) -> U43# isNatIList V2, U43# mark X -> U43# X) (active# U42(tt(), V2) -> U43# isNatIList V2, U43# ok X -> U43# X) (top# ok X -> top# active X, top# mark X -> proper# X) (top# ok X -> top# active X, top# mark X -> top# proper X) (top# ok X -> top# active X, top# ok X -> active# X) (top# ok X -> top# active X, top# ok X -> top# active X) (proper# isNatKind X -> isNatKind# proper X, isNatKind# ok X -> isNatKind# X) (proper# length X -> length# proper X, length# mark X -> length# X) (proper# length X -> length# proper X, length# ok X -> length# X) (proper# U53 X -> U53# proper X, U53# mark X -> U53# X) (proper# U53 X -> U53# proper X, U53# ok X -> U53# X) (proper# U43 X -> U43# proper X, U43# mark X -> U43# X) (proper# U43 X -> U43# proper X, U43# ok X -> U43# X) (proper# isNat X -> isNat# proper X, isNat# ok X -> isNat# X) (proper# isNatList X -> isNatList# proper X, isNatList# ok X -> isNatList# X) (active# length X -> length# active X, length# mark X -> length# X) (active# length X -> length# active X, length# ok X -> length# X) (active# U53 X -> U53# active X, U53# mark X -> U53# X) (active# U53 X -> U53# active X, U53# ok X -> U53# X) (active# U32 X -> U32# active X, U32# mark X -> U32# X) (active# U32 X -> U32# active X, U32# ok X -> U32# X) (active# U12 X -> U12# active X, U12# mark X -> U12# X) (active# U12 X -> U12# active X, U12# ok X -> U12# X) (active# U61(X1, X2) -> U61#(active X1, X2), U61#(mark X1, X2) -> U61#(X1, X2)) (active# U61(X1, X2) -> U61#(active X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (active# U42(X1, X2) -> U42#(active X1, X2), U42#(mark X1, X2) -> U42#(X1, X2)) (active# U42(X1, X2) -> U42#(active X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (active# U21(X1, X2) -> U21#(active X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (active# U21(X1, X2) -> U21#(active X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (active# cons(X1, X2) -> cons#(active X1, X2), cons#(mark X1, X2) -> cons#(X1, X2)) (active# cons(X1, X2) -> cons#(active X1, X2), cons#(ok X1, ok X2) -> cons#(X1, X2)) (proper# U61(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U61(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U61(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U52(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U52(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U42(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U42(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U21(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U21(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# cons(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# cons(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# cons(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# cons(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# cons(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# cons(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (active# U61(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U61(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U61(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U61(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U61(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U61(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U61(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U61(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U61(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U61(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U61(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U61(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U61(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U61(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U61(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U61(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U61(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U61(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U61(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U61(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U61(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U61(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U61(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U61(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U61(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U61(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U61(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U61(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U61(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U61(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U61(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U61(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U61(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U61(X1, X2) -> active# X1, active# s X -> active# X) (active# U61(X1, X2) -> active# X1, active# s X -> s# active X) (active# U61(X1, X2) -> active# X1, active# length X -> active# X) (active# U61(X1, X2) -> active# X1, active# length X -> length# active X) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U61(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U61(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U61(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U61(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U61(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U52(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U52(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U52(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U52(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U52(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U52(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U52(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U52(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U52(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U52(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U52(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U52(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U52(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U52(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U52(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U52(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U52(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U52(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U52(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U52(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U52(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U52(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U52(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U52(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U52(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U52(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U52(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U52(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U52(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U52(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U52(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U52(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U52(X1, X2) -> active# X1, active# s X -> active# X) (active# U52(X1, X2) -> active# X1, active# s X -> s# active X) (active# U52(X1, X2) -> active# X1, active# length X -> active# X) (active# U52(X1, X2) -> active# X1, active# length X -> length# active X) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U52(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U52(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U52(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U52(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U52(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U42(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U42(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U42(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U42(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U42(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U42(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U42(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U42(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U42(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U42(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U42(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U42(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U42(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U42(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U42(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U42(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U42(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U42(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U42(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U42(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U42(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U42(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U42(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U42(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U42(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U42(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U42(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U42(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U42(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U42(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U42(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U42(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U42(X1, X2) -> active# X1, active# s X -> active# X) (active# U42(X1, X2) -> active# X1, active# s X -> s# active X) (active# U42(X1, X2) -> active# X1, active# length X -> active# X) (active# U42(X1, X2) -> active# X1, active# length X -> length# active X) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U42(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U42(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U42(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U42(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U42(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U21(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U21(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U21(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U21(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U21(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U21(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U21(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U21(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U21(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U21(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U21(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U21(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U21(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U21(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U21(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U21(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U21(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U21(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U21(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U21(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U21(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U21(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U21(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U21(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U21(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U21(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U21(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U21(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U21(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U21(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U21(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U21(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U21(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U21(X1, X2) -> active# X1, active# s X -> active# X) (active# U21(X1, X2) -> active# X1, active# s X -> s# active X) (active# U21(X1, X2) -> active# X1, active# length X -> active# X) (active# U21(X1, X2) -> active# X1, active# length X -> length# active X) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U21(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U21(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U21(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U21(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U21(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# cons(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# cons(X1, X2) -> active# X1, active# U12 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# cons(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# cons(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# cons(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# cons(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# cons(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# cons(X1, X2) -> active# X1, active# U22 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# cons(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# cons(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# cons(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# cons(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# cons(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# cons(X1, X2) -> active# X1, active# U32 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# cons(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# cons(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# cons(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# cons(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# cons(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# cons(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# cons(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# cons(X1, X2) -> active# X1, active# U43 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# cons(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# cons(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# cons(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# cons(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# cons(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# cons(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# cons(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# cons(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# cons(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# cons(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# cons(X1, X2) -> active# X1, active# U53 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# cons(X1, X2) -> active# X1, active# s X -> active# X) (active# cons(X1, X2) -> active# X1, active# s X -> s# active X) (active# cons(X1, X2) -> active# X1, active# length X -> active# X) (active# cons(X1, X2) -> active# X1, active# length X -> length# active X) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# cons(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# cons(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# cons(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# cons(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# cons(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# isNatKind s V1 -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# U51(tt(), V1, V2) -> isNat# V1, isNat# ok X -> isNat# X) (active# U41(tt(), V1, V2) -> isNat# V1, isNat# ok X -> isNat# X) (active# isNat length V1 -> isNatIListKind# V1, isNatIListKind# ok X -> isNatIListKind# X) (active# U11(tt(), V1) -> isNatList# V1, isNatList# ok X -> isNatList# X) (U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (active# U41(X1, X2, X3) -> U41#(active X1, X2, X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (active# U41(X1, X2, X3) -> U41#(active X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (proper# U61(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U61(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U61(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U52(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U52(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U42(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U42(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U21(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U21(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# cons(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# cons(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# cons(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# cons(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# cons(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# cons(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) } EDG: { (proper# U11(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U11(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U11(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U11(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U11(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U31(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U31(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U31(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U31(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# length X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# length X -> length# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# s X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U53 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U43 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U32 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U22 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U12 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# length X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# length X -> length# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# s X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U53 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U43 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U32 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U22 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U12 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# and(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# and(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# and(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# and(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# and(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# and(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# and(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (active# U51(X1, X2, X3) -> U51#(active X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (active# U51(X1, X2, X3) -> U51#(active X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (active# isNatList cons(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# isNat s V1 -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# U21(tt(), V1) -> isNat# V1, isNat# ok X -> isNat# X) (active# isNatIList cons(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# isNatIListKind cons(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# isNatKind length V1 -> isNatIListKind# V1, isNatIListKind# ok X -> isNatIListKind# X) (active# U11(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U11(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U11(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U11(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U11(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U11(X1, X2) -> active# X1, active# length X -> length# active X) (active# U11(X1, X2) -> active# X1, active# length X -> active# X) (active# U11(X1, X2) -> active# X1, active# s X -> s# active X) (active# U11(X1, X2) -> active# X1, active# s X -> active# X) (active# U11(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U11(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U11(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U11(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U11(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U11(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U11(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U11(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U11(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U11(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U11(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U11(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U11(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U11(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U11(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U11(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U11(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U11(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U11(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U11(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U11(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U11(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U11(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U11(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U11(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U11(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U11(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U11(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U11(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U11(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U11(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U11(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U11(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U11(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U11(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U31(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U31(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U31(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U31(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U31(X1, X2) -> active# X1, active# length X -> length# active X) (active# U31(X1, X2) -> active# X1, active# length X -> active# X) (active# U31(X1, X2) -> active# X1, active# s X -> s# active X) (active# U31(X1, X2) -> active# X1, active# s X -> active# X) (active# U31(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U31(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U31(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U31(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U31(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U31(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U31(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U31(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U31(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U31(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U31(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U31(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U31(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U31(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U31(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U31(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U31(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U31(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U31(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U31(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U31(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U31(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U31(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U31(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U31(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U31(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U31(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U31(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U31(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U31(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U31(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U31(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U31(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U31(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U41(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U41(X1, X2, X3) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U61(tt(), L) -> length# L) (active# U41(X1, X2, X3) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U41(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U41(X1, X2, X3) -> active# X1, active# length X -> length# active X) (active# U41(X1, X2, X3) -> active# X1, active# length X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# s X -> s# active X) (active# U41(X1, X2, X3) -> active# X1, active# s X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U53 X -> U53# active X) (active# U41(X1, X2, X3) -> active# X1, active# U53 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U41(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U41(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U41(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U41(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U41(X1, X2, X3) -> active# X1, active# U43 X -> U43# active X) (active# U41(X1, X2, X3) -> active# X1, active# U43 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U41(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U41(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U41(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U41(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U41(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U41(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U32 X -> U32# active X) (active# U41(X1, X2, X3) -> active# X1, active# U32 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U41(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U41(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U41(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U41(X1, X2, X3) -> active# X1, active# U22 X -> U22# active X) (active# U41(X1, X2, X3) -> active# X1, active# U22 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U41(X1, X2, X3) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U41(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U41(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U41(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# U12 X -> U12# active X) (active# U41(X1, X2, X3) -> active# X1, active# U12 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U41(X1, X2, X3) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U61(tt(), L) -> length# L) (active# U51(X1, X2, X3) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U51(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U51(X1, X2, X3) -> active# X1, active# length X -> length# active X) (active# U51(X1, X2, X3) -> active# X1, active# length X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# s X -> s# active X) (active# U51(X1, X2, X3) -> active# X1, active# s X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U53 X -> U53# active X) (active# U51(X1, X2, X3) -> active# X1, active# U53 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U51(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U51(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U51(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U51(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U51(X1, X2, X3) -> active# X1, active# U43 X -> U43# active X) (active# U51(X1, X2, X3) -> active# X1, active# U43 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U51(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U51(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U51(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U51(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U51(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U51(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U32 X -> U32# active X) (active# U51(X1, X2, X3) -> active# X1, active# U32 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U51(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U51(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U51(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U51(X1, X2, X3) -> active# X1, active# U22 X -> U22# active X) (active# U51(X1, X2, X3) -> active# X1, active# U22 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U51(X1, X2, X3) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U51(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U12 X -> U12# active X) (active# U51(X1, X2, X3) -> active# X1, active# U12 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U51(X1, X2, X3) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# and(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# and(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# and(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# and(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# and(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# and(X1, X2) -> active# X1, active# length X -> length# active X) (active# and(X1, X2) -> active# X1, active# length X -> active# X) (active# and(X1, X2) -> active# X1, active# s X -> s# active X) (active# and(X1, X2) -> active# X1, active# s X -> active# X) (active# and(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# and(X1, X2) -> active# X1, active# U53 X -> active# X) (active# and(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# and(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# and(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# and(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# and(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# and(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# and(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# and(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# and(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# and(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# and(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# and(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# and(X1, X2) -> active# X1, active# U43 X -> active# X) (active# and(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# and(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# and(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# and(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# and(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# and(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# and(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# and(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# and(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# and(X1, X2) -> active# X1, active# U32 X -> active# X) (active# and(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# and(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# and(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# and(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# and(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# and(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# and(X1, X2) -> active# X1, active# U22 X -> active# X) (active# and(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# and(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# and(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# and(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# and(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# and(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# and(X1, X2) -> active# X1, active# U12 X -> active# X) (active# and(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# and(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (proper# U11(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U11(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U11(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U11(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U11(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U31(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U31(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U31(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U31(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# length X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# length X -> length# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# s X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U53 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U43 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U32 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U22 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U12 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# length X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# length X -> length# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# s X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U53 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U43 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U32 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U22 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U12 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# and(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# and(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# and(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# and(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# and(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# and(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# and(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (active# U11(X1, X2) -> U11#(active X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (active# U11(X1, X2) -> U11#(active X1, X2), U11#(mark X1, X2) -> U11#(X1, X2)) (active# U31(X1, X2) -> U31#(active X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (active# U31(X1, X2) -> U31#(active X1, X2), U31#(mark X1, X2) -> U31#(X1, X2)) (active# U52(X1, X2) -> U52#(active X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (active# U52(X1, X2) -> U52#(active X1, X2), U52#(mark X1, X2) -> U52#(X1, X2)) (active# and(X1, X2) -> and#(active X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# and(X1, X2) -> and#(active X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (active# U22 X -> U22# active X, U22# ok X -> U22# X) (active# U22 X -> U22# active X, U22# mark X -> U22# X) (active# U43 X -> U43# active X, U43# ok X -> U43# X) (active# U43 X -> U43# active X, U43# mark X -> U43# X) (active# s X -> s# active X, s# ok X -> s# X) (active# s X -> s# active X, s# mark X -> s# X) (proper# U12 X -> U12# proper X, U12# ok X -> U12# X) (proper# U12 X -> U12# proper X, U12# mark X -> U12# X) (proper# U22 X -> U22# proper X, U22# ok X -> U22# X) (proper# U22 X -> U22# proper X, U22# mark X -> U22# X) (proper# U32 X -> U32# proper X, U32# ok X -> U32# X) (proper# U32 X -> U32# proper X, U32# mark X -> U32# X) (proper# isNatIList X -> isNatIList# proper X, isNatIList# ok X -> isNatIList# X) (proper# s X -> s# proper X, s# ok X -> s# X) (proper# s X -> s# proper X, s# mark X -> s# X) (proper# isNatIListKind X -> isNatIListKind# proper X, isNatIListKind# ok X -> isNatIListKind# X) (top# mark X -> top# proper X, top# ok X -> top# active X) (top# mark X -> top# proper X, top# ok X -> active# X) (top# mark X -> top# proper X, top# mark X -> top# proper X) (top# mark X -> top# proper X, top# mark X -> proper# X) (active# U61(tt(), L) -> s# length L, s# ok X -> s# X) (active# U61(tt(), L) -> s# length L, s# mark X -> s# X) (active# U52(tt(), V2) -> U53# isNatList V2, U53# ok X -> U53# X) (active# U11(tt(), V1) -> U12# isNatList V1, U12# ok X -> U12# X) (active# length cons(N, L) -> isNat# N, isNat# ok X -> isNat# X) (active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (cons#(mark X1, X2) -> cons#(X1, X2), cons#(ok X1, ok X2) -> cons#(X1, X2)) (cons#(mark X1, X2) -> cons#(X1, X2), cons#(mark X1, X2) -> cons#(X1, X2)) (U11#(mark X1, X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (U11#(mark X1, X2) -> U11#(X1, X2), U11#(mark X1, X2) -> U11#(X1, X2)) (U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (U21#(mark X1, X2) -> U21#(X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (U31#(mark X1, X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (U31#(mark X1, X2) -> U31#(X1, X2), U31#(mark X1, X2) -> U31#(X1, X2)) (U42#(mark X1, X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (U42#(mark X1, X2) -> U42#(X1, X2), U42#(mark X1, X2) -> U42#(X1, X2)) (U52#(mark X1, X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (U52#(mark X1, X2) -> U52#(X1, X2), U52#(mark X1, X2) -> U52#(X1, X2)) (U61#(mark X1, X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (U61#(mark X1, X2) -> U61#(X1, X2), U61#(mark X1, X2) -> U61#(X1, X2)) (and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (and#(mark X1, X2) -> and#(X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), U61#(ok X1, ok X2) -> U61#(X1, X2)) (active# U51(tt(), V1, V2) -> U52#(isNat V1, V2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (active# isNat s V1 -> U21#(isNatKind V1, V1), U21#(ok X1, ok X2) -> U21#(X1, X2)) (active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# length cons(N, L) -> and#(isNatList L, isNatIListKind L), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (proper# U11(X1, X2) -> U11#(proper X1, proper X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (proper# U11(X1, X2) -> U11#(proper X1, proper X2), U11#(mark X1, X2) -> U11#(X1, X2)) (proper# U31(X1, X2) -> U31#(proper X1, proper X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (proper# U31(X1, X2) -> U31#(proper X1, proper X2), U31#(mark X1, X2) -> U31#(X1, X2)) (proper# U52(X1, X2) -> U52#(proper X1, proper X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (proper# U52(X1, X2) -> U52#(proper X1, proper X2), U52#(mark X1, X2) -> U52#(X1, X2)) (proper# and(X1, X2) -> and#(proper X1, proper X2), and#(ok X1, ok X2) -> and#(X1, X2)) (proper# and(X1, X2) -> and#(proper X1, proper X2), and#(mark X1, X2) -> and#(X1, X2)) (active# U22 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U22 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U22 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U22 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U22 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U22 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U22 X -> active# X, active# and(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U61(tt(), L) -> length# L) (active# U22 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U22 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U22 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U22 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U22 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U22 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U22 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U22 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U22 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U22 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U22 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U22 X -> active# X, active# length X -> length# active X) (active# U22 X -> active# X, active# length X -> active# X) (active# U22 X -> active# X, active# s X -> s# active X) (active# U22 X -> active# X, active# s X -> active# X) (active# U22 X -> active# X, active# U53 X -> U53# active X) (active# U22 X -> active# X, active# U53 X -> active# X) (active# U22 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U22 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U22 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U22 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U22 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U22 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U22 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U22 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U22 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U22 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U22 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U22 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U22 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U22 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U22 X -> active# X, active# U43 X -> U43# active X) (active# U22 X -> active# X, active# U43 X -> active# X) (active# U22 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U22 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U22 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U22 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U22 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U22 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U22 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U22 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U22 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U22 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U22 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U32 X -> U32# active X) (active# U22 X -> active# X, active# U32 X -> active# X) (active# U22 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U22 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U22 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U22 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U22 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U22 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U22 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U22 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U22 X -> active# X, active# U22 X -> U22# active X) (active# U22 X -> active# X, active# U22 X -> active# X) (active# U22 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U22 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U22 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U22 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U22 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U22 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U22 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U22 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U22 X -> active# X, active# U12 X -> U12# active X) (active# U22 X -> active# X, active# U12 X -> active# X) (active# U22 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U22 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U22 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U43 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U43 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U43 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U43 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U43 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U43 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U43 X -> active# X, active# and(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U61(tt(), L) -> length# L) (active# U43 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U43 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U43 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U43 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U43 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U43 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U43 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U43 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U43 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U43 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U43 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U43 X -> active# X, active# length X -> length# active X) (active# U43 X -> active# X, active# length X -> active# X) (active# U43 X -> active# X, active# s X -> s# active X) (active# U43 X -> active# X, active# s X -> active# X) (active# U43 X -> active# X, active# U53 X -> U53# active X) (active# U43 X -> active# X, active# U53 X -> active# X) (active# U43 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U43 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U43 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U43 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U43 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U43 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U43 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U43 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U43 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U43 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U43 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U43 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U43 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U43 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U43 X -> active# X, active# U43 X -> U43# active X) (active# U43 X -> active# X, active# U43 X -> active# X) (active# U43 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U43 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U43 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U43 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U43 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U43 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U43 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U43 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U43 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U43 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U43 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U32 X -> U32# active X) (active# U43 X -> active# X, active# U32 X -> active# X) (active# U43 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U43 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U43 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U43 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U43 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U43 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U43 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U43 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U43 X -> active# X, active# U22 X -> U22# active X) (active# U43 X -> active# X, active# U22 X -> active# X) (active# U43 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U43 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U43 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U43 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U43 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U43 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U43 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U43 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U43 X -> active# X, active# U12 X -> U12# active X) (active# U43 X -> active# X, active# U12 X -> active# X) (active# U43 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U43 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U43 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# s X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# s X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# s X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# s X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# s X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# s X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# s X -> active# X, active# and(X1, X2) -> active# X1) (active# s X -> active# X, active# U61(tt(), L) -> length# L) (active# s X -> active# X, active# U61(tt(), L) -> s# length L) (active# s X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# s X -> active# X, active# U61(X1, X2) -> active# X1) (active# s X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# s X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# s X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# s X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# s X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# s X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# s X -> active# X, active# length cons(N, L) -> isNat# N) (active# s X -> active# X, active# length cons(N, L) -> isNatList# L) (active# s X -> active# X, active# length X -> length# active X) (active# s X -> active# X, active# length X -> active# X) (active# s X -> active# X, active# s X -> s# active X) (active# s X -> active# X, active# s X -> active# X) (active# s X -> active# X, active# U53 X -> U53# active X) (active# s X -> active# X, active# U53 X -> active# X) (active# s X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# s X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# s X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# s X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# s X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# s X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# s X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# s X -> active# X, active# U52(X1, X2) -> active# X1) (active# s X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# s X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# s X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# s X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# s X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# s X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# s X -> active# X, active# U43 X -> U43# active X) (active# s X -> active# X, active# U43 X -> active# X) (active# s X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# s X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# s X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# s X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# s X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# s X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# s X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# s X -> active# X, active# U42(X1, X2) -> active# X1) (active# s X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# s X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# s X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# s X -> active# X, active# U31(X1, X2) -> active# X1) (active# s X -> active# X, active# U32 X -> U32# active X) (active# s X -> active# X, active# U32 X -> active# X) (active# s X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# s X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# s X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# s X -> active# X, active# U21(X1, X2) -> active# X1) (active# s X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# s X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# s X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# s X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# s X -> active# X, active# U22 X -> U22# active X) (active# s X -> active# X, active# U22 X -> active# X) (active# s X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# s X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# s X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# s X -> active# X, active# U11(X1, X2) -> active# X1) (active# s X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# s X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# s X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# s X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# s X -> active# X, active# U12 X -> U12# active X) (active# s X -> active# X, active# U12 X -> active# X) (active# s X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# s X -> active# X, active# cons(X1, X2) -> active# X1) (active# s X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (U12# mark X -> U12# X, U12# ok X -> U12# X) (U12# mark X -> U12# X, U12# mark X -> U12# X) (isNatList# ok X -> isNatList# X, isNatList# ok X -> isNatList# X) (U22# ok X -> U22# X, U22# ok X -> U22# X) (U22# ok X -> U22# X, U22# mark X -> U22# X) (U32# mark X -> U32# X, U32# ok X -> U32# X) (U32# mark X -> U32# X, U32# mark X -> U32# X) (U43# mark X -> U43# X, U43# ok X -> U43# X) (U43# mark X -> U43# X, U43# mark X -> U43# X) (isNatIList# ok X -> isNatIList# X, isNatIList# ok X -> isNatIList# X) (U53# ok X -> U53# X, U53# ok X -> U53# X) (U53# ok X -> U53# X, U53# mark X -> U53# X) (s# ok X -> s# X, s# ok X -> s# X) (s# ok X -> s# X, s# mark X -> s# X) (length# ok X -> length# X, length# ok X -> length# X) (length# ok X -> length# X, length# mark X -> length# X) (isNatKind# ok X -> isNatKind# X, isNatKind# ok X -> isNatKind# X) (proper# isNatList X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNatList X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNatList X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNatList X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNatList X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# length X -> proper# X) (proper# isNatList X -> proper# X, proper# length X -> length# proper X) (proper# isNatList X -> proper# X, proper# s X -> proper# X) (proper# isNatList X -> proper# X, proper# s X -> s# proper X) (proper# isNatList X -> proper# X, proper# U53 X -> proper# X) (proper# isNatList X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNatList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNatList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNatList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNatList X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNatList X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNatList X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNatList X -> proper# X, proper# U43 X -> proper# X) (proper# isNatList X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNatList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNatList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNatList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNatList X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNatList X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# U32 X -> proper# X) (proper# isNatList X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNatList X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# isNat X -> proper# X) (proper# isNatList X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNatList X -> proper# X, proper# U22 X -> proper# X) (proper# isNatList X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNatList X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# isNatList X -> proper# X) (proper# isNatList X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNatList X -> proper# X, proper# U12 X -> proper# X) (proper# isNatList X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNatList X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNat X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNat X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNat X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNat X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# length X -> proper# X) (proper# isNat X -> proper# X, proper# length X -> length# proper X) (proper# isNat X -> proper# X, proper# s X -> proper# X) (proper# isNat X -> proper# X, proper# s X -> s# proper X) (proper# isNat X -> proper# X, proper# U53 X -> proper# X) (proper# isNat X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNat X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNat X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNat X -> proper# X, proper# U43 X -> proper# X) (proper# isNat X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNat X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNat X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNat X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNat X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNat X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# U32 X -> proper# X) (proper# isNat X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNat X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# isNat X -> proper# X) (proper# isNat X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNat X -> proper# X, proper# U22 X -> proper# X) (proper# isNat X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNat X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# isNatList X -> proper# X) (proper# isNat X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNat X -> proper# X, proper# U12 X -> proper# X) (proper# isNat X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNat X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U43 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U43 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U43 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U43 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# length X -> proper# X) (proper# U43 X -> proper# X, proper# length X -> length# proper X) (proper# U43 X -> proper# X, proper# s X -> proper# X) (proper# U43 X -> proper# X, proper# s X -> s# proper X) (proper# U43 X -> proper# X, proper# U53 X -> proper# X) (proper# U43 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U43 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U43 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U43 X -> proper# X, proper# U43 X -> proper# X) (proper# U43 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U43 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U32 X -> proper# X) (proper# U43 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U43 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNat X -> proper# X) (proper# U43 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U43 X -> proper# X, proper# U22 X -> proper# X) (proper# U43 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U43 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNatList X -> proper# X) (proper# U43 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U43 X -> proper# X, proper# U12 X -> proper# X) (proper# U43 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U43 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U53 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U53 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U53 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U53 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# length X -> proper# X) (proper# U53 X -> proper# X, proper# length X -> length# proper X) (proper# U53 X -> proper# X, proper# s X -> proper# X) (proper# U53 X -> proper# X, proper# s X -> s# proper X) (proper# U53 X -> proper# X, proper# U53 X -> proper# X) (proper# U53 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U53 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U53 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U53 X -> proper# X, proper# U43 X -> proper# X) (proper# U53 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U53 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U32 X -> proper# X) (proper# U53 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U53 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# isNat X -> proper# X) (proper# U53 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U53 X -> proper# X, proper# U22 X -> proper# X) (proper# U53 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U53 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# isNatList X -> proper# X) (proper# U53 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U53 X -> proper# X, proper# U12 X -> proper# X) (proper# U53 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U53 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# length X -> proper# X, proper# isNatKind X -> proper# X) (proper# length X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# length X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# length X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# length X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# length X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# length X -> proper# X, proper# length X -> proper# X) (proper# length X -> proper# X, proper# length X -> length# proper X) (proper# length X -> proper# X, proper# s X -> proper# X) (proper# length X -> proper# X, proper# s X -> s# proper X) (proper# length X -> proper# X, proper# U53 X -> proper# X) (proper# length X -> proper# X, proper# U53 X -> U53# proper X) (proper# length X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# length X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# length X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# length X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# length X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# length X -> proper# X, proper# isNatIList X -> proper# X) (proper# length X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# length X -> proper# X, proper# U43 X -> proper# X) (proper# length X -> proper# X, proper# U43 X -> U43# proper X) (proper# length X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# length X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# length X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# length X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# length X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# length X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# length X -> proper# X, proper# U32 X -> proper# X) (proper# length X -> proper# X, proper# U32 X -> U32# proper X) (proper# length X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# length X -> proper# X, proper# isNat X -> proper# X) (proper# length X -> proper# X, proper# isNat X -> isNat# proper X) (proper# length X -> proper# X, proper# U22 X -> proper# X) (proper# length X -> proper# X, proper# U22 X -> U22# proper X) (proper# length X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# length X -> proper# X, proper# isNatList X -> proper# X) (proper# length X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# length X -> proper# X, proper# U12 X -> proper# X) (proper# length X -> proper# X, proper# U12 X -> U12# proper X) (proper# length X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNatKind X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNatKind X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# length X -> proper# X) (proper# isNatKind X -> proper# X, proper# length X -> length# proper X) (proper# isNatKind X -> proper# X, proper# s X -> proper# X) (proper# isNatKind X -> proper# X, proper# s X -> s# proper X) (proper# isNatKind X -> proper# X, proper# U53 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNatKind X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNatKind X -> proper# X, proper# U43 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNatKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNatKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNatKind X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# U32 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNatKind X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# isNat X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNatKind X -> proper# X, proper# U22 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNatKind X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# isNatList X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNatKind X -> proper# X, proper# U12 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNatKind X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (top# ok X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (top# ok X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (top# ok X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (top# ok X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (top# ok X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (top# ok X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (top# ok X -> active# X, active# and(X1, X2) -> active# X1) (top# ok X -> active# X, active# U61(tt(), L) -> length# L) (top# ok X -> active# X, active# U61(tt(), L) -> s# length L) (top# ok X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (top# ok X -> active# X, active# U61(X1, X2) -> active# X1) (top# ok X -> active# X, active# length cons(N, L) -> isNatKind# N) (top# ok X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (top# ok X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (top# ok X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (top# ok X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (top# ok X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (top# ok X -> active# X, active# length cons(N, L) -> isNat# N) (top# ok X -> active# X, active# length cons(N, L) -> isNatList# L) (top# ok X -> active# X, active# length X -> length# active X) (top# ok X -> active# X, active# length X -> active# X) (top# ok X -> active# X, active# s X -> s# active X) (top# ok X -> active# X, active# s X -> active# X) (top# ok X -> active# X, active# U53 X -> U53# active X) (top# ok X -> active# X, active# U53 X -> active# X) (top# ok X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (top# ok X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (top# ok X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (top# ok X -> active# X, active# U51(X1, X2, X3) -> active# X1) (top# ok X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (top# ok X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (top# ok X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (top# ok X -> active# X, active# U52(X1, X2) -> active# X1) (top# ok X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (top# ok X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (top# ok X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (top# ok X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (top# ok X -> active# X, active# isNatIList V -> isNatIListKind# V) (top# ok X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (top# ok X -> active# X, active# U43 X -> U43# active X) (top# ok X -> active# X, active# U43 X -> active# X) (top# ok X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (top# ok X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (top# ok X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (top# ok X -> active# X, active# U41(X1, X2, X3) -> active# X1) (top# ok X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (top# ok X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (top# ok X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (top# ok X -> active# X, active# U42(X1, X2) -> active# X1) (top# ok X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (top# ok X -> active# X, active# U31(tt(), V) -> isNatList# V) (top# ok X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (top# ok X -> active# X, active# U31(X1, X2) -> active# X1) (top# ok X -> active# X, active# U32 X -> U32# active X) (top# ok X -> active# X, active# U32 X -> active# X) (top# ok X -> active# X, active# U21(tt(), V1) -> isNat# V1) (top# ok X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (top# ok X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (top# ok X -> active# X, active# U21(X1, X2) -> active# X1) (top# ok X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (top# ok X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (top# ok X -> active# X, active# isNat s V1 -> isNatKind# V1) (top# ok X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (top# ok X -> active# X, active# U22 X -> U22# active X) (top# ok X -> active# X, active# U22 X -> active# X) (top# ok X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (top# ok X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (top# ok X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (top# ok X -> active# X, active# U11(X1, X2) -> active# X1) (top# ok X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (top# ok X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (top# ok X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (top# ok X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (top# ok X -> active# X, active# U12 X -> U12# active X) (top# ok X -> active# X, active# U12 X -> active# X) (top# ok X -> active# X, active# zeros() -> cons#(0(), zeros())) (top# ok X -> active# X, active# cons(X1, X2) -> active# X1) (top# ok X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# length cons(N, L) -> isNatIListKind# L, isNatIListKind# ok X -> isNatIListKind# X) (active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), and#(ok X1, ok X2) -> and#(X1, X2)) (active# U42(tt(), V2) -> isNatIList# V2, isNatIList# ok X -> isNatIList# X) (active# U52(tt(), V2) -> isNatList# V2, isNatList# ok X -> isNatList# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatIListKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# length X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# length X -> length# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# s X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U53 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U53 X -> U53# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatIList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatIList X -> isNatIList# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> U43# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U32 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U32 X -> U32# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U22 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U22 X -> U22# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatList X -> isNatList# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U12 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U12 X -> U12# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (active# U31(tt(), V) -> isNatList# V, isNatList# ok X -> isNatList# X) (proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (active# isNatIList V -> isNatIListKind# V, isNatIListKind# ok X -> isNatIListKind# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U12 X -> U12# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U12 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatList X -> isNatList# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U22 X -> U22# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U22 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U32 X -> U32# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U32 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X3, proper# U43 X -> U43# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U43 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatIList X -> isNatIList# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatIList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> U53# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# s X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# length X -> length# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# length X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatIListKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X) (active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2, isNatIListKind# ok X -> isNatIListKind# X) (active# isNatIList cons(V1, V2) -> isNatIListKind# V2, isNatIListKind# ok X -> isNatIListKind# X) (active# isNatList cons(V1, V2) -> isNatIListKind# V2, isNatIListKind# ok X -> isNatIListKind# X) (active# U61(tt(), L) -> length# L, length# mark X -> length# X) (active# U61(tt(), L) -> length# L, length# ok X -> length# X) (active# length cons(N, L) -> isNatList# L, isNatList# ok X -> isNatList# X) (top# mark X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (top# mark X -> proper# X, proper# cons(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# cons(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U12 X -> U12# proper X) (top# mark X -> proper# X, proper# U12 X -> proper# X) (top# mark X -> proper# X, proper# isNatList X -> isNatList# proper X) (top# mark X -> proper# X, proper# isNatList X -> proper# X) (top# mark X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U11(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U11(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U22 X -> U22# proper X) (top# mark X -> proper# X, proper# U22 X -> proper# X) (top# mark X -> proper# X, proper# isNat X -> isNat# proper X) (top# mark X -> proper# X, proper# isNat X -> proper# X) (top# mark X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U21(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U21(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U32 X -> U32# proper X) (top# mark X -> proper# X, proper# U32 X -> proper# X) (top# mark X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U31(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U31(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U42(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U42(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (top# mark X -> proper# X, proper# U43 X -> U43# proper X) (top# mark X -> proper# X, proper# U43 X -> proper# X) (top# mark X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (top# mark X -> proper# X, proper# isNatIList X -> proper# X) (top# mark X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U52(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U52(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (top# mark X -> proper# X, proper# U53 X -> U53# proper X) (top# mark X -> proper# X, proper# U53 X -> proper# X) (top# mark X -> proper# X, proper# s X -> s# proper X) (top# mark X -> proper# X, proper# s X -> proper# X) (top# mark X -> proper# X, proper# length X -> length# proper X) (top# mark X -> proper# X, proper# length X -> proper# X) (top# mark X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U61(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U61(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (top# mark X -> proper# X, proper# and(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# and(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (top# mark X -> proper# X, proper# isNatIListKind X -> proper# X) (top# mark X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (top# mark X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNatIListKind X -> proper# X, proper# U12 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNatIListKind X -> proper# X, proper# isNatList X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNatIListKind X -> proper# X, proper# U22 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNatIListKind X -> proper# X, proper# isNat X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNatIListKind X -> proper# X, proper# U32 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNatIListKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNatIListKind X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNatIListKind X -> proper# X, proper# U43 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNatIListKind X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNatIListKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNatIListKind X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNatIListKind X -> proper# X, proper# U53 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# s X -> s# proper X) (proper# isNatIListKind X -> proper# X, proper# s X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# length X -> length# proper X) (proper# isNatIListKind X -> proper# X, proper# length X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNatIListKind X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNatIListKind X -> proper# X, proper# isNatKind X -> proper# X) (proper# s X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# s X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U12 X -> U12# proper X) (proper# s X -> proper# X, proper# U12 X -> proper# X) (proper# s X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# s X -> proper# X, proper# isNatList X -> proper# X) (proper# s X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U22 X -> U22# proper X) (proper# s X -> proper# X, proper# U22 X -> proper# X) (proper# s X -> proper# X, proper# isNat X -> isNat# proper X) (proper# s X -> proper# X, proper# isNat X -> proper# X) (proper# s X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U32 X -> U32# proper X) (proper# s X -> proper# X, proper# U32 X -> proper# X) (proper# s X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# s X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# s X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# s X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# s X -> proper# X, proper# U43 X -> U43# proper X) (proper# s X -> proper# X, proper# U43 X -> proper# X) (proper# s X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# s X -> proper# X, proper# isNatIList X -> proper# X) (proper# s X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# s X -> proper# X, proper# U53 X -> U53# proper X) (proper# s X -> proper# X, proper# U53 X -> proper# X) (proper# s X -> proper# X, proper# s X -> s# proper X) (proper# s X -> proper# X, proper# s X -> proper# X) (proper# s X -> proper# X, proper# length X -> length# proper X) (proper# s X -> proper# X, proper# length X -> proper# X) (proper# s X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# s X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# s X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# s X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# s X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNatIList X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNatIList X -> proper# X, proper# U12 X -> proper# X) (proper# isNatIList X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNatIList X -> proper# X, proper# isNatList X -> proper# X) (proper# isNatIList X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNatIList X -> proper# X, proper# U22 X -> proper# X) (proper# isNatIList X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNatIList X -> proper# X, proper# isNat X -> proper# X) (proper# isNatIList X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNatIList X -> proper# X, proper# U32 X -> proper# X) (proper# isNatIList X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNatIList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNatIList X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNatIList X -> proper# X, proper# U43 X -> proper# X) (proper# isNatIList X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNatIList X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNatIList X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNatIList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNatIList X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNatIList X -> proper# X, proper# U53 X -> proper# X) (proper# isNatIList X -> proper# X, proper# s X -> s# proper X) (proper# isNatIList X -> proper# X, proper# s X -> proper# X) (proper# isNatIList X -> proper# X, proper# length X -> length# proper X) (proper# isNatIList X -> proper# X, proper# length X -> proper# X) (proper# isNatIList X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNatIList X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNatIList X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNatIList X -> proper# X, proper# isNatKind X -> proper# X) (proper# U32 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U32 X -> proper# X, proper# U12 X -> proper# X) (proper# U32 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U32 X -> proper# X, proper# isNatList X -> proper# X) (proper# U32 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U32 X -> proper# X, proper# U22 X -> proper# X) (proper# U32 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U32 X -> proper# X, proper# isNat X -> proper# X) (proper# U32 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U32 X -> proper# X, proper# U32 X -> proper# X) (proper# U32 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U32 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U32 X -> proper# X, proper# U43 X -> proper# X) (proper# U32 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U32 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U32 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U32 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U32 X -> proper# X, proper# U53 X -> proper# X) (proper# U32 X -> proper# X, proper# s X -> s# proper X) (proper# U32 X -> proper# X, proper# s X -> proper# X) (proper# U32 X -> proper# X, proper# length X -> length# proper X) (proper# U32 X -> proper# X, proper# length X -> proper# X) (proper# U32 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U32 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U32 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U32 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U22 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U22 X -> proper# X, proper# U12 X -> proper# X) (proper# U22 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U22 X -> proper# X, proper# isNatList X -> proper# X) (proper# U22 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U22 X -> proper# X, proper# U22 X -> proper# X) (proper# U22 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U22 X -> proper# X, proper# isNat X -> proper# X) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U22 X -> proper# X, proper# U32 X -> proper# X) (proper# U22 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U22 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U22 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U22 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U22 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U22 X -> proper# X, proper# U43 X -> proper# X) (proper# U22 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U22 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U22 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U22 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U22 X -> proper# X, proper# U53 X -> proper# X) (proper# U22 X -> proper# X, proper# s X -> s# proper X) (proper# U22 X -> proper# X, proper# s X -> proper# X) (proper# U22 X -> proper# X, proper# length X -> length# proper X) (proper# U22 X -> proper# X, proper# length X -> proper# X) (proper# U22 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U22 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U22 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U22 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U12 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U12 X -> proper# X, proper# U12 X -> proper# X) (proper# U12 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U12 X -> proper# X, proper# isNatList X -> proper# X) (proper# U12 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U12 X -> proper# X, proper# U22 X -> proper# X) (proper# U12 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U12 X -> proper# X, proper# isNat X -> proper# X) (proper# U12 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U12 X -> proper# X, proper# U32 X -> proper# X) (proper# U12 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U12 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U12 X -> proper# X, proper# U43 X -> proper# X) (proper# U12 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U12 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U12 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U12 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U12 X -> proper# X, proper# U53 X -> proper# X) (proper# U12 X -> proper# X, proper# s X -> s# proper X) (proper# U12 X -> proper# X, proper# s X -> proper# X) (proper# U12 X -> proper# X, proper# length X -> length# proper X) (proper# U12 X -> proper# X, proper# length X -> proper# X) (proper# U12 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U12 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U12 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U12 X -> proper# X, proper# isNatKind X -> proper# X) (isNatIListKind# ok X -> isNatIListKind# X, isNatIListKind# ok X -> isNatIListKind# X) (length# mark X -> length# X, length# mark X -> length# X) (length# mark X -> length# X, length# ok X -> length# X) (s# mark X -> s# X, s# mark X -> s# X) (s# mark X -> s# X, s# ok X -> s# X) (U53# mark X -> U53# X, U53# mark X -> U53# X) (U53# mark X -> U53# X, U53# ok X -> U53# X) (U43# ok X -> U43# X, U43# mark X -> U43# X) (U43# ok X -> U43# X, U43# ok X -> U43# X) (U32# ok X -> U32# X, U32# mark X -> U32# X) (U32# ok X -> U32# X, U32# ok X -> U32# X) (isNat# ok X -> isNat# X, isNat# ok X -> isNat# X) (U22# mark X -> U22# X, U22# mark X -> U22# X) (U22# mark X -> U22# X, U22# ok X -> U22# X) (U12# ok X -> U12# X, U12# mark X -> U12# X) (U12# ok X -> U12# X, U12# ok X -> U12# X) (active# length X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# length X -> active# X, active# cons(X1, X2) -> active# X1) (active# length X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# length X -> active# X, active# U12 X -> active# X) (active# length X -> active# X, active# U12 X -> U12# active X) (active# length X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# length X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# length X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# length X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# length X -> active# X, active# U11(X1, X2) -> active# X1) (active# length X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# length X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# length X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# length X -> active# X, active# U22 X -> active# X) (active# length X -> active# X, active# U22 X -> U22# active X) (active# length X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# length X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# length X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# length X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# length X -> active# X, active# U21(X1, X2) -> active# X1) (active# length X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# length X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# length X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# length X -> active# X, active# U32 X -> active# X) (active# length X -> active# X, active# U32 X -> U32# active X) (active# length X -> active# X, active# U31(X1, X2) -> active# X1) (active# length X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# length X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# length X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# length X -> active# X, active# U42(X1, X2) -> active# X1) (active# length X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# length X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# length X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# length X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# length X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# length X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# length X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# length X -> active# X, active# U43 X -> active# X) (active# length X -> active# X, active# U43 X -> U43# active X) (active# length X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# length X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# length X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# length X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# length X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# length X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# length X -> active# X, active# U52(X1, X2) -> active# X1) (active# length X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# length X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# length X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# length X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# length X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# length X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# length X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# length X -> active# X, active# U53 X -> active# X) (active# length X -> active# X, active# U53 X -> U53# active X) (active# length X -> active# X, active# s X -> active# X) (active# length X -> active# X, active# s X -> s# active X) (active# length X -> active# X, active# length X -> active# X) (active# length X -> active# X, active# length X -> length# active X) (active# length X -> active# X, active# length cons(N, L) -> isNatList# L) (active# length X -> active# X, active# length cons(N, L) -> isNat# N) (active# length X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# length X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# length X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# length X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# length X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# length X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# length X -> active# X, active# U61(X1, X2) -> active# X1) (active# length X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# length X -> active# X, active# U61(tt(), L) -> s# length L) (active# length X -> active# X, active# U61(tt(), L) -> length# L) (active# length X -> active# X, active# and(X1, X2) -> active# X1) (active# length X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# length X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# length X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# length X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# length X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# length X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U53 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U53 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U53 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U53 X -> active# X, active# U12 X -> active# X) (active# U53 X -> active# X, active# U12 X -> U12# active X) (active# U53 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U53 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U53 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U53 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U53 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U53 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U53 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U53 X -> active# X, active# U22 X -> active# X) (active# U53 X -> active# X, active# U22 X -> U22# active X) (active# U53 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U53 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U53 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U53 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U53 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U53 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U53 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U53 X -> active# X, active# U32 X -> active# X) (active# U53 X -> active# X, active# U32 X -> U32# active X) (active# U53 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U53 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U53 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U53 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U53 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U53 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U53 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U53 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U53 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U53 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U53 X -> active# X, active# U43 X -> active# X) (active# U53 X -> active# X, active# U43 X -> U43# active X) (active# U53 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U53 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U53 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U53 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U53 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U53 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U53 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U53 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U53 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U53 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U53 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U53 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U53 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U53 X -> active# X, active# U53 X -> active# X) (active# U53 X -> active# X, active# U53 X -> U53# active X) (active# U53 X -> active# X, active# s X -> active# X) (active# U53 X -> active# X, active# s X -> s# active X) (active# U53 X -> active# X, active# length X -> active# X) (active# U53 X -> active# X, active# length X -> length# active X) (active# U53 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U53 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U53 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U53 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U53 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U53 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U53 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U53 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U53 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U53 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U53 X -> active# X, active# U61(tt(), L) -> length# L) (active# U53 X -> active# X, active# and(X1, X2) -> active# X1) (active# U53 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U53 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U53 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U53 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U53 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U53 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U32 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U32 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U32 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U32 X -> active# X, active# U12 X -> active# X) (active# U32 X -> active# X, active# U12 X -> U12# active X) (active# U32 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U32 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U32 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U32 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U32 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U32 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U32 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U32 X -> active# X, active# U22 X -> active# X) (active# U32 X -> active# X, active# U22 X -> U22# active X) (active# U32 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U32 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U32 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U32 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U32 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U32 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U32 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U32 X -> active# X, active# U32 X -> active# X) (active# U32 X -> active# X, active# U32 X -> U32# active X) (active# U32 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U32 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U32 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U32 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U32 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U32 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U32 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U32 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U32 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U32 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U32 X -> active# X, active# U43 X -> active# X) (active# U32 X -> active# X, active# U43 X -> U43# active X) (active# U32 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U32 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U32 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U32 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U32 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U32 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U32 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U32 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U32 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U32 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U32 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U32 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U32 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U32 X -> active# X, active# U53 X -> active# X) (active# U32 X -> active# X, active# U53 X -> U53# active X) (active# U32 X -> active# X, active# s X -> active# X) (active# U32 X -> active# X, active# s X -> s# active X) (active# U32 X -> active# X, active# length X -> active# X) (active# U32 X -> active# X, active# length X -> length# active X) (active# U32 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U32 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U32 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U32 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U32 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U32 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U32 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U32 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U32 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U32 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U32 X -> active# X, active# U61(tt(), L) -> length# L) (active# U32 X -> active# X, active# and(X1, X2) -> active# X1) (active# U32 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U32 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U32 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U32 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U32 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U32 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U12 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U12 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U12 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U12 X -> active# X, active# U12 X -> active# X) (active# U12 X -> active# X, active# U12 X -> U12# active X) (active# U12 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U12 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U12 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U12 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U12 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U12 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U12 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U12 X -> active# X, active# U22 X -> active# X) (active# U12 X -> active# X, active# U22 X -> U22# active X) (active# U12 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U12 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U12 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U12 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U12 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U12 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U12 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U12 X -> active# X, active# U32 X -> active# X) (active# U12 X -> active# X, active# U32 X -> U32# active X) (active# U12 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U12 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U12 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U12 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U12 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U12 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U12 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U12 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U12 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U12 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U12 X -> active# X, active# U43 X -> active# X) (active# U12 X -> active# X, active# U43 X -> U43# active X) (active# U12 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U12 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U12 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U12 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U12 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U12 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U12 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U12 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U12 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U12 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U12 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U12 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U12 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U12 X -> active# X, active# U53 X -> active# X) (active# U12 X -> active# X, active# U53 X -> U53# active X) (active# U12 X -> active# X, active# s X -> active# X) (active# U12 X -> active# X, active# s X -> s# active X) (active# U12 X -> active# X, active# length X -> active# X) (active# U12 X -> active# X, active# length X -> length# active X) (active# U12 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U12 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U12 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U12 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U12 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U12 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U12 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U12 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U12 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U12 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U12 X -> active# X, active# U61(tt(), L) -> length# L) (active# U12 X -> active# X, active# and(X1, X2) -> active# X1) (active# U12 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U12 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U12 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U12 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U12 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U12 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (proper# U61(X1, X2) -> U61#(proper X1, proper X2), U61#(mark X1, X2) -> U61#(X1, X2)) (proper# U61(X1, X2) -> U61#(proper X1, proper X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (proper# U42(X1, X2) -> U42#(proper X1, proper X2), U42#(mark X1, X2) -> U42#(X1, X2)) (proper# U42(X1, X2) -> U42#(proper X1, proper X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (proper# U21(X1, X2) -> U21#(proper X1, proper X2), U21#(mark X1, X2) -> U21#(X1, X2)) (proper# U21(X1, X2) -> U21#(proper X1, proper X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (proper# cons(X1, X2) -> cons#(proper X1, proper X2), cons#(mark X1, X2) -> cons#(X1, X2)) (proper# cons(X1, X2) -> cons#(proper X1, proper X2), cons#(ok X1, ok X2) -> cons#(X1, X2)) (active# length cons(N, L) -> and#(isNat N, isNatKind N), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNat length V1 -> U11#(isNatIListKind V1, V1), U11#(ok X1, ok X2) -> U11#(X1, X2)) (active# isNatIList V -> U31#(isNatIListKind V, V), U31#(ok X1, ok X2) -> U31#(X1, X2)) (active# U41(tt(), V1, V2) -> U42#(isNat V1, V2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (and#(ok X1, ok X2) -> and#(X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (and#(ok X1, ok X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (U61#(ok X1, ok X2) -> U61#(X1, X2), U61#(mark X1, X2) -> U61#(X1, X2)) (U61#(ok X1, ok X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (U52#(ok X1, ok X2) -> U52#(X1, X2), U52#(mark X1, X2) -> U52#(X1, X2)) (U52#(ok X1, ok X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (U42#(ok X1, ok X2) -> U42#(X1, X2), U42#(mark X1, X2) -> U42#(X1, X2)) (U42#(ok X1, ok X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (U31#(ok X1, ok X2) -> U31#(X1, X2), U31#(mark X1, X2) -> U31#(X1, X2)) (U31#(ok X1, ok X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (U21#(ok X1, ok X2) -> U21#(X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (U21#(ok X1, ok X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (U11#(ok X1, ok X2) -> U11#(X1, X2), U11#(mark X1, X2) -> U11#(X1, X2)) (U11#(ok X1, ok X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (cons#(ok X1, ok X2) -> cons#(X1, X2), cons#(mark X1, X2) -> cons#(X1, X2)) (cons#(ok X1, ok X2) -> cons#(X1, X2), cons#(ok X1, ok X2) -> cons#(X1, X2)) (active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (active# length cons(N, L) -> isNatKind# N, isNatKind# ok X -> isNatKind# X) (active# U21(tt(), V1) -> U22# isNat V1, U22# ok X -> U22# X) (active# U31(tt(), V) -> U32# isNatList V, U32# ok X -> U32# X) (active# U42(tt(), V2) -> U43# isNatIList V2, U43# ok X -> U43# X) (top# ok X -> top# active X, top# mark X -> proper# X) (top# ok X -> top# active X, top# mark X -> top# proper X) (top# ok X -> top# active X, top# ok X -> active# X) (top# ok X -> top# active X, top# ok X -> top# active X) (proper# isNatKind X -> isNatKind# proper X, isNatKind# ok X -> isNatKind# X) (proper# length X -> length# proper X, length# mark X -> length# X) (proper# length X -> length# proper X, length# ok X -> length# X) (proper# U53 X -> U53# proper X, U53# mark X -> U53# X) (proper# U53 X -> U53# proper X, U53# ok X -> U53# X) (proper# U43 X -> U43# proper X, U43# mark X -> U43# X) (proper# U43 X -> U43# proper X, U43# ok X -> U43# X) (proper# isNat X -> isNat# proper X, isNat# ok X -> isNat# X) (proper# isNatList X -> isNatList# proper X, isNatList# ok X -> isNatList# X) (active# length X -> length# active X, length# mark X -> length# X) (active# length X -> length# active X, length# ok X -> length# X) (active# U53 X -> U53# active X, U53# mark X -> U53# X) (active# U53 X -> U53# active X, U53# ok X -> U53# X) (active# U32 X -> U32# active X, U32# mark X -> U32# X) (active# U32 X -> U32# active X, U32# ok X -> U32# X) (active# U12 X -> U12# active X, U12# mark X -> U12# X) (active# U12 X -> U12# active X, U12# ok X -> U12# X) (active# U61(X1, X2) -> U61#(active X1, X2), U61#(mark X1, X2) -> U61#(X1, X2)) (active# U61(X1, X2) -> U61#(active X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (active# U42(X1, X2) -> U42#(active X1, X2), U42#(mark X1, X2) -> U42#(X1, X2)) (active# U42(X1, X2) -> U42#(active X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (active# U21(X1, X2) -> U21#(active X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (active# U21(X1, X2) -> U21#(active X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (active# cons(X1, X2) -> cons#(active X1, X2), cons#(mark X1, X2) -> cons#(X1, X2)) (active# cons(X1, X2) -> cons#(active X1, X2), cons#(ok X1, ok X2) -> cons#(X1, X2)) (proper# U61(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U61(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U61(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U52(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U52(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U42(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U42(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U21(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U21(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# cons(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# cons(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# cons(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# cons(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# cons(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# cons(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (active# U61(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U61(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U61(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U61(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U61(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U61(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U61(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U61(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U61(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U61(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U61(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U61(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U61(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U61(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U61(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U61(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U61(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U61(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U61(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U61(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U61(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U61(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U61(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U61(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U61(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U61(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U61(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U61(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U61(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U61(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U61(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U61(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U61(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U61(X1, X2) -> active# X1, active# s X -> active# X) (active# U61(X1, X2) -> active# X1, active# s X -> s# active X) (active# U61(X1, X2) -> active# X1, active# length X -> active# X) (active# U61(X1, X2) -> active# X1, active# length X -> length# active X) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U61(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U61(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U61(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U61(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U61(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U52(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U52(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U52(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U52(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U52(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U52(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U52(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U52(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U52(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U52(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U52(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U52(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U52(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U52(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U52(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U52(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U52(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U52(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U52(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U52(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U52(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U52(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U52(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U52(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U52(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U52(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U52(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U52(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U52(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U52(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U52(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U52(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U52(X1, X2) -> active# X1, active# s X -> active# X) (active# U52(X1, X2) -> active# X1, active# s X -> s# active X) (active# U52(X1, X2) -> active# X1, active# length X -> active# X) (active# U52(X1, X2) -> active# X1, active# length X -> length# active X) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U52(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U52(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U52(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U52(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U52(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U42(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U42(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U42(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U42(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U42(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U42(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U42(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U42(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U42(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U42(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U42(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U42(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U42(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U42(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U42(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U42(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U42(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U42(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U42(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U42(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U42(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U42(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U42(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U42(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U42(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U42(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U42(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U42(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U42(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U42(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U42(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U42(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U42(X1, X2) -> active# X1, active# s X -> active# X) (active# U42(X1, X2) -> active# X1, active# s X -> s# active X) (active# U42(X1, X2) -> active# X1, active# length X -> active# X) (active# U42(X1, X2) -> active# X1, active# length X -> length# active X) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U42(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U42(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U42(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U42(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U42(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U21(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U21(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U21(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U21(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U21(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U21(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U21(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U21(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U21(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U21(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U21(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U21(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U21(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U21(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U21(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U21(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U21(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U21(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U21(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U21(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U21(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U21(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U21(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U21(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U21(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U21(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U21(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U21(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U21(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U21(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U21(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U21(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U21(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U21(X1, X2) -> active# X1, active# s X -> active# X) (active# U21(X1, X2) -> active# X1, active# s X -> s# active X) (active# U21(X1, X2) -> active# X1, active# length X -> active# X) (active# U21(X1, X2) -> active# X1, active# length X -> length# active X) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U21(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U21(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U21(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U21(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U21(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# cons(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# cons(X1, X2) -> active# X1, active# U12 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# cons(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# cons(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# cons(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# cons(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# cons(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# cons(X1, X2) -> active# X1, active# U22 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# cons(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# cons(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# cons(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# cons(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# cons(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# cons(X1, X2) -> active# X1, active# U32 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# cons(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# cons(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# cons(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# cons(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# cons(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# cons(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# cons(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# cons(X1, X2) -> active# X1, active# U43 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# cons(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# cons(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# cons(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# cons(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# cons(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# cons(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# cons(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# cons(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# cons(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# cons(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# cons(X1, X2) -> active# X1, active# U53 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# cons(X1, X2) -> active# X1, active# s X -> active# X) (active# cons(X1, X2) -> active# X1, active# s X -> s# active X) (active# cons(X1, X2) -> active# X1, active# length X -> active# X) (active# cons(X1, X2) -> active# X1, active# length X -> length# active X) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# cons(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# cons(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# cons(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# cons(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# cons(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# isNatKind s V1 -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# U51(tt(), V1, V2) -> isNat# V1, isNat# ok X -> isNat# X) (active# U41(tt(), V1, V2) -> isNat# V1, isNat# ok X -> isNat# X) (active# isNat length V1 -> isNatIListKind# V1, isNatIListKind# ok X -> isNatIListKind# X) (active# U11(tt(), V1) -> isNatList# V1, isNatList# ok X -> isNatList# X) (U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (active# U41(X1, X2, X3) -> U41#(active X1, X2, X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (active# U41(X1, X2, X3) -> U41#(active X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (proper# U61(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U61(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U61(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U52(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U52(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U42(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U42(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U21(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U21(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# cons(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# cons(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# cons(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# cons(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# cons(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# cons(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) } EDG: { (proper# U11(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U11(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U11(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U11(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U11(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U31(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U31(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U31(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U31(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# length X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# length X -> length# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# s X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U53 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U43 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U32 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U22 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U12 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# length X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# length X -> length# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# s X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# s X -> s# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U53 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U43 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U32 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNat X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U22 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U12 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# and(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# and(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# and(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# and(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# and(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# and(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# and(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (active# U51(X1, X2, X3) -> U51#(active X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (active# U51(X1, X2, X3) -> U51#(active X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (active# isNatList cons(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# isNat s V1 -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# U21(tt(), V1) -> isNat# V1, isNat# ok X -> isNat# X) (active# isNatIList cons(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# isNatIListKind cons(V1, V2) -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# isNatKind length V1 -> isNatIListKind# V1, isNatIListKind# ok X -> isNatIListKind# X) (active# U11(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U11(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U11(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U11(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U11(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U11(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U11(X1, X2) -> active# X1, active# length X -> length# active X) (active# U11(X1, X2) -> active# X1, active# length X -> active# X) (active# U11(X1, X2) -> active# X1, active# s X -> s# active X) (active# U11(X1, X2) -> active# X1, active# s X -> active# X) (active# U11(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U11(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U11(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U11(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U11(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U11(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U11(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U11(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U11(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U11(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U11(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U11(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U11(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U11(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U11(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U11(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U11(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U11(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U11(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U11(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U11(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U11(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U11(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U11(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U11(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U11(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U11(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U11(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U11(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U11(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U11(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U11(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U11(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U11(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U11(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U11(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U31(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U31(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U31(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U31(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U31(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U31(X1, X2) -> active# X1, active# length X -> length# active X) (active# U31(X1, X2) -> active# X1, active# length X -> active# X) (active# U31(X1, X2) -> active# X1, active# s X -> s# active X) (active# U31(X1, X2) -> active# X1, active# s X -> active# X) (active# U31(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U31(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U31(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U31(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U31(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U31(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U31(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U31(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U31(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U31(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U31(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U31(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U31(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U31(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U31(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U31(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U31(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U31(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U31(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U31(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U31(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U31(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U31(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U31(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U31(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U31(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U31(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U31(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U31(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U31(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U31(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U31(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U31(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U31(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U31(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U41(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U41(X1, X2, X3) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U61(tt(), L) -> length# L) (active# U41(X1, X2, X3) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U41(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U41(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U41(X1, X2, X3) -> active# X1, active# length X -> length# active X) (active# U41(X1, X2, X3) -> active# X1, active# length X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# s X -> s# active X) (active# U41(X1, X2, X3) -> active# X1, active# s X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U53 X -> U53# active X) (active# U41(X1, X2, X3) -> active# X1, active# U53 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U41(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U41(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U41(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U41(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U41(X1, X2, X3) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U41(X1, X2, X3) -> active# X1, active# U43 X -> U43# active X) (active# U41(X1, X2, X3) -> active# X1, active# U43 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U41(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U41(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U41(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U41(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U41(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U41(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U32 X -> U32# active X) (active# U41(X1, X2, X3) -> active# X1, active# U32 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U41(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U41(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U41(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U41(X1, X2, X3) -> active# X1, active# U22 X -> U22# active X) (active# U41(X1, X2, X3) -> active# X1, active# U22 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U41(X1, X2, X3) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U41(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U41(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U41(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# U12 X -> U12# active X) (active# U41(X1, X2, X3) -> active# X1, active# U12 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U41(X1, X2, X3) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U61(tt(), L) -> length# L) (active# U51(X1, X2, X3) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U51(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U51(X1, X2, X3) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U51(X1, X2, X3) -> active# X1, active# length X -> length# active X) (active# U51(X1, X2, X3) -> active# X1, active# length X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# s X -> s# active X) (active# U51(X1, X2, X3) -> active# X1, active# s X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U53 X -> U53# active X) (active# U51(X1, X2, X3) -> active# X1, active# U53 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U51(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U51(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U51(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U51(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U51(X1, X2, X3) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U51(X1, X2, X3) -> active# X1, active# U43 X -> U43# active X) (active# U51(X1, X2, X3) -> active# X1, active# U43 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U51(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U51(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U51(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U51(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U51(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U51(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U32 X -> U32# active X) (active# U51(X1, X2, X3) -> active# X1, active# U32 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U51(X1, X2, X3) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U51(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U51(X1, X2, X3) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U51(X1, X2, X3) -> active# X1, active# U22 X -> U22# active X) (active# U51(X1, X2, X3) -> active# X1, active# U22 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U51(X1, X2, X3) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U51(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U12 X -> U12# active X) (active# U51(X1, X2, X3) -> active# X1, active# U12 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U51(X1, X2, X3) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# and(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# and(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# and(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# and(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# and(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# and(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# and(X1, X2) -> active# X1, active# length X -> length# active X) (active# and(X1, X2) -> active# X1, active# length X -> active# X) (active# and(X1, X2) -> active# X1, active# s X -> s# active X) (active# and(X1, X2) -> active# X1, active# s X -> active# X) (active# and(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# and(X1, X2) -> active# X1, active# U53 X -> active# X) (active# and(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# and(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# and(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# and(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# and(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# and(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# and(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# and(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# and(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# and(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# and(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# and(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# and(X1, X2) -> active# X1, active# U43 X -> active# X) (active# and(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# and(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# and(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# and(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# and(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# and(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# and(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# and(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# and(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# and(X1, X2) -> active# X1, active# U32 X -> active# X) (active# and(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# and(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# and(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# and(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# and(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# and(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# and(X1, X2) -> active# X1, active# U22 X -> active# X) (active# and(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# and(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# and(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# and(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# and(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# and(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# and(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# and(X1, X2) -> active# X1, active# U12 X -> active# X) (active# and(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# and(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (proper# U11(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U11(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U11(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U11(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U11(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U31(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U31(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U31(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U31(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# length X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# length X -> length# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# s X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U53 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U43 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U32 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U22 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U12 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# length X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# length X -> length# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# s X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# s X -> s# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U53 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U43 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U32 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNat X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U22 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U12 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# and(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# and(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# and(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# and(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# and(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# and(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# and(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (active# U11(X1, X2) -> U11#(active X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (active# U11(X1, X2) -> U11#(active X1, X2), U11#(mark X1, X2) -> U11#(X1, X2)) (active# U31(X1, X2) -> U31#(active X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (active# U31(X1, X2) -> U31#(active X1, X2), U31#(mark X1, X2) -> U31#(X1, X2)) (active# U52(X1, X2) -> U52#(active X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (active# U52(X1, X2) -> U52#(active X1, X2), U52#(mark X1, X2) -> U52#(X1, X2)) (active# and(X1, X2) -> and#(active X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# and(X1, X2) -> and#(active X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (active# U22 X -> U22# active X, U22# ok X -> U22# X) (active# U22 X -> U22# active X, U22# mark X -> U22# X) (active# U43 X -> U43# active X, U43# ok X -> U43# X) (active# U43 X -> U43# active X, U43# mark X -> U43# X) (active# s X -> s# active X, s# ok X -> s# X) (active# s X -> s# active X, s# mark X -> s# X) (proper# U12 X -> U12# proper X, U12# ok X -> U12# X) (proper# U12 X -> U12# proper X, U12# mark X -> U12# X) (proper# U22 X -> U22# proper X, U22# ok X -> U22# X) (proper# U22 X -> U22# proper X, U22# mark X -> U22# X) (proper# U32 X -> U32# proper X, U32# ok X -> U32# X) (proper# U32 X -> U32# proper X, U32# mark X -> U32# X) (proper# isNatIList X -> isNatIList# proper X, isNatIList# ok X -> isNatIList# X) (proper# s X -> s# proper X, s# ok X -> s# X) (proper# s X -> s# proper X, s# mark X -> s# X) (proper# isNatIListKind X -> isNatIListKind# proper X, isNatIListKind# ok X -> isNatIListKind# X) (top# mark X -> top# proper X, top# ok X -> top# active X) (top# mark X -> top# proper X, top# ok X -> active# X) (top# mark X -> top# proper X, top# mark X -> top# proper X) (top# mark X -> top# proper X, top# mark X -> proper# X) (active# U61(tt(), L) -> s# length L, s# ok X -> s# X) (active# U61(tt(), L) -> s# length L, s# mark X -> s# X) (active# U52(tt(), V2) -> U53# isNatList V2, U53# ok X -> U53# X) (active# U11(tt(), V1) -> U12# isNatList V1, U12# ok X -> U12# X) (active# length cons(N, L) -> isNat# N, isNat# ok X -> isNat# X) (active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (cons#(mark X1, X2) -> cons#(X1, X2), cons#(ok X1, ok X2) -> cons#(X1, X2)) (cons#(mark X1, X2) -> cons#(X1, X2), cons#(mark X1, X2) -> cons#(X1, X2)) (U11#(mark X1, X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (U11#(mark X1, X2) -> U11#(X1, X2), U11#(mark X1, X2) -> U11#(X1, X2)) (U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (U21#(mark X1, X2) -> U21#(X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (U31#(mark X1, X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (U31#(mark X1, X2) -> U31#(X1, X2), U31#(mark X1, X2) -> U31#(X1, X2)) (U42#(mark X1, X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (U42#(mark X1, X2) -> U42#(X1, X2), U42#(mark X1, X2) -> U42#(X1, X2)) (U52#(mark X1, X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (U52#(mark X1, X2) -> U52#(X1, X2), U52#(mark X1, X2) -> U52#(X1, X2)) (U61#(mark X1, X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (U61#(mark X1, X2) -> U61#(X1, X2), U61#(mark X1, X2) -> U61#(X1, X2)) (and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (and#(mark X1, X2) -> and#(X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), U61#(ok X1, ok X2) -> U61#(X1, X2)) (active# U51(tt(), V1, V2) -> U52#(isNat V1, V2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (active# isNat s V1 -> U21#(isNatKind V1, V1), U21#(ok X1, ok X2) -> U21#(X1, X2)) (active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# length cons(N, L) -> and#(isNatList L, isNatIListKind L), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (proper# U11(X1, X2) -> U11#(proper X1, proper X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (proper# U11(X1, X2) -> U11#(proper X1, proper X2), U11#(mark X1, X2) -> U11#(X1, X2)) (proper# U31(X1, X2) -> U31#(proper X1, proper X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (proper# U31(X1, X2) -> U31#(proper X1, proper X2), U31#(mark X1, X2) -> U31#(X1, X2)) (proper# U52(X1, X2) -> U52#(proper X1, proper X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (proper# U52(X1, X2) -> U52#(proper X1, proper X2), U52#(mark X1, X2) -> U52#(X1, X2)) (proper# and(X1, X2) -> and#(proper X1, proper X2), and#(ok X1, ok X2) -> and#(X1, X2)) (proper# and(X1, X2) -> and#(proper X1, proper X2), and#(mark X1, X2) -> and#(X1, X2)) (active# U22 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U22 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U22 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U22 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U22 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U22 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U22 X -> active# X, active# and(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U61(tt(), L) -> length# L) (active# U22 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U22 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U22 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U22 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U22 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U22 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U22 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U22 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U22 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U22 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U22 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U22 X -> active# X, active# length X -> length# active X) (active# U22 X -> active# X, active# length X -> active# X) (active# U22 X -> active# X, active# s X -> s# active X) (active# U22 X -> active# X, active# s X -> active# X) (active# U22 X -> active# X, active# U53 X -> U53# active X) (active# U22 X -> active# X, active# U53 X -> active# X) (active# U22 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U22 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U22 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U22 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U22 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U22 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U22 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U22 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U22 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U22 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U22 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U22 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U22 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U22 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U22 X -> active# X, active# U43 X -> U43# active X) (active# U22 X -> active# X, active# U43 X -> active# X) (active# U22 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U22 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U22 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U22 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U22 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U22 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U22 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U22 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U22 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U22 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U22 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U32 X -> U32# active X) (active# U22 X -> active# X, active# U32 X -> active# X) (active# U22 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U22 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U22 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U22 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U22 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U22 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U22 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U22 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U22 X -> active# X, active# U22 X -> U22# active X) (active# U22 X -> active# X, active# U22 X -> active# X) (active# U22 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U22 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U22 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U22 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U22 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U22 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U22 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U22 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U22 X -> active# X, active# U12 X -> U12# active X) (active# U22 X -> active# X, active# U12 X -> active# X) (active# U22 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U22 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U22 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U43 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U43 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U43 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U43 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U43 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U43 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U43 X -> active# X, active# and(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U61(tt(), L) -> length# L) (active# U43 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U43 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U43 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U43 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U43 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U43 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U43 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U43 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U43 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U43 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U43 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U43 X -> active# X, active# length X -> length# active X) (active# U43 X -> active# X, active# length X -> active# X) (active# U43 X -> active# X, active# s X -> s# active X) (active# U43 X -> active# X, active# s X -> active# X) (active# U43 X -> active# X, active# U53 X -> U53# active X) (active# U43 X -> active# X, active# U53 X -> active# X) (active# U43 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U43 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U43 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U43 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U43 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U43 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U43 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U43 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U43 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U43 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U43 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U43 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U43 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U43 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U43 X -> active# X, active# U43 X -> U43# active X) (active# U43 X -> active# X, active# U43 X -> active# X) (active# U43 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U43 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U43 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U43 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U43 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U43 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U43 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U43 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U43 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U43 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U43 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U32 X -> U32# active X) (active# U43 X -> active# X, active# U32 X -> active# X) (active# U43 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U43 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U43 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U43 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U43 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U43 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U43 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U43 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U43 X -> active# X, active# U22 X -> U22# active X) (active# U43 X -> active# X, active# U22 X -> active# X) (active# U43 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U43 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U43 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U43 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U43 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U43 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U43 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U43 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U43 X -> active# X, active# U12 X -> U12# active X) (active# U43 X -> active# X, active# U12 X -> active# X) (active# U43 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U43 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U43 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# s X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# s X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# s X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# s X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# s X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# s X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# s X -> active# X, active# and(X1, X2) -> active# X1) (active# s X -> active# X, active# U61(tt(), L) -> length# L) (active# s X -> active# X, active# U61(tt(), L) -> s# length L) (active# s X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# s X -> active# X, active# U61(X1, X2) -> active# X1) (active# s X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# s X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# s X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# s X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# s X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# s X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# s X -> active# X, active# length cons(N, L) -> isNat# N) (active# s X -> active# X, active# length cons(N, L) -> isNatList# L) (active# s X -> active# X, active# length X -> length# active X) (active# s X -> active# X, active# length X -> active# X) (active# s X -> active# X, active# s X -> s# active X) (active# s X -> active# X, active# s X -> active# X) (active# s X -> active# X, active# U53 X -> U53# active X) (active# s X -> active# X, active# U53 X -> active# X) (active# s X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# s X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# s X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# s X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# s X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# s X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# s X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# s X -> active# X, active# U52(X1, X2) -> active# X1) (active# s X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# s X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# s X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# s X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# s X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# s X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# s X -> active# X, active# U43 X -> U43# active X) (active# s X -> active# X, active# U43 X -> active# X) (active# s X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# s X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# s X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# s X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# s X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# s X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# s X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# s X -> active# X, active# U42(X1, X2) -> active# X1) (active# s X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# s X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# s X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# s X -> active# X, active# U31(X1, X2) -> active# X1) (active# s X -> active# X, active# U32 X -> U32# active X) (active# s X -> active# X, active# U32 X -> active# X) (active# s X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# s X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# s X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# s X -> active# X, active# U21(X1, X2) -> active# X1) (active# s X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# s X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# s X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# s X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# s X -> active# X, active# U22 X -> U22# active X) (active# s X -> active# X, active# U22 X -> active# X) (active# s X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# s X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# s X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# s X -> active# X, active# U11(X1, X2) -> active# X1) (active# s X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# s X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# s X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# s X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# s X -> active# X, active# U12 X -> U12# active X) (active# s X -> active# X, active# U12 X -> active# X) (active# s X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# s X -> active# X, active# cons(X1, X2) -> active# X1) (active# s X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (U12# mark X -> U12# X, U12# ok X -> U12# X) (U12# mark X -> U12# X, U12# mark X -> U12# X) (isNatList# ok X -> isNatList# X, isNatList# ok X -> isNatList# X) (U22# ok X -> U22# X, U22# ok X -> U22# X) (U22# ok X -> U22# X, U22# mark X -> U22# X) (U32# mark X -> U32# X, U32# ok X -> U32# X) (U32# mark X -> U32# X, U32# mark X -> U32# X) (U43# mark X -> U43# X, U43# ok X -> U43# X) (U43# mark X -> U43# X, U43# mark X -> U43# X) (isNatIList# ok X -> isNatIList# X, isNatIList# ok X -> isNatIList# X) (U53# ok X -> U53# X, U53# ok X -> U53# X) (U53# ok X -> U53# X, U53# mark X -> U53# X) (s# ok X -> s# X, s# ok X -> s# X) (s# ok X -> s# X, s# mark X -> s# X) (length# ok X -> length# X, length# ok X -> length# X) (length# ok X -> length# X, length# mark X -> length# X) (isNatKind# ok X -> isNatKind# X, isNatKind# ok X -> isNatKind# X) (proper# isNatList X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNatList X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNatList X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNatList X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNatList X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# length X -> proper# X) (proper# isNatList X -> proper# X, proper# length X -> length# proper X) (proper# isNatList X -> proper# X, proper# s X -> proper# X) (proper# isNatList X -> proper# X, proper# s X -> s# proper X) (proper# isNatList X -> proper# X, proper# U53 X -> proper# X) (proper# isNatList X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNatList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNatList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNatList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNatList X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNatList X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNatList X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNatList X -> proper# X, proper# U43 X -> proper# X) (proper# isNatList X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNatList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNatList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNatList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNatList X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNatList X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# U32 X -> proper# X) (proper# isNatList X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNatList X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# isNat X -> proper# X) (proper# isNatList X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNatList X -> proper# X, proper# U22 X -> proper# X) (proper# isNatList X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNatList X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNatList X -> proper# X, proper# isNatList X -> proper# X) (proper# isNatList X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNatList X -> proper# X, proper# U12 X -> proper# X) (proper# isNatList X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNatList X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNatList X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNatList X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNat X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNat X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNat X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNat X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# length X -> proper# X) (proper# isNat X -> proper# X, proper# length X -> length# proper X) (proper# isNat X -> proper# X, proper# s X -> proper# X) (proper# isNat X -> proper# X, proper# s X -> s# proper X) (proper# isNat X -> proper# X, proper# U53 X -> proper# X) (proper# isNat X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNat X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNat X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNat X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNat X -> proper# X, proper# U43 X -> proper# X) (proper# isNat X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNat X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNat X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNat X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNat X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNat X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# U32 X -> proper# X) (proper# isNat X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNat X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# isNat X -> proper# X) (proper# isNat X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNat X -> proper# X, proper# U22 X -> proper# X) (proper# isNat X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNat X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNat X -> proper# X, proper# isNatList X -> proper# X) (proper# isNat X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNat X -> proper# X, proper# U12 X -> proper# X) (proper# isNat X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNat X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNat X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNat X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U43 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U43 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U43 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U43 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# length X -> proper# X) (proper# U43 X -> proper# X, proper# length X -> length# proper X) (proper# U43 X -> proper# X, proper# s X -> proper# X) (proper# U43 X -> proper# X, proper# s X -> s# proper X) (proper# U43 X -> proper# X, proper# U53 X -> proper# X) (proper# U43 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U43 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U43 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U43 X -> proper# X, proper# U43 X -> proper# X) (proper# U43 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U43 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U32 X -> proper# X) (proper# U43 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U43 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNat X -> proper# X) (proper# U43 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U43 X -> proper# X, proper# U22 X -> proper# X) (proper# U43 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U43 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNatList X -> proper# X) (proper# U43 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U43 X -> proper# X, proper# U12 X -> proper# X) (proper# U43 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U43 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U53 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U53 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U53 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U53 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# length X -> proper# X) (proper# U53 X -> proper# X, proper# length X -> length# proper X) (proper# U53 X -> proper# X, proper# s X -> proper# X) (proper# U53 X -> proper# X, proper# s X -> s# proper X) (proper# U53 X -> proper# X, proper# U53 X -> proper# X) (proper# U53 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U53 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U53 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U53 X -> proper# X, proper# U43 X -> proper# X) (proper# U53 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U53 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U32 X -> proper# X) (proper# U53 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U53 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# isNat X -> proper# X) (proper# U53 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U53 X -> proper# X, proper# U22 X -> proper# X) (proper# U53 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U53 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# isNatList X -> proper# X) (proper# U53 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U53 X -> proper# X, proper# U12 X -> proper# X) (proper# U53 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U53 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# length X -> proper# X, proper# isNatKind X -> proper# X) (proper# length X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# length X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# length X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# length X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# length X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# length X -> proper# X, proper# length X -> proper# X) (proper# length X -> proper# X, proper# length X -> length# proper X) (proper# length X -> proper# X, proper# s X -> proper# X) (proper# length X -> proper# X, proper# s X -> s# proper X) (proper# length X -> proper# X, proper# U53 X -> proper# X) (proper# length X -> proper# X, proper# U53 X -> U53# proper X) (proper# length X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# length X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# length X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# length X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# length X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# length X -> proper# X, proper# isNatIList X -> proper# X) (proper# length X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# length X -> proper# X, proper# U43 X -> proper# X) (proper# length X -> proper# X, proper# U43 X -> U43# proper X) (proper# length X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# length X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# length X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# length X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# length X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# length X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# length X -> proper# X, proper# U32 X -> proper# X) (proper# length X -> proper# X, proper# U32 X -> U32# proper X) (proper# length X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# length X -> proper# X, proper# isNat X -> proper# X) (proper# length X -> proper# X, proper# isNat X -> isNat# proper X) (proper# length X -> proper# X, proper# U22 X -> proper# X) (proper# length X -> proper# X, proper# U22 X -> U22# proper X) (proper# length X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# length X -> proper# X, proper# isNatList X -> proper# X) (proper# length X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# length X -> proper# X, proper# U12 X -> proper# X) (proper# length X -> proper# X, proper# U12 X -> U12# proper X) (proper# length X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# length X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# length X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNatKind X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNatKind X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# length X -> proper# X) (proper# isNatKind X -> proper# X, proper# length X -> length# proper X) (proper# isNatKind X -> proper# X, proper# s X -> proper# X) (proper# isNatKind X -> proper# X, proper# s X -> s# proper X) (proper# isNatKind X -> proper# X, proper# U53 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNatKind X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNatKind X -> proper# X, proper# U43 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNatKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNatKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNatKind X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# U32 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNatKind X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# isNat X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNatKind X -> proper# X, proper# U22 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNatKind X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNatKind X -> proper# X, proper# isNatList X -> proper# X) (proper# isNatKind X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNatKind X -> proper# X, proper# U12 X -> proper# X) (proper# isNatKind X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNatKind X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNatKind X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNatKind X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (top# ok X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (top# ok X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (top# ok X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (top# ok X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (top# ok X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (top# ok X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (top# ok X -> active# X, active# and(X1, X2) -> active# X1) (top# ok X -> active# X, active# U61(tt(), L) -> length# L) (top# ok X -> active# X, active# U61(tt(), L) -> s# length L) (top# ok X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (top# ok X -> active# X, active# U61(X1, X2) -> active# X1) (top# ok X -> active# X, active# length cons(N, L) -> isNatKind# N) (top# ok X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (top# ok X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (top# ok X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (top# ok X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (top# ok X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (top# ok X -> active# X, active# length cons(N, L) -> isNat# N) (top# ok X -> active# X, active# length cons(N, L) -> isNatList# L) (top# ok X -> active# X, active# length X -> length# active X) (top# ok X -> active# X, active# length X -> active# X) (top# ok X -> active# X, active# s X -> s# active X) (top# ok X -> active# X, active# s X -> active# X) (top# ok X -> active# X, active# U53 X -> U53# active X) (top# ok X -> active# X, active# U53 X -> active# X) (top# ok X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (top# ok X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (top# ok X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (top# ok X -> active# X, active# U51(X1, X2, X3) -> active# X1) (top# ok X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (top# ok X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (top# ok X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (top# ok X -> active# X, active# U52(X1, X2) -> active# X1) (top# ok X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (top# ok X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (top# ok X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (top# ok X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (top# ok X -> active# X, active# isNatIList V -> isNatIListKind# V) (top# ok X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (top# ok X -> active# X, active# U43 X -> U43# active X) (top# ok X -> active# X, active# U43 X -> active# X) (top# ok X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (top# ok X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (top# ok X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (top# ok X -> active# X, active# U41(X1, X2, X3) -> active# X1) (top# ok X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (top# ok X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (top# ok X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (top# ok X -> active# X, active# U42(X1, X2) -> active# X1) (top# ok X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (top# ok X -> active# X, active# U31(tt(), V) -> isNatList# V) (top# ok X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (top# ok X -> active# X, active# U31(X1, X2) -> active# X1) (top# ok X -> active# X, active# U32 X -> U32# active X) (top# ok X -> active# X, active# U32 X -> active# X) (top# ok X -> active# X, active# U21(tt(), V1) -> isNat# V1) (top# ok X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (top# ok X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (top# ok X -> active# X, active# U21(X1, X2) -> active# X1) (top# ok X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (top# ok X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (top# ok X -> active# X, active# isNat s V1 -> isNatKind# V1) (top# ok X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (top# ok X -> active# X, active# U22 X -> U22# active X) (top# ok X -> active# X, active# U22 X -> active# X) (top# ok X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (top# ok X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (top# ok X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (top# ok X -> active# X, active# U11(X1, X2) -> active# X1) (top# ok X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (top# ok X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (top# ok X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (top# ok X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (top# ok X -> active# X, active# U12 X -> U12# active X) (top# ok X -> active# X, active# U12 X -> active# X) (top# ok X -> active# X, active# zeros() -> cons#(0(), zeros())) (top# ok X -> active# X, active# cons(X1, X2) -> active# X1) (top# ok X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# length cons(N, L) -> isNatIListKind# L, isNatIListKind# ok X -> isNatIListKind# X) (active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), and#(ok X1, ok X2) -> and#(X1, X2)) (active# U42(tt(), V2) -> isNatIList# V2, isNatIList# ok X -> isNatIList# X) (active# U52(tt(), V2) -> isNatList# V2, isNatList# ok X -> isNatList# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatIListKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# length X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# length X -> length# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# s X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U53 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U53 X -> U53# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatIList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatIList X -> isNatIList# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> U43# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U32 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U32 X -> U32# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U22 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U22 X -> U22# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNatList X -> isNatList# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U12 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U12 X -> U12# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (active# U31(tt(), V) -> isNatList# V, isNatList# ok X -> isNatList# X) (proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (active# isNatIList V -> isNatIListKind# V, isNatIListKind# ok X -> isNatIListKind# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# cons(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U12 X -> U12# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U12 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatList X -> isNatList# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U22 X -> U22# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U22 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNat X -> isNat# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNat X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U32 X -> U32# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U32 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X3, proper# U43 X -> U43# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U43 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatIList X -> isNatIList# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatIList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> U53# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# s X -> s# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# s X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# length X -> length# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# length X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatIListKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatKind X -> isNatKind# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNatKind X -> proper# X) (active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2, isNatIListKind# ok X -> isNatIListKind# X) (active# isNatIList cons(V1, V2) -> isNatIListKind# V2, isNatIListKind# ok X -> isNatIListKind# X) (active# isNatList cons(V1, V2) -> isNatIListKind# V2, isNatIListKind# ok X -> isNatIListKind# X) (active# U61(tt(), L) -> length# L, length# mark X -> length# X) (active# U61(tt(), L) -> length# L, length# ok X -> length# X) (active# length cons(N, L) -> isNatList# L, isNatList# ok X -> isNatList# X) (top# mark X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (top# mark X -> proper# X, proper# cons(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# cons(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U12 X -> U12# proper X) (top# mark X -> proper# X, proper# U12 X -> proper# X) (top# mark X -> proper# X, proper# isNatList X -> isNatList# proper X) (top# mark X -> proper# X, proper# isNatList X -> proper# X) (top# mark X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U11(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U11(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U22 X -> U22# proper X) (top# mark X -> proper# X, proper# U22 X -> proper# X) (top# mark X -> proper# X, proper# isNat X -> isNat# proper X) (top# mark X -> proper# X, proper# isNat X -> proper# X) (top# mark X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U21(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U21(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U32 X -> U32# proper X) (top# mark X -> proper# X, proper# U32 X -> proper# X) (top# mark X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U31(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U31(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U42(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U42(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (top# mark X -> proper# X, proper# U43 X -> U43# proper X) (top# mark X -> proper# X, proper# U43 X -> proper# X) (top# mark X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (top# mark X -> proper# X, proper# isNatIList X -> proper# X) (top# mark X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U52(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U52(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (top# mark X -> proper# X, proper# U53 X -> U53# proper X) (top# mark X -> proper# X, proper# U53 X -> proper# X) (top# mark X -> proper# X, proper# s X -> s# proper X) (top# mark X -> proper# X, proper# s X -> proper# X) (top# mark X -> proper# X, proper# length X -> length# proper X) (top# mark X -> proper# X, proper# length X -> proper# X) (top# mark X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U61(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U61(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (top# mark X -> proper# X, proper# and(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# and(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (top# mark X -> proper# X, proper# isNatIListKind X -> proper# X) (top# mark X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (top# mark X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNatIListKind X -> proper# X, proper# U12 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNatIListKind X -> proper# X, proper# isNatList X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNatIListKind X -> proper# X, proper# U22 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNatIListKind X -> proper# X, proper# isNat X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNatIListKind X -> proper# X, proper# U32 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNatIListKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNatIListKind X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNatIListKind X -> proper# X, proper# U43 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNatIListKind X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNatIListKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNatIListKind X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNatIListKind X -> proper# X, proper# U53 X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# s X -> s# proper X) (proper# isNatIListKind X -> proper# X, proper# s X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# length X -> length# proper X) (proper# isNatIListKind X -> proper# X, proper# length X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNatIListKind X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNatIListKind X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNatIListKind X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNatIListKind X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNatIListKind X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNatIListKind X -> proper# X, proper# isNatKind X -> proper# X) (proper# s X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# s X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U12 X -> U12# proper X) (proper# s X -> proper# X, proper# U12 X -> proper# X) (proper# s X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# s X -> proper# X, proper# isNatList X -> proper# X) (proper# s X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U22 X -> U22# proper X) (proper# s X -> proper# X, proper# U22 X -> proper# X) (proper# s X -> proper# X, proper# isNat X -> isNat# proper X) (proper# s X -> proper# X, proper# isNat X -> proper# X) (proper# s X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U32 X -> U32# proper X) (proper# s X -> proper# X, proper# U32 X -> proper# X) (proper# s X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# s X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# s X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# s X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# s X -> proper# X, proper# U43 X -> U43# proper X) (proper# s X -> proper# X, proper# U43 X -> proper# X) (proper# s X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# s X -> proper# X, proper# isNatIList X -> proper# X) (proper# s X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# s X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# s X -> proper# X, proper# U53 X -> U53# proper X) (proper# s X -> proper# X, proper# U53 X -> proper# X) (proper# s X -> proper# X, proper# s X -> s# proper X) (proper# s X -> proper# X, proper# s X -> proper# X) (proper# s X -> proper# X, proper# length X -> length# proper X) (proper# s X -> proper# X, proper# length X -> proper# X) (proper# s X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# s X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# s X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# s X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# s X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# s X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# s X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# s X -> proper# X, proper# isNatKind X -> proper# X) (proper# isNatIList X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNatIList X -> proper# X, proper# U12 X -> proper# X) (proper# isNatIList X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# isNatIList X -> proper# X, proper# isNatList X -> proper# X) (proper# isNatIList X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNatIList X -> proper# X, proper# U22 X -> proper# X) (proper# isNatIList X -> proper# X, proper# isNat X -> isNat# proper X) (proper# isNatIList X -> proper# X, proper# isNat X -> proper# X) (proper# isNatIList X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNatIList X -> proper# X, proper# U32 X -> proper# X) (proper# isNatIList X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNatIList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNatIList X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNatIList X -> proper# X, proper# U43 X -> proper# X) (proper# isNatIList X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# isNatIList X -> proper# X, proper# isNatIList X -> proper# X) (proper# isNatIList X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNatIList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNatIList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNatIList X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNatIList X -> proper# X, proper# U53 X -> proper# X) (proper# isNatIList X -> proper# X, proper# s X -> s# proper X) (proper# isNatIList X -> proper# X, proper# s X -> proper# X) (proper# isNatIList X -> proper# X, proper# length X -> length# proper X) (proper# isNatIList X -> proper# X, proper# length X -> proper# X) (proper# isNatIList X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNatIList X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNatIList X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNatIList X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# isNatIList X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# isNatIList X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# isNatIList X -> proper# X, proper# isNatKind X -> proper# X) (proper# U32 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U32 X -> proper# X, proper# U12 X -> proper# X) (proper# U32 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U32 X -> proper# X, proper# isNatList X -> proper# X) (proper# U32 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U32 X -> proper# X, proper# U22 X -> proper# X) (proper# U32 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U32 X -> proper# X, proper# isNat X -> proper# X) (proper# U32 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U32 X -> proper# X, proper# U32 X -> proper# X) (proper# U32 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U32 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U32 X -> proper# X, proper# U43 X -> proper# X) (proper# U32 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U32 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U32 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U32 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U32 X -> proper# X, proper# U53 X -> proper# X) (proper# U32 X -> proper# X, proper# s X -> s# proper X) (proper# U32 X -> proper# X, proper# s X -> proper# X) (proper# U32 X -> proper# X, proper# length X -> length# proper X) (proper# U32 X -> proper# X, proper# length X -> proper# X) (proper# U32 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U32 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U32 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U32 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U22 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U22 X -> proper# X, proper# U12 X -> proper# X) (proper# U22 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U22 X -> proper# X, proper# isNatList X -> proper# X) (proper# U22 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U22 X -> proper# X, proper# U22 X -> proper# X) (proper# U22 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U22 X -> proper# X, proper# isNat X -> proper# X) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U22 X -> proper# X, proper# U32 X -> proper# X) (proper# U22 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U22 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U22 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U22 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U22 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U22 X -> proper# X, proper# U43 X -> proper# X) (proper# U22 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U22 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U22 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U22 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U22 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U22 X -> proper# X, proper# U53 X -> proper# X) (proper# U22 X -> proper# X, proper# s X -> s# proper X) (proper# U22 X -> proper# X, proper# s X -> proper# X) (proper# U22 X -> proper# X, proper# length X -> length# proper X) (proper# U22 X -> proper# X, proper# length X -> proper# X) (proper# U22 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U22 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U22 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U22 X -> proper# X, proper# isNatKind X -> proper# X) (proper# U12 X -> proper# X, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# cons(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# cons(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U12 X -> proper# X, proper# U12 X -> proper# X) (proper# U12 X -> proper# X, proper# isNatList X -> isNatList# proper X) (proper# U12 X -> proper# X, proper# isNatList X -> proper# X) (proper# U12 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U12 X -> proper# X, proper# U22 X -> proper# X) (proper# U12 X -> proper# X, proper# isNat X -> isNat# proper X) (proper# U12 X -> proper# X, proper# isNat X -> proper# X) (proper# U12 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U12 X -> proper# X, proper# U32 X -> proper# X) (proper# U12 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U12 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U12 X -> proper# X, proper# U43 X -> proper# X) (proper# U12 X -> proper# X, proper# isNatIList X -> isNatIList# proper X) (proper# U12 X -> proper# X, proper# isNatIList X -> proper# X) (proper# U12 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U12 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U12 X -> proper# X, proper# U53 X -> proper# X) (proper# U12 X -> proper# X, proper# s X -> s# proper X) (proper# U12 X -> proper# X, proper# s X -> proper# X) (proper# U12 X -> proper# X, proper# length X -> length# proper X) (proper# U12 X -> proper# X, proper# length X -> proper# X) (proper# U12 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U12 X -> proper# X, proper# isNatIListKind X -> proper# X) (proper# U12 X -> proper# X, proper# isNatKind X -> isNatKind# proper X) (proper# U12 X -> proper# X, proper# isNatKind X -> proper# X) (isNatIListKind# ok X -> isNatIListKind# X, isNatIListKind# ok X -> isNatIListKind# X) (length# mark X -> length# X, length# mark X -> length# X) (length# mark X -> length# X, length# ok X -> length# X) (s# mark X -> s# X, s# mark X -> s# X) (s# mark X -> s# X, s# ok X -> s# X) (U53# mark X -> U53# X, U53# mark X -> U53# X) (U53# mark X -> U53# X, U53# ok X -> U53# X) (U43# ok X -> U43# X, U43# mark X -> U43# X) (U43# ok X -> U43# X, U43# ok X -> U43# X) (U32# ok X -> U32# X, U32# mark X -> U32# X) (U32# ok X -> U32# X, U32# ok X -> U32# X) (isNat# ok X -> isNat# X, isNat# ok X -> isNat# X) (U22# mark X -> U22# X, U22# mark X -> U22# X) (U22# mark X -> U22# X, U22# ok X -> U22# X) (U12# ok X -> U12# X, U12# mark X -> U12# X) (U12# ok X -> U12# X, U12# ok X -> U12# X) (active# length X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# length X -> active# X, active# cons(X1, X2) -> active# X1) (active# length X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# length X -> active# X, active# U12 X -> active# X) (active# length X -> active# X, active# U12 X -> U12# active X) (active# length X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# length X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# length X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# length X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# length X -> active# X, active# U11(X1, X2) -> active# X1) (active# length X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# length X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# length X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# length X -> active# X, active# U22 X -> active# X) (active# length X -> active# X, active# U22 X -> U22# active X) (active# length X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# length X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# length X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# length X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# length X -> active# X, active# U21(X1, X2) -> active# X1) (active# length X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# length X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# length X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# length X -> active# X, active# U32 X -> active# X) (active# length X -> active# X, active# U32 X -> U32# active X) (active# length X -> active# X, active# U31(X1, X2) -> active# X1) (active# length X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# length X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# length X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# length X -> active# X, active# U42(X1, X2) -> active# X1) (active# length X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# length X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# length X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# length X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# length X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# length X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# length X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# length X -> active# X, active# U43 X -> active# X) (active# length X -> active# X, active# U43 X -> U43# active X) (active# length X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# length X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# length X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# length X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# length X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# length X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# length X -> active# X, active# U52(X1, X2) -> active# X1) (active# length X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# length X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# length X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# length X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# length X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# length X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# length X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# length X -> active# X, active# U53 X -> active# X) (active# length X -> active# X, active# U53 X -> U53# active X) (active# length X -> active# X, active# s X -> active# X) (active# length X -> active# X, active# s X -> s# active X) (active# length X -> active# X, active# length X -> active# X) (active# length X -> active# X, active# length X -> length# active X) (active# length X -> active# X, active# length cons(N, L) -> isNatList# L) (active# length X -> active# X, active# length cons(N, L) -> isNat# N) (active# length X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# length X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# length X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# length X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# length X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# length X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# length X -> active# X, active# U61(X1, X2) -> active# X1) (active# length X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# length X -> active# X, active# U61(tt(), L) -> s# length L) (active# length X -> active# X, active# U61(tt(), L) -> length# L) (active# length X -> active# X, active# and(X1, X2) -> active# X1) (active# length X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# length X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# length X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# length X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# length X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# length X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U53 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U53 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U53 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U53 X -> active# X, active# U12 X -> active# X) (active# U53 X -> active# X, active# U12 X -> U12# active X) (active# U53 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U53 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U53 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U53 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U53 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U53 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U53 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U53 X -> active# X, active# U22 X -> active# X) (active# U53 X -> active# X, active# U22 X -> U22# active X) (active# U53 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U53 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U53 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U53 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U53 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U53 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U53 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U53 X -> active# X, active# U32 X -> active# X) (active# U53 X -> active# X, active# U32 X -> U32# active X) (active# U53 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U53 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U53 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U53 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U53 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U53 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U53 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U53 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U53 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U53 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U53 X -> active# X, active# U43 X -> active# X) (active# U53 X -> active# X, active# U43 X -> U43# active X) (active# U53 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U53 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U53 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U53 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U53 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U53 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U53 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U53 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U53 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U53 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U53 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U53 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U53 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U53 X -> active# X, active# U53 X -> active# X) (active# U53 X -> active# X, active# U53 X -> U53# active X) (active# U53 X -> active# X, active# s X -> active# X) (active# U53 X -> active# X, active# s X -> s# active X) (active# U53 X -> active# X, active# length X -> active# X) (active# U53 X -> active# X, active# length X -> length# active X) (active# U53 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U53 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U53 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U53 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U53 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U53 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U53 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U53 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U53 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U53 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U53 X -> active# X, active# U61(tt(), L) -> length# L) (active# U53 X -> active# X, active# and(X1, X2) -> active# X1) (active# U53 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U53 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U53 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U53 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U53 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U53 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U32 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U32 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U32 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U32 X -> active# X, active# U12 X -> active# X) (active# U32 X -> active# X, active# U12 X -> U12# active X) (active# U32 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U32 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U32 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U32 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U32 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U32 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U32 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U32 X -> active# X, active# U22 X -> active# X) (active# U32 X -> active# X, active# U22 X -> U22# active X) (active# U32 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U32 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U32 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U32 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U32 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U32 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U32 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U32 X -> active# X, active# U32 X -> active# X) (active# U32 X -> active# X, active# U32 X -> U32# active X) (active# U32 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U32 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U32 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U32 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U32 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U32 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U32 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U32 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U32 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U32 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U32 X -> active# X, active# U43 X -> active# X) (active# U32 X -> active# X, active# U43 X -> U43# active X) (active# U32 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U32 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U32 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U32 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U32 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U32 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U32 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U32 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U32 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U32 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U32 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U32 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U32 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U32 X -> active# X, active# U53 X -> active# X) (active# U32 X -> active# X, active# U53 X -> U53# active X) (active# U32 X -> active# X, active# s X -> active# X) (active# U32 X -> active# X, active# s X -> s# active X) (active# U32 X -> active# X, active# length X -> active# X) (active# U32 X -> active# X, active# length X -> length# active X) (active# U32 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U32 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U32 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U32 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U32 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U32 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U32 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U32 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U32 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U32 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U32 X -> active# X, active# U61(tt(), L) -> length# L) (active# U32 X -> active# X, active# and(X1, X2) -> active# X1) (active# U32 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U32 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U32 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U32 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U32 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U32 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (active# U12 X -> active# X, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U12 X -> active# X, active# cons(X1, X2) -> active# X1) (active# U12 X -> active# X, active# zeros() -> cons#(0(), zeros())) (active# U12 X -> active# X, active# U12 X -> active# X) (active# U12 X -> active# X, active# U12 X -> U12# active X) (active# U12 X -> active# X, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U12 X -> active# X, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U12 X -> active# X, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U12 X -> active# X, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U12 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U12 X -> active# X, active# U11(tt(), V1) -> U12# isNatList V1) (active# U12 X -> active# X, active# U11(tt(), V1) -> isNatList# V1) (active# U12 X -> active# X, active# U22 X -> active# X) (active# U12 X -> active# X, active# U22 X -> U22# active X) (active# U12 X -> active# X, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U12 X -> active# X, active# isNat s V1 -> isNatKind# V1) (active# U12 X -> active# X, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U12 X -> active# X, active# isNat length V1 -> isNatIListKind# V1) (active# U12 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U12 X -> active# X, active# U21(tt(), V1) -> U22# isNat V1) (active# U12 X -> active# X, active# U21(tt(), V1) -> isNat# V1) (active# U12 X -> active# X, active# U32 X -> active# X) (active# U12 X -> active# X, active# U32 X -> U32# active X) (active# U12 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U12 X -> active# X, active# U31(tt(), V) -> isNatList# V) (active# U12 X -> active# X, active# U31(tt(), V) -> U32# isNatList V) (active# U12 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U12 X -> active# X, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U12 X -> active# X, active# U42(tt(), V2) -> isNatIList# V2) (active# U12 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U12 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U12 X -> active# X, active# U41(tt(), V1, V2) -> isNat# V1) (active# U12 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U12 X -> active# X, active# U43 X -> active# X) (active# U12 X -> active# X, active# U43 X -> U43# active X) (active# U12 X -> active# X, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U12 X -> active# X, active# isNatIList V -> isNatIListKind# V) (active# U12 X -> active# X, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U12 X -> active# X, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U12 X -> active# X, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U12 X -> active# X, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U12 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U12 X -> active# X, active# U52(tt(), V2) -> isNatList# V2) (active# U12 X -> active# X, active# U52(tt(), V2) -> U53# isNatList V2) (active# U12 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U12 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U12 X -> active# X, active# U51(tt(), V1, V2) -> isNat# V1) (active# U12 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U12 X -> active# X, active# U53 X -> active# X) (active# U12 X -> active# X, active# U53 X -> U53# active X) (active# U12 X -> active# X, active# s X -> active# X) (active# U12 X -> active# X, active# s X -> s# active X) (active# U12 X -> active# X, active# length X -> active# X) (active# U12 X -> active# X, active# length X -> length# active X) (active# U12 X -> active# X, active# length cons(N, L) -> isNatList# L) (active# U12 X -> active# X, active# length cons(N, L) -> isNat# N) (active# U12 X -> active# X, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U12 X -> active# X, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U12 X -> active# X, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U12 X -> active# X, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U12 X -> active# X, active# length cons(N, L) -> isNatIListKind# L) (active# U12 X -> active# X, active# length cons(N, L) -> isNatKind# N) (active# U12 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U12 X -> active# X, active# U61(tt(), L) -> s# length L) (active# U12 X -> active# X, active# U61(tt(), L) -> length# L) (active# U12 X -> active# X, active# and(X1, X2) -> active# X1) (active# U12 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U12 X -> active# X, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U12 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U12 X -> active# X, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U12 X -> active# X, active# isNatKind s V1 -> isNatKind# V1) (active# U12 X -> active# X, active# isNatKind length V1 -> isNatIListKind# V1) (proper# U61(X1, X2) -> U61#(proper X1, proper X2), U61#(mark X1, X2) -> U61#(X1, X2)) (proper# U61(X1, X2) -> U61#(proper X1, proper X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (proper# U42(X1, X2) -> U42#(proper X1, proper X2), U42#(mark X1, X2) -> U42#(X1, X2)) (proper# U42(X1, X2) -> U42#(proper X1, proper X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (proper# U21(X1, X2) -> U21#(proper X1, proper X2), U21#(mark X1, X2) -> U21#(X1, X2)) (proper# U21(X1, X2) -> U21#(proper X1, proper X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (proper# cons(X1, X2) -> cons#(proper X1, proper X2), cons#(mark X1, X2) -> cons#(X1, X2)) (proper# cons(X1, X2) -> cons#(proper X1, proper X2), cons#(ok X1, ok X2) -> cons#(X1, X2)) (active# length cons(N, L) -> and#(isNat N, isNatKind N), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNat length V1 -> U11#(isNatIListKind V1, V1), U11#(ok X1, ok X2) -> U11#(X1, X2)) (active# isNatIList V -> U31#(isNatIListKind V, V), U31#(ok X1, ok X2) -> U31#(X1, X2)) (active# U41(tt(), V1, V2) -> U42#(isNat V1, V2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (and#(ok X1, ok X2) -> and#(X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (and#(ok X1, ok X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (U61#(ok X1, ok X2) -> U61#(X1, X2), U61#(mark X1, X2) -> U61#(X1, X2)) (U61#(ok X1, ok X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (U52#(ok X1, ok X2) -> U52#(X1, X2), U52#(mark X1, X2) -> U52#(X1, X2)) (U52#(ok X1, ok X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (U42#(ok X1, ok X2) -> U42#(X1, X2), U42#(mark X1, X2) -> U42#(X1, X2)) (U42#(ok X1, ok X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (U31#(ok X1, ok X2) -> U31#(X1, X2), U31#(mark X1, X2) -> U31#(X1, X2)) (U31#(ok X1, ok X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (U21#(ok X1, ok X2) -> U21#(X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (U21#(ok X1, ok X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (U11#(ok X1, ok X2) -> U11#(X1, X2), U11#(mark X1, X2) -> U11#(X1, X2)) (U11#(ok X1, ok X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (cons#(ok X1, ok X2) -> cons#(X1, X2), cons#(mark X1, X2) -> cons#(X1, X2)) (cons#(ok X1, ok X2) -> cons#(X1, X2), cons#(ok X1, ok X2) -> cons#(X1, X2)) (active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (active# length cons(N, L) -> isNatKind# N, isNatKind# ok X -> isNatKind# X) (active# U21(tt(), V1) -> U22# isNat V1, U22# ok X -> U22# X) (active# U31(tt(), V) -> U32# isNatList V, U32# ok X -> U32# X) (active# U42(tt(), V2) -> U43# isNatIList V2, U43# ok X -> U43# X) (top# ok X -> top# active X, top# mark X -> proper# X) (top# ok X -> top# active X, top# mark X -> top# proper X) (top# ok X -> top# active X, top# ok X -> active# X) (top# ok X -> top# active X, top# ok X -> top# active X) (proper# isNatKind X -> isNatKind# proper X, isNatKind# ok X -> isNatKind# X) (proper# length X -> length# proper X, length# mark X -> length# X) (proper# length X -> length# proper X, length# ok X -> length# X) (proper# U53 X -> U53# proper X, U53# mark X -> U53# X) (proper# U53 X -> U53# proper X, U53# ok X -> U53# X) (proper# U43 X -> U43# proper X, U43# mark X -> U43# X) (proper# U43 X -> U43# proper X, U43# ok X -> U43# X) (proper# isNat X -> isNat# proper X, isNat# ok X -> isNat# X) (proper# isNatList X -> isNatList# proper X, isNatList# ok X -> isNatList# X) (active# length X -> length# active X, length# mark X -> length# X) (active# length X -> length# active X, length# ok X -> length# X) (active# U53 X -> U53# active X, U53# mark X -> U53# X) (active# U53 X -> U53# active X, U53# ok X -> U53# X) (active# U32 X -> U32# active X, U32# mark X -> U32# X) (active# U32 X -> U32# active X, U32# ok X -> U32# X) (active# U12 X -> U12# active X, U12# mark X -> U12# X) (active# U12 X -> U12# active X, U12# ok X -> U12# X) (active# U61(X1, X2) -> U61#(active X1, X2), U61#(mark X1, X2) -> U61#(X1, X2)) (active# U61(X1, X2) -> U61#(active X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (active# U42(X1, X2) -> U42#(active X1, X2), U42#(mark X1, X2) -> U42#(X1, X2)) (active# U42(X1, X2) -> U42#(active X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (active# U21(X1, X2) -> U21#(active X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (active# U21(X1, X2) -> U21#(active X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (active# cons(X1, X2) -> cons#(active X1, X2), cons#(mark X1, X2) -> cons#(X1, X2)) (active# cons(X1, X2) -> cons#(active X1, X2), cons#(ok X1, ok X2) -> cons#(X1, X2)) (proper# U61(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U61(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U61(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U52(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U52(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U42(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U42(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# U21(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# U21(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# isNatList X -> isNatList# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNatList X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# isNat X -> isNat# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNat X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# cons(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# cons(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# isNatIList X -> isNatIList# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNatIList X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# cons(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# cons(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# cons(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# s X -> s# proper X) (proper# cons(X1, X2) -> proper# X1, proper# s X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# length X -> length# proper X) (proper# cons(X1, X2) -> proper# X1, proper# length X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X1, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNatIListKind X -> proper# X) (proper# cons(X1, X2) -> proper# X1, proper# isNatKind X -> isNatKind# proper X) (proper# cons(X1, X2) -> proper# X1, proper# isNatKind X -> proper# X) (active# U61(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U61(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U61(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U61(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U61(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U61(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U61(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U61(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U61(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U61(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U61(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U61(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U61(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U61(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U61(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U61(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U61(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U61(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U61(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U61(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U61(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U61(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U61(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U61(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U61(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U61(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U61(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U61(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U61(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U61(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U61(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U61(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U61(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U61(X1, X2) -> active# X1, active# s X -> active# X) (active# U61(X1, X2) -> active# X1, active# s X -> s# active X) (active# U61(X1, X2) -> active# X1, active# length X -> active# X) (active# U61(X1, X2) -> active# X1, active# length X -> length# active X) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U61(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U61(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U61(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U61(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U61(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U61(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U61(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U52(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U52(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U52(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U52(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U52(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U52(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U52(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U52(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U52(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U52(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U52(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U52(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U52(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U52(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U52(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U52(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U52(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U52(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U52(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U52(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U52(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U52(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U52(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U52(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U52(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U52(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U52(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U52(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U52(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U52(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U52(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U52(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U52(X1, X2) -> active# X1, active# s X -> active# X) (active# U52(X1, X2) -> active# X1, active# s X -> s# active X) (active# U52(X1, X2) -> active# X1, active# length X -> active# X) (active# U52(X1, X2) -> active# X1, active# length X -> length# active X) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U52(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U52(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U52(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U52(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U52(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U52(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U52(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U42(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U42(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U42(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U42(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U42(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U42(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U42(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U42(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U42(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U42(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U42(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U42(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U42(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U42(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U42(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U42(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U42(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U42(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U42(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U42(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U42(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U42(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U42(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U42(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U42(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U42(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U42(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U42(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U42(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U42(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U42(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U42(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U42(X1, X2) -> active# X1, active# s X -> active# X) (active# U42(X1, X2) -> active# X1, active# s X -> s# active X) (active# U42(X1, X2) -> active# X1, active# length X -> active# X) (active# U42(X1, X2) -> active# X1, active# length X -> length# active X) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U42(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U42(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U42(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U42(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U42(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U42(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U42(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# U21(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# U21(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U21(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U21(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U21(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# U21(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# U21(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# U21(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U21(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# U21(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# U21(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# U21(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# U21(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# U21(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U21(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# U21(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# U21(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# U21(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# U21(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U21(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# U21(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# U21(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U21(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# U21(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# U21(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# U21(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U21(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# U21(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# U21(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# U21(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U21(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# U21(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# U21(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U21(X1, X2) -> active# X1, active# s X -> active# X) (active# U21(X1, X2) -> active# X1, active# s X -> s# active X) (active# U21(X1, X2) -> active# X1, active# length X -> active# X) (active# U21(X1, X2) -> active# X1, active# length X -> length# active X) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# U21(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# U21(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# U21(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# U21(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# U21(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# U21(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# U21(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# cons(X1, X2) -> active# X1, active# cons(X1, X2) -> cons#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# cons(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# zeros() -> cons#(0(), zeros())) (active# cons(X1, X2) -> active# X1, active# U12 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# cons(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> U51#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# cons(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# cons(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatIListKind# V2) (active# cons(X1, X2) -> active# X1, active# isNatList cons(V1, V2) -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U11(tt(), V1) -> U12# isNatList V1) (active# cons(X1, X2) -> active# X1, active# U11(tt(), V1) -> isNatList# V1) (active# cons(X1, X2) -> active# X1, active# U22 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# cons(X1, X2) -> active# X1, active# isNat s V1 -> U21#(isNatKind V1, V1)) (active# cons(X1, X2) -> active# X1, active# isNat s V1 -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# isNat length V1 -> U11#(isNatIListKind V1, V1)) (active# cons(X1, X2) -> active# X1, active# isNat length V1 -> isNatIListKind# V1) (active# cons(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U21(tt(), V1) -> U22# isNat V1) (active# cons(X1, X2) -> active# X1, active# U21(tt(), V1) -> isNat# V1) (active# cons(X1, X2) -> active# X1, active# U32 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# cons(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U31(tt(), V) -> isNatList# V) (active# cons(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isNatList V) (active# cons(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNatIList V2) (active# cons(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNatIList# V2) (active# cons(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# cons(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isNat# V1) (active# cons(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isNat V1, V2)) (active# cons(X1, X2) -> active# X1, active# U43 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# cons(X1, X2) -> active# X1, active# isNatIList V -> U31#(isNatIListKind V, V)) (active# cons(X1, X2) -> active# X1, active# isNatIList V -> isNatIListKind# V) (active# cons(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> U41#(and(isNatKind V1, isNatIListKind V2), V1, V2)) (active# cons(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# cons(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatIListKind# V2) (active# cons(X1, X2) -> active# X1, active# isNatIList cons(V1, V2) -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U52(tt(), V2) -> isNatList# V2) (active# cons(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isNatList V2) (active# cons(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# cons(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNat# V1) (active# cons(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNat V1, V2)) (active# cons(X1, X2) -> active# X1, active# U53 X -> active# X) (active# cons(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# cons(X1, X2) -> active# X1, active# s X -> active# X) (active# cons(X1, X2) -> active# X1, active# s X -> s# active X) (active# cons(X1, X2) -> active# X1, active# length X -> active# X) (active# cons(X1, X2) -> active# X1, active# length X -> length# active X) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> isNatList# L) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> isNat# N) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> U61#(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L)) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNatList L, isNatIListKind L)) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> and#(isNat N, isNatKind N)) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> and#(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N))) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> isNatIListKind# L) (active# cons(X1, X2) -> active# X1, active# length cons(N, L) -> isNatKind# N) (active# cons(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# U61(tt(), L) -> s# length L) (active# cons(X1, X2) -> active# X1, active# U61(tt(), L) -> length# L) (active# cons(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# cons(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# cons(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> and#(isNatKind V1, isNatIListKind V2)) (active# cons(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatIListKind# V2) (active# cons(X1, X2) -> active# X1, active# isNatIListKind cons(V1, V2) -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# isNatKind s V1 -> isNatKind# V1) (active# cons(X1, X2) -> active# X1, active# isNatKind length V1 -> isNatIListKind# V1) (active# isNatKind s V1 -> isNatKind# V1, isNatKind# ok X -> isNatKind# X) (active# U51(tt(), V1, V2) -> isNat# V1, isNat# ok X -> isNat# X) (active# U41(tt(), V1, V2) -> isNat# V1, isNat# ok X -> isNat# X) (active# isNat length V1 -> isNatIListKind# V1, isNatIListKind# ok X -> isNatIListKind# X) (active# U11(tt(), V1) -> isNatList# V1, isNatList# ok X -> isNatList# X) (U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (active# U41(X1, X2, X3) -> U41#(active X1, X2, X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (active# U41(X1, X2, X3) -> U41#(active X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (proper# U61(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U61(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U61(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U52(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U52(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U42(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U42(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# U21(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# U21(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# cons(X1, X2) -> cons#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# cons(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# isNatList X -> isNatList# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNatList X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# isNat X -> isNat# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNat X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# cons(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# cons(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# isNatIList X -> isNatIList# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNatIList X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# cons(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# cons(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# cons(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# s X -> s# proper X) (proper# cons(X1, X2) -> proper# X2, proper# s X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# length X -> length# proper X) (proper# cons(X1, X2) -> proper# X2, proper# length X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# cons(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# cons(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# cons(X1, X2) -> proper# X2, proper# isNatIListKind X -> isNatIListKind# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X) (proper# cons(X1, X2) -> proper# X2, proper# isNatKind X -> isNatKind# proper X) (proper# cons(X1, X2) -> proper# X2, proper# isNatKind X -> proper# X) } STATUS: arrows: 0.886272 SCCS (25): Scc: {top# mark X -> top# proper X, top# ok X -> top# active X} Scc: { active# cons(X1, X2) -> active# X1, active# U12 X -> active# X, active# U11(X1, X2) -> active# X1, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U32 X -> active# X, active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1, active# U43 X -> active# X, active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1, active# U53 X -> active# X, active# s X -> active# X, active# length X -> active# X, active# U61(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1} Scc: { proper# cons(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2, proper# U12 X -> proper# X, proper# isNatList X -> proper# X, proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2, proper# U22 X -> proper# X, proper# isNat X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U32 X -> proper# X, proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> proper# X, proper# isNatIList X -> proper# X, proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> proper# X, proper# s X -> proper# X, proper# length X -> proper# X, proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X, proper# isNatKind X -> proper# X} Scc: {isNatKind# ok X -> isNatKind# X} Scc: {isNatIListKind# ok X -> isNatIListKind# X} Scc: { and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)} Scc: { U61#(mark X1, X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)} Scc: {length# mark X -> length# X, length# ok X -> length# X} Scc: {s# mark X -> s# X, s# ok X -> s# X} Scc: {U53# mark X -> U53# X, U53# ok X -> U53# X} Scc: { U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)} Scc: { U52#(mark X1, X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)} Scc: {isNatIList# ok X -> isNatIList# X} Scc: {U43# mark X -> U43# X, U43# ok X -> U43# X} Scc: { U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)} Scc: { U42#(mark X1, X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)} Scc: { U31#(mark X1, X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)} Scc: {U32# mark X -> U32# X, U32# ok X -> U32# X} Scc: { U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)} Scc: {isNat# ok X -> isNat# X} Scc: {U22# mark X -> U22# X, U22# ok X -> U22# X} Scc: { U11#(mark X1, X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)} Scc: {isNatList# ok X -> isNatList# X} Scc: {U12# mark X -> U12# X, U12# ok X -> U12# X} Scc: { cons#(mark X1, X2) -> cons#(X1, X2), cons#(ok X1, ok X2) -> cons#(X1, X2)} SCC (2): Strict: {top# mark X -> top# proper X, top# ok X -> top# active X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (17): Strict: { active# cons(X1, X2) -> active# X1, active# U12 X -> active# X, active# U11(X1, X2) -> active# X1, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U32 X -> active# X, active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1, active# U43 X -> active# X, active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1, active# U53 X -> active# X, active# s X -> active# X, active# length X -> active# X, active# U61(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (34): Strict: { proper# cons(X1, X2) -> proper# X1, proper# cons(X1, X2) -> proper# X2, proper# U12 X -> proper# X, proper# isNatList X -> proper# X, proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2, proper# U22 X -> proper# X, proper# isNat X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U32 X -> proper# X, proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> proper# X, proper# isNatIList X -> proper# X, proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> proper# X, proper# s X -> proper# X, proper# length X -> proper# X, proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2, proper# isNatIListKind X -> proper# X, proper# isNatKind X -> proper# X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (1): Strict: {isNatKind# ok X -> isNatKind# X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (1): Strict: {isNatIListKind# ok X -> isNatIListKind# X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U61#(mark X1, X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: {length# mark X -> length# X, length# ok X -> length# X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: {s# mark X -> s# X, s# ok X -> s# X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: {U53# mark X -> U53# X, U53# ok X -> U53# X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U52#(mark X1, X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (1): Strict: {isNatIList# ok X -> isNatIList# X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: {U43# mark X -> U43# X, U43# ok X -> U43# X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U42#(mark X1, X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U31#(mark X1, X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: {U32# mark X -> U32# X, U32# ok X -> U32# X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (1): Strict: {isNat# ok X -> isNat# X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: {U22# mark X -> U22# X, U22# ok X -> U22# X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { U11#(mark X1, X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (1): Strict: {isNatList# ok X -> isNatList# X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: {U12# mark X -> U12# X, U12# ok X -> U12# X} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open SCC (2): Strict: { cons#(mark X1, X2) -> cons#(X1, X2), cons#(ok X1, ok X2) -> cons#(X1, X2)} Weak: { cons(mark X1, X2) -> mark cons(X1, X2), cons(ok X1, ok X2) -> ok cons(X1, X2), active cons(X1, X2) -> cons(active X1, X2), active zeros() -> mark cons(0(), zeros()), active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNatList cons(V1, V2) -> mark U51(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatList nil() -> mark tt(), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V1) -> mark U12 isNatList V1, active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isNat 0() -> mark tt(), active isNat s V1 -> mark U21(isNatKind V1, V1), active isNat length V1 -> mark U11(isNatIListKind V1, V1), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V1) -> mark U22 isNat V1, active U32 X -> U32 active X, active U32 tt() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isNatList V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNatIList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isNat V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active isNatIList V -> mark U31(isNatIListKind V, V), active isNatIList cons(V1, V2) -> mark U41(and(isNatKind V1, isNatIListKind V2), V1, V2), active isNatIList zeros() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isNatList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNat V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active s X -> s active X, active length X -> length active X, active length cons(N, L) -> mark U61(and(and(isNatList L, isNatIListKind L), and(isNat N, isNatKind N)), L), active length nil() -> mark 0(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), L) -> mark s length L, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isNatIListKind cons(V1, V2) -> mark and(isNatKind V1, isNatIListKind V2), active isNatIListKind zeros() -> mark tt(), active isNatIListKind nil() -> mark tt(), active isNatKind 0() -> mark tt(), active isNatKind s V1 -> mark isNatKind V1, active isNatKind length V1 -> mark isNatIListKind V1, U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNatList ok X -> ok isNatList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isNat ok X -> ok isNat X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, isNatIList ok X -> ok isNatIList X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, s mark X -> mark s X, s ok X -> ok s X, length mark X -> mark length X, length ok X -> ok length X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isNatIListKind ok X -> ok isNatIListKind X, isNatKind ok X -> ok isNatKind X, proper cons(X1, X2) -> cons(proper X1, proper X2), proper 0() -> ok 0(), proper zeros() -> ok zeros(), proper U12 X -> U12 proper X, proper isNatList X -> isNatList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22 X -> U22 proper X, proper isNat X -> isNat proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U32 X -> U32 proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper isNatIList X -> isNatIList proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper s X -> s proper X, proper length X -> length proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isNatIListKind X -> isNatIListKind proper X, proper isNatKind X -> isNatKind proper X, proper nil() -> ok nil(), top mark X -> top proper X, top ok X -> top active X} Open