0.00/0.43 YES 0.00/0.43 0.00/0.43 Problem 1: 0.00/0.43 0.00/0.43 (VAR L N V V1 V2) 0.00/0.43 (STRATEGY CONTEXTSENSITIVE 0.00/0.43 (U11 1) 0.00/0.43 (U12 1) 0.00/0.43 (U13 1) 0.00/0.43 (U21 1) 0.00/0.43 (U22 1) 0.00/0.43 (U23 1) 0.00/0.43 (U31 1) 0.00/0.43 (U32 1) 0.00/0.43 (U33 1) 0.00/0.43 (U41 1) 0.00/0.43 (U42 1) 0.00/0.43 (U43 1) 0.00/0.43 (U44 1) 0.00/0.43 (U45 1) 0.00/0.43 (U46 1) 0.00/0.43 (U51 1) 0.00/0.43 (U52 1) 0.00/0.43 (U61 1) 0.00/0.43 (U71 1) 0.00/0.43 (U81 1) 0.00/0.43 (U82 1) 0.00/0.43 (U83 1) 0.00/0.43 (U84 1) 0.00/0.43 (U85 1) 0.00/0.43 (U86 1) 0.00/0.43 (U91 1) 0.00/0.43 (U92 1) 0.00/0.43 (U93 1) 0.00/0.43 (U94 1) 0.00/0.43 (isNat) 0.00/0.43 (isNatIList) 0.00/0.43 (isNatIListKind) 0.00/0.43 (isNatKind) 0.00/0.43 (isNatList) 0.00/0.43 (length 1) 0.00/0.43 (zeros) 0.00/0.43 (0) 0.00/0.43 (cons 1) 0.00/0.43 (nil) 0.00/0.43 (s 1) 0.00/0.43 (tt) 0.00/0.43 ) 0.00/0.43 (RULES 0.00/0.43 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.43 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.43 U13(tt) -> tt 0.00/0.43 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.43 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.43 U23(tt) -> tt 0.00/0.43 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.43 U32(tt,V) -> U33(isNatList(V)) 0.00/0.43 U33(tt) -> tt 0.00/0.43 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.43 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.43 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.43 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.43 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.43 U46(tt) -> tt 0.00/0.43 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.43 U52(tt) -> tt 0.00/0.43 U61(tt) -> tt 0.00/0.43 U71(tt) -> tt 0.00/0.43 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.43 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.43 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.43 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.43 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.43 U86(tt) -> tt 0.00/0.43 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.43 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.43 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.43 U94(tt,L) -> s(length(L)) 0.00/0.43 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.43 isNat(0) -> tt 0.00/0.43 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.43 isNatIList(zeros) -> tt 0.00/0.43 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.43 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.43 isNatIListKind(zeros) -> tt 0.00/0.43 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.43 isNatIListKind(nil) -> tt 0.00/0.43 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.43 isNatKind(0) -> tt 0.00/0.43 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.43 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.43 isNatList(nil) -> tt 0.00/0.43 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.43 length(nil) -> 0 0.00/0.43 zeros -> cons(0,zeros) 0.00/0.43 ) 0.00/0.43 0.00/0.43 Problem 1: 0.00/0.43 0.00/0.43 Dependency Pairs Processor: 0.00/0.43 -> Pairs: 0.00/0.43 U11#(tt,V1) -> U12#(isNatIListKind(V1),V1) 0.00/0.43 U11#(tt,V1) -> ISNATILISTKIND(V1) 0.00/0.43 U12#(tt,V1) -> U13#(isNatList(V1)) 0.00/0.43 U12#(tt,V1) -> ISNATLIST(V1) 0.00/0.43 U21#(tt,V1) -> U22#(isNatKind(V1),V1) 0.00/0.43 U21#(tt,V1) -> ISNATKIND(V1) 0.00/0.43 U22#(tt,V1) -> U23#(isNat(V1)) 0.00/0.43 U22#(tt,V1) -> ISNAT(V1) 0.00/0.43 U31#(tt,V) -> U32#(isNatIListKind(V),V) 0.00/0.43 U31#(tt,V) -> ISNATILISTKIND(V) 0.00/0.43 U32#(tt,V) -> U33#(isNatList(V)) 0.00/0.43 U32#(tt,V) -> ISNATLIST(V) 0.00/0.43 U41#(tt,V1,V2) -> U42#(isNatKind(V1),V1,V2) 0.00/0.43 U41#(tt,V1,V2) -> ISNATKIND(V1) 0.00/0.43 U42#(tt,V1,V2) -> U43#(isNatIListKind(V2),V1,V2) 0.00/0.43 U42#(tt,V1,V2) -> ISNATILISTKIND(V2) 0.00/0.43 U43#(tt,V1,V2) -> U44#(isNatIListKind(V2),V1,V2) 0.00/0.43 U43#(tt,V1,V2) -> ISNATILISTKIND(V2) 0.00/0.43 U44#(tt,V1,V2) -> U45#(isNat(V1),V2) 0.00/0.43 U44#(tt,V1,V2) -> ISNAT(V1) 0.00/0.43 U45#(tt,V2) -> U46#(isNatIList(V2)) 0.00/0.43 U45#(tt,V2) -> ISNATILIST(V2) 0.00/0.43 U51#(tt,V2) -> U52#(isNatIListKind(V2)) 0.00/0.43 U51#(tt,V2) -> ISNATILISTKIND(V2) 0.00/0.43 U81#(tt,V1,V2) -> U82#(isNatKind(V1),V1,V2) 0.00/0.43 U81#(tt,V1,V2) -> ISNATKIND(V1) 0.00/0.43 U82#(tt,V1,V2) -> U83#(isNatIListKind(V2),V1,V2) 0.00/0.43 U82#(tt,V1,V2) -> ISNATILISTKIND(V2) 0.00/0.43 U83#(tt,V1,V2) -> U84#(isNatIListKind(V2),V1,V2) 0.00/0.43 U83#(tt,V1,V2) -> ISNATILISTKIND(V2) 0.00/0.43 U84#(tt,V1,V2) -> U85#(isNat(V1),V2) 0.00/0.43 U84#(tt,V1,V2) -> ISNAT(V1) 0.00/0.43 U85#(tt,V2) -> U86#(isNatList(V2)) 0.00/0.43 U85#(tt,V2) -> ISNATLIST(V2) 0.00/0.43 U91#(tt,L,N) -> U92#(isNatIListKind(L),L,N) 0.00/0.43 U91#(tt,L,N) -> ISNATILISTKIND(L) 0.00/0.43 U92#(tt,L,N) -> U93#(isNat(N),L,N) 0.00/0.43 U92#(tt,L,N) -> ISNAT(N) 0.00/0.43 U93#(tt,L,N) -> U94#(isNatKind(N),L) 0.00/0.43 U93#(tt,L,N) -> ISNATKIND(N) 0.00/0.43 U94#(tt,L) -> LENGTH(L) 0.00/0.43 U94#(tt,L) -> L 0.00/0.43 ISNAT(length(V1)) -> U11#(isNatIListKind(V1),V1) 0.00/0.43 ISNAT(length(V1)) -> ISNATILISTKIND(V1) 0.00/0.43 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.43 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.43 ISNATILIST(cons(V1,V2)) -> U41#(isNatKind(V1),V1,V2) 0.00/0.43 ISNATILIST(cons(V1,V2)) -> ISNATKIND(V1) 0.00/0.43 ISNATILIST(V) -> U31#(isNatIListKind(V),V) 0.00/0.43 ISNATILIST(V) -> ISNATILISTKIND(V) 0.00/0.43 ISNATILISTKIND(cons(V1,V2)) -> U51#(isNatKind(V1),V2) 0.00/0.43 ISNATILISTKIND(cons(V1,V2)) -> ISNATKIND(V1) 0.00/0.43 ISNATKIND(length(V1)) -> U61#(isNatIListKind(V1)) 0.00/0.43 ISNATKIND(length(V1)) -> ISNATILISTKIND(V1) 0.00/0.43 ISNATKIND(s(V1)) -> U71#(isNatKind(V1)) 0.00/0.43 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.43 ISNATLIST(cons(V1,V2)) -> U81#(isNatKind(V1),V1,V2) 0.00/0.43 ISNATLIST(cons(V1,V2)) -> ISNATKIND(V1) 0.00/0.43 LENGTH(cons(N,L)) -> U91#(isNatList(L),L,N) 0.00/0.43 LENGTH(cons(N,L)) -> ISNATLIST(L) 0.00/0.43 -> Rules: 0.00/0.43 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.43 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.43 U13(tt) -> tt 0.00/0.43 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.43 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.43 U23(tt) -> tt 0.00/0.43 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.43 U32(tt,V) -> U33(isNatList(V)) 0.00/0.43 U33(tt) -> tt 0.00/0.43 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.43 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.43 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.43 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.43 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.43 U46(tt) -> tt 0.00/0.43 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.43 U52(tt) -> tt 0.00/0.43 U61(tt) -> tt 0.00/0.43 U71(tt) -> tt 0.00/0.43 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.43 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.43 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.43 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.43 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.43 U86(tt) -> tt 0.00/0.43 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.43 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.43 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.43 U94(tt,L) -> s(length(L)) 0.00/0.43 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.43 isNat(0) -> tt 0.00/0.43 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.43 isNatIList(zeros) -> tt 0.00/0.43 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.43 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.43 isNatIListKind(zeros) -> tt 0.00/0.43 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.43 isNatIListKind(nil) -> tt 0.00/0.43 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.43 isNatKind(0) -> tt 0.00/0.43 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.43 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.43 isNatList(nil) -> tt 0.00/0.43 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.43 length(nil) -> 0 0.00/0.43 zeros -> cons(0,zeros) 0.00/0.43 -> Unhiding Rules: 0.00/0.43 zeros -> ZEROS 0.00/0.43 0.00/0.43 Problem 1: 0.00/0.43 0.00/0.43 SCC Processor: 0.00/0.43 -> Pairs: 0.00/0.43 U11#(tt,V1) -> U12#(isNatIListKind(V1),V1) 0.00/0.43 U11#(tt,V1) -> ISNATILISTKIND(V1) 0.00/0.43 U12#(tt,V1) -> U13#(isNatList(V1)) 0.00/0.43 U12#(tt,V1) -> ISNATLIST(V1) 0.00/0.43 U21#(tt,V1) -> U22#(isNatKind(V1),V1) 0.00/0.43 U21#(tt,V1) -> ISNATKIND(V1) 0.00/0.43 U22#(tt,V1) -> U23#(isNat(V1)) 0.00/0.43 U22#(tt,V1) -> ISNAT(V1) 0.00/0.44 U31#(tt,V) -> U32#(isNatIListKind(V),V) 0.00/0.44 U31#(tt,V) -> ISNATILISTKIND(V) 0.00/0.44 U32#(tt,V) -> U33#(isNatList(V)) 0.00/0.44 U32#(tt,V) -> ISNATLIST(V) 0.00/0.44 U41#(tt,V1,V2) -> U42#(isNatKind(V1),V1,V2) 0.00/0.44 U41#(tt,V1,V2) -> ISNATKIND(V1) 0.00/0.44 U42#(tt,V1,V2) -> U43#(isNatIListKind(V2),V1,V2) 0.00/0.44 U42#(tt,V1,V2) -> ISNATILISTKIND(V2) 0.00/0.44 U43#(tt,V1,V2) -> U44#(isNatIListKind(V2),V1,V2) 0.00/0.44 U43#(tt,V1,V2) -> ISNATILISTKIND(V2) 0.00/0.44 U44#(tt,V1,V2) -> U45#(isNat(V1),V2) 0.00/0.44 U44#(tt,V1,V2) -> ISNAT(V1) 0.00/0.44 U45#(tt,V2) -> U46#(isNatIList(V2)) 0.00/0.44 U45#(tt,V2) -> ISNATILIST(V2) 0.00/0.44 U51#(tt,V2) -> U52#(isNatIListKind(V2)) 0.00/0.44 U51#(tt,V2) -> ISNATILISTKIND(V2) 0.00/0.44 U81#(tt,V1,V2) -> U82#(isNatKind(V1),V1,V2) 0.00/0.44 U81#(tt,V1,V2) -> ISNATKIND(V1) 0.00/0.44 U82#(tt,V1,V2) -> U83#(isNatIListKind(V2),V1,V2) 0.00/0.44 U82#(tt,V1,V2) -> ISNATILISTKIND(V2) 0.00/0.44 U83#(tt,V1,V2) -> U84#(isNatIListKind(V2),V1,V2) 0.00/0.44 U83#(tt,V1,V2) -> ISNATILISTKIND(V2) 0.00/0.44 U84#(tt,V1,V2) -> U85#(isNat(V1),V2) 0.00/0.44 U84#(tt,V1,V2) -> ISNAT(V1) 0.00/0.44 U85#(tt,V2) -> U86#(isNatList(V2)) 0.00/0.44 U85#(tt,V2) -> ISNATLIST(V2) 0.00/0.44 U91#(tt,L,N) -> U92#(isNatIListKind(L),L,N) 0.00/0.44 U91#(tt,L,N) -> ISNATILISTKIND(L) 0.00/0.44 U92#(tt,L,N) -> U93#(isNat(N),L,N) 0.00/0.44 U92#(tt,L,N) -> ISNAT(N) 0.00/0.44 U93#(tt,L,N) -> U94#(isNatKind(N),L) 0.00/0.44 U93#(tt,L,N) -> ISNATKIND(N) 0.00/0.44 U94#(tt,L) -> LENGTH(L) 0.00/0.44 U94#(tt,L) -> L 0.00/0.44 ISNAT(length(V1)) -> U11#(isNatIListKind(V1),V1) 0.00/0.44 ISNAT(length(V1)) -> ISNATILISTKIND(V1) 0.00/0.44 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.44 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.44 ISNATILIST(cons(V1,V2)) -> U41#(isNatKind(V1),V1,V2) 0.00/0.44 ISNATILIST(cons(V1,V2)) -> ISNATKIND(V1) 0.00/0.44 ISNATILIST(V) -> U31#(isNatIListKind(V),V) 0.00/0.44 ISNATILIST(V) -> ISNATILISTKIND(V) 0.00/0.44 ISNATILISTKIND(cons(V1,V2)) -> U51#(isNatKind(V1),V2) 0.00/0.44 ISNATILISTKIND(cons(V1,V2)) -> ISNATKIND(V1) 0.00/0.44 ISNATKIND(length(V1)) -> U61#(isNatIListKind(V1)) 0.00/0.44 ISNATKIND(length(V1)) -> ISNATILISTKIND(V1) 0.00/0.44 ISNATKIND(s(V1)) -> U71#(isNatKind(V1)) 0.00/0.44 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.44 ISNATLIST(cons(V1,V2)) -> U81#(isNatKind(V1),V1,V2) 0.00/0.44 ISNATLIST(cons(V1,V2)) -> ISNATKIND(V1) 0.00/0.44 LENGTH(cons(N,L)) -> U91#(isNatList(L),L,N) 0.00/0.44 LENGTH(cons(N,L)) -> ISNATLIST(L) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 zeros -> ZEROS 0.00/0.44 ->Strongly Connected Components: 0.00/0.44 ->->Cycle: 0.00/0.44 ->->-> Pairs: 0.00/0.44 U51#(tt,V2) -> ISNATILISTKIND(V2) 0.00/0.44 ISNATILISTKIND(cons(V1,V2)) -> U51#(isNatKind(V1),V2) 0.00/0.44 ISNATILISTKIND(cons(V1,V2)) -> ISNATKIND(V1) 0.00/0.44 ISNATKIND(length(V1)) -> ISNATILISTKIND(V1) 0.00/0.44 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.44 ->->-> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 ->->-> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 ->->Cycle: 0.00/0.44 ->->-> Pairs: 0.00/0.44 U11#(tt,V1) -> U12#(isNatIListKind(V1),V1) 0.00/0.44 U12#(tt,V1) -> ISNATLIST(V1) 0.00/0.44 U21#(tt,V1) -> U22#(isNatKind(V1),V1) 0.00/0.44 U22#(tt,V1) -> ISNAT(V1) 0.00/0.44 U81#(tt,V1,V2) -> U82#(isNatKind(V1),V1,V2) 0.00/0.44 U82#(tt,V1,V2) -> U83#(isNatIListKind(V2),V1,V2) 0.00/0.44 U83#(tt,V1,V2) -> U84#(isNatIListKind(V2),V1,V2) 0.00/0.44 U84#(tt,V1,V2) -> U85#(isNat(V1),V2) 0.00/0.44 U84#(tt,V1,V2) -> ISNAT(V1) 0.00/0.44 U85#(tt,V2) -> ISNATLIST(V2) 0.00/0.44 ISNAT(length(V1)) -> U11#(isNatIListKind(V1),V1) 0.00/0.44 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.44 ISNATLIST(cons(V1,V2)) -> U81#(isNatKind(V1),V1,V2) 0.00/0.44 ->->-> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 ->->-> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 ->->Cycle: 0.00/0.44 ->->-> Pairs: 0.00/0.44 U41#(tt,V1,V2) -> U42#(isNatKind(V1),V1,V2) 0.00/0.44 U42#(tt,V1,V2) -> U43#(isNatIListKind(V2),V1,V2) 0.00/0.44 U43#(tt,V1,V2) -> U44#(isNatIListKind(V2),V1,V2) 0.00/0.44 U44#(tt,V1,V2) -> U45#(isNat(V1),V2) 0.00/0.44 U45#(tt,V2) -> ISNATILIST(V2) 0.00/0.44 ISNATILIST(cons(V1,V2)) -> U41#(isNatKind(V1),V1,V2) 0.00/0.44 ->->-> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 ->->-> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 ->->Cycle: 0.00/0.44 ->->-> Pairs: 0.00/0.44 U91#(tt,L,N) -> U92#(isNatIListKind(L),L,N) 0.00/0.44 U92#(tt,L,N) -> U93#(isNat(N),L,N) 0.00/0.44 U93#(tt,L,N) -> U94#(isNatKind(N),L) 0.00/0.44 U94#(tt,L) -> LENGTH(L) 0.00/0.44 LENGTH(cons(N,L)) -> U91#(isNatList(L),L,N) 0.00/0.44 ->->-> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 ->->-> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 0.00/0.44 0.00/0.44 The problem is decomposed in 4 subproblems. 0.00/0.44 0.00/0.44 Problem 1.1: 0.00/0.44 0.00/0.44 Reduction Pairs Processor: 0.00/0.44 -> Pairs: 0.00/0.44 U51#(tt,V2) -> ISNATILISTKIND(V2) 0.00/0.44 ISNATILISTKIND(cons(V1,V2)) -> U51#(isNatKind(V1),V2) 0.00/0.44 ISNATILISTKIND(cons(V1,V2)) -> ISNATKIND(V1) 0.00/0.44 ISNATKIND(length(V1)) -> ISNATILISTKIND(V1) 0.00/0.44 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 -> Usable rules: 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 ->Interpretation type: 0.00/0.44 Linear 0.00/0.44 ->Coefficients: 0.00/0.44 Natural Numbers 0.00/0.44 ->Dimension: 0.00/0.44 1 0.00/0.44 ->Bound: 0.00/0.44 2 0.00/0.44 ->Interpretation: 0.00/0.44 0.00/0.44 [U51](X1,X2) = 2 0.00/0.44 [U52](X) = 2 0.00/0.44 [U61](X) = 2.X + 1 0.00/0.44 [U71](X) = 2.X + 1 0.00/0.44 [isNatIListKind](X) = 2 0.00/0.44 [isNatKind](X) = 2.X + 2 0.00/0.44 [length](X) = 2.X + 2 0.00/0.44 [zeros] = 0 0.00/0.44 [0] = 2 0.00/0.44 [cons](X1,X2) = 2.X1 + X2 + 1 0.00/0.44 [nil] = 0 0.00/0.44 [s](X) = 2.X + 2 0.00/0.44 [tt] = 2 0.00/0.44 [U51#](X1,X2) = X1 + X2 0.00/0.44 [ISNATILISTKIND](X) = X + 1 0.00/0.44 [ISNATKIND](X) = 2.X + 1 0.00/0.44 0.00/0.44 Problem 1.1: 0.00/0.44 0.00/0.44 SCC Processor: 0.00/0.44 -> Pairs: 0.00/0.44 ISNATILISTKIND(cons(V1,V2)) -> U51#(isNatKind(V1),V2) 0.00/0.44 ISNATILISTKIND(cons(V1,V2)) -> ISNATKIND(V1) 0.00/0.44 ISNATKIND(length(V1)) -> ISNATILISTKIND(V1) 0.00/0.44 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 ->Strongly Connected Components: 0.00/0.44 ->->Cycle: 0.00/0.44 ->->-> Pairs: 0.00/0.44 ISNATILISTKIND(cons(V1,V2)) -> ISNATKIND(V1) 0.00/0.44 ISNATKIND(length(V1)) -> ISNATILISTKIND(V1) 0.00/0.44 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.44 ->->-> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 ->->-> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 0.00/0.44 Problem 1.1: 0.00/0.44 0.00/0.44 SubNColl Processor: 0.00/0.44 -> Pairs: 0.00/0.44 ISNATILISTKIND(cons(V1,V2)) -> ISNATKIND(V1) 0.00/0.44 ISNATKIND(length(V1)) -> ISNATILISTKIND(V1) 0.00/0.44 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 ->Projection: 0.00/0.44 pi(ISNATILISTKIND) = 1 0.00/0.44 pi(ISNATKIND) = 1 0.00/0.44 0.00/0.44 Problem 1.1: 0.00/0.44 0.00/0.44 Basic Processor: 0.00/0.44 -> Pairs: 0.00/0.44 Empty 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 -> Result: 0.00/0.44 Set P is empty 0.00/0.44 0.00/0.44 The problem is finite. 0.00/0.44 0.00/0.44 Problem 1.2: 0.00/0.44 0.00/0.44 Reduction Pairs Processor: 0.00/0.44 -> Pairs: 0.00/0.44 U11#(tt,V1) -> U12#(isNatIListKind(V1),V1) 0.00/0.44 U12#(tt,V1) -> ISNATLIST(V1) 0.00/0.44 U21#(tt,V1) -> U22#(isNatKind(V1),V1) 0.00/0.44 U22#(tt,V1) -> ISNAT(V1) 0.00/0.44 U81#(tt,V1,V2) -> U82#(isNatKind(V1),V1,V2) 0.00/0.44 U82#(tt,V1,V2) -> U83#(isNatIListKind(V2),V1,V2) 0.00/0.44 U83#(tt,V1,V2) -> U84#(isNatIListKind(V2),V1,V2) 0.00/0.44 U84#(tt,V1,V2) -> U85#(isNat(V1),V2) 0.00/0.44 U84#(tt,V1,V2) -> ISNAT(V1) 0.00/0.44 U85#(tt,V2) -> ISNATLIST(V2) 0.00/0.44 ISNAT(length(V1)) -> U11#(isNatIListKind(V1),V1) 0.00/0.44 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.44 ISNATLIST(cons(V1,V2)) -> U81#(isNatKind(V1),V1,V2) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 -> Usable rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 ->Interpretation type: 0.00/0.44 Linear 0.00/0.44 ->Coefficients: 0.00/0.44 Natural Numbers 0.00/0.44 ->Dimension: 0.00/0.44 1 0.00/0.44 ->Bound: 0.00/0.44 2 0.00/0.44 ->Interpretation: 0.00/0.44 0.00/0.44 [U11](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.44 [U12](X1,X2) = 2.X1 + 2 0.00/0.44 [U13](X) = 2 0.00/0.44 [U21](X1,X2) = X1 + 2.X2 + 2 0.00/0.44 [U22](X1,X2) = X1 0.00/0.44 [U23](X) = 2 0.00/0.44 [U51](X1,X2) = X1 + 2.X2 + 1 0.00/0.44 [U52](X) = 2.X + 1 0.00/0.44 [U61](X) = 2.X + 2 0.00/0.44 [U71](X) = 2.X + 2 0.00/0.44 [U81](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 0.00/0.44 [U82](X1,X2,X3) = X1 + 2.X3 + 2 0.00/0.44 [U83](X1,X2,X3) = 2.X1 + 2 0.00/0.44 [U84](X1,X2,X3) = 2 0.00/0.44 [U85](X1,X2) = 2 0.00/0.44 [U86](X) = 2 0.00/0.44 [isNat](X) = 2.X + 2 0.00/0.44 [isNatIListKind](X) = X + 1 0.00/0.44 [isNatKind](X) = 2.X + 2 0.00/0.44 [isNatList](X) = 2.X + 2 0.00/0.44 [length](X) = 2.X + 2 0.00/0.44 [zeros] = 2 0.00/0.44 [0] = 2 0.00/0.44 [cons](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.44 [nil] = 2 0.00/0.44 [s](X) = 2.X + 2 0.00/0.44 [tt] = 2 0.00/0.44 [U11#](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.44 [U12#](X1,X2) = 2.X2 + 1 0.00/0.44 [U21#](X1,X2) = X1 + 2.X2 + 1 0.00/0.44 [U22#](X1,X2) = 2.X2 + 2 0.00/0.44 [U81#](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 0.00/0.44 [U82#](X1,X2,X3) = 2.X2 + 2.X3 + 2 0.00/0.44 [U83#](X1,X2,X3) = 2.X2 + 2.X3 + 2 0.00/0.44 [U84#](X1,X2,X3) = 2.X2 + 2.X3 + 2 0.00/0.44 [U85#](X1,X2) = 2.X2 + 1 0.00/0.44 [ISNAT](X) = 2.X + 2 0.00/0.44 [ISNATLIST](X) = 2.X 0.00/0.44 0.00/0.44 Problem 1.2: 0.00/0.44 0.00/0.44 SCC Processor: 0.00/0.44 -> Pairs: 0.00/0.44 U12#(tt,V1) -> ISNATLIST(V1) 0.00/0.44 U21#(tt,V1) -> U22#(isNatKind(V1),V1) 0.00/0.44 U22#(tt,V1) -> ISNAT(V1) 0.00/0.44 U81#(tt,V1,V2) -> U82#(isNatKind(V1),V1,V2) 0.00/0.44 U82#(tt,V1,V2) -> U83#(isNatIListKind(V2),V1,V2) 0.00/0.44 U83#(tt,V1,V2) -> U84#(isNatIListKind(V2),V1,V2) 0.00/0.44 U84#(tt,V1,V2) -> U85#(isNat(V1),V2) 0.00/0.44 U84#(tt,V1,V2) -> ISNAT(V1) 0.00/0.44 U85#(tt,V2) -> ISNATLIST(V2) 0.00/0.44 ISNAT(length(V1)) -> U11#(isNatIListKind(V1),V1) 0.00/0.44 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.44 ISNATLIST(cons(V1,V2)) -> U81#(isNatKind(V1),V1,V2) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 ->Strongly Connected Components: 0.00/0.44 ->->Cycle: 0.00/0.44 ->->-> Pairs: 0.00/0.44 U21#(tt,V1) -> U22#(isNatKind(V1),V1) 0.00/0.44 U22#(tt,V1) -> ISNAT(V1) 0.00/0.44 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.44 ->->-> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 ->->-> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 ->->Cycle: 0.00/0.44 ->->-> Pairs: 0.00/0.44 U81#(tt,V1,V2) -> U82#(isNatKind(V1),V1,V2) 0.00/0.44 U82#(tt,V1,V2) -> U83#(isNatIListKind(V2),V1,V2) 0.00/0.44 U83#(tt,V1,V2) -> U84#(isNatIListKind(V2),V1,V2) 0.00/0.44 U84#(tt,V1,V2) -> U85#(isNat(V1),V2) 0.00/0.44 U85#(tt,V2) -> ISNATLIST(V2) 0.00/0.44 ISNATLIST(cons(V1,V2)) -> U81#(isNatKind(V1),V1,V2) 0.00/0.44 ->->-> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 ->->-> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 0.00/0.44 0.00/0.44 The problem is decomposed in 2 subproblems. 0.00/0.44 0.00/0.44 Problem 1.2.1: 0.00/0.44 0.00/0.44 SubNColl Processor: 0.00/0.44 -> Pairs: 0.00/0.44 U21#(tt,V1) -> U22#(isNatKind(V1),V1) 0.00/0.44 U22#(tt,V1) -> ISNAT(V1) 0.00/0.44 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 ->Projection: 0.00/0.44 pi(U21#) = 2 0.00/0.44 pi(U22#) = 2 0.00/0.44 pi(ISNAT) = 1 0.00/0.44 0.00/0.44 Problem 1.2.1: 0.00/0.44 0.00/0.44 SCC Processor: 0.00/0.44 -> Pairs: 0.00/0.44 U21#(tt,V1) -> U22#(isNatKind(V1),V1) 0.00/0.44 U22#(tt,V1) -> ISNAT(V1) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 ->Strongly Connected Components: 0.00/0.44 There is no strongly connected component 0.00/0.44 0.00/0.44 The problem is finite. 0.00/0.44 0.00/0.44 Problem 1.2.2: 0.00/0.44 0.00/0.44 Reduction Pairs Processor: 0.00/0.44 -> Pairs: 0.00/0.44 U81#(tt,V1,V2) -> U82#(isNatKind(V1),V1,V2) 0.00/0.44 U82#(tt,V1,V2) -> U83#(isNatIListKind(V2),V1,V2) 0.00/0.44 U83#(tt,V1,V2) -> U84#(isNatIListKind(V2),V1,V2) 0.00/0.44 U84#(tt,V1,V2) -> U85#(isNat(V1),V2) 0.00/0.44 U85#(tt,V2) -> ISNATLIST(V2) 0.00/0.44 ISNATLIST(cons(V1,V2)) -> U81#(isNatKind(V1),V1,V2) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 -> Usable rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 ->Interpretation type: 0.00/0.44 Linear 0.00/0.44 ->Coefficients: 0.00/0.44 Natural Numbers 0.00/0.44 ->Dimension: 0.00/0.44 1 0.00/0.44 ->Bound: 0.00/0.44 2 0.00/0.44 ->Interpretation: 0.00/0.44 0.00/0.44 [U11](X1,X2) = X1 + 2.X2 + 1 0.00/0.44 [U12](X1,X2) = X1 + X2 + 2 0.00/0.44 [U13](X) = 2 0.00/0.44 [U21](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.44 [U22](X1,X2) = X1 + X2 + 2 0.00/0.44 [U23](X) = 2 0.00/0.44 [U51](X1,X2) = 2.X1 + 2.X2 0.00/0.44 [U52](X) = 2.X + 1 0.00/0.44 [U61](X) = 2.X 0.00/0.44 [U71](X) = X + 2 0.00/0.44 [U81](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 0.00/0.44 [U82](X1,X2,X3) = 2.X2 + 2.X3 + 2 0.00/0.44 [U83](X1,X2,X3) = 2.X2 + 2.X3 + 2 0.00/0.44 [U84](X1,X2,X3) = X1 + 2.X2 + X3 + 2 0.00/0.44 [U85](X1,X2) = X1 + X2 0.00/0.44 [U86](X) = 2 0.00/0.44 [isNat](X) = 2.X + 1 0.00/0.44 [isNatIListKind](X) = X 0.00/0.44 [isNatKind](X) = X + 1 0.00/0.44 [isNatList](X) = 2.X + 2 0.00/0.44 [length](X) = 2.X + 1 0.00/0.44 [zeros] = 2 0.00/0.44 [0] = 2 0.00/0.44 [cons](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.44 [nil] = 2 0.00/0.44 [s](X) = 2.X + 2 0.00/0.44 [tt] = 2 0.00/0.44 [U81#](X1,X2,X3) = X1 + X2 + 2.X3 + 2 0.00/0.44 [U82#](X1,X2,X3) = X1 + 2.X3 + 2 0.00/0.44 [U83#](X1,X2,X3) = X1 + X3 + 2 0.00/0.44 [U84#](X1,X2,X3) = X3 + 2 0.00/0.44 [U85#](X1,X2) = X2 + 2 0.00/0.44 [ISNATLIST](X) = X + 2 0.00/0.44 0.00/0.44 Problem 1.2.2: 0.00/0.44 0.00/0.44 SCC Processor: 0.00/0.44 -> Pairs: 0.00/0.44 U82#(tt,V1,V2) -> U83#(isNatIListKind(V2),V1,V2) 0.00/0.44 U83#(tt,V1,V2) -> U84#(isNatIListKind(V2),V1,V2) 0.00/0.44 U84#(tt,V1,V2) -> U85#(isNat(V1),V2) 0.00/0.44 U85#(tt,V2) -> ISNATLIST(V2) 0.00/0.44 ISNATLIST(cons(V1,V2)) -> U81#(isNatKind(V1),V1,V2) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 ->Strongly Connected Components: 0.00/0.44 There is no strongly connected component 0.00/0.44 0.00/0.44 The problem is finite. 0.00/0.44 0.00/0.44 Problem 1.3: 0.00/0.44 0.00/0.44 Reduction Pairs Processor: 0.00/0.44 -> Pairs: 0.00/0.44 U41#(tt,V1,V2) -> U42#(isNatKind(V1),V1,V2) 0.00/0.44 U42#(tt,V1,V2) -> U43#(isNatIListKind(V2),V1,V2) 0.00/0.44 U43#(tt,V1,V2) -> U44#(isNatIListKind(V2),V1,V2) 0.00/0.44 U44#(tt,V1,V2) -> U45#(isNat(V1),V2) 0.00/0.44 U45#(tt,V2) -> ISNATILIST(V2) 0.00/0.44 ISNATILIST(cons(V1,V2)) -> U41#(isNatKind(V1),V1,V2) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 -> Usable rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 ->Interpretation type: 0.00/0.44 Linear 0.00/0.44 ->Coefficients: 0.00/0.44 Natural Numbers 0.00/0.44 ->Dimension: 0.00/0.44 1 0.00/0.44 ->Bound: 0.00/0.44 2 0.00/0.44 ->Interpretation: 0.00/0.44 0.00/0.44 [U11](X1,X2) = X1 + 2.X2 + 1 0.00/0.44 [U12](X1,X2) = X1 + X2 + 2 0.00/0.44 [U13](X) = 2 0.00/0.44 [U21](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.44 [U22](X1,X2) = X1 + X2 + 2 0.00/0.44 [U23](X) = 2 0.00/0.44 [U51](X1,X2) = 2.X1 + 2.X2 0.00/0.44 [U52](X) = 2.X + 1 0.00/0.44 [U61](X) = 2.X 0.00/0.44 [U71](X) = X + 2 0.00/0.44 [U81](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 0.00/0.44 [U82](X1,X2,X3) = 2.X2 + 2.X3 + 2 0.00/0.44 [U83](X1,X2,X3) = 2.X2 + 2.X3 + 2 0.00/0.44 [U84](X1,X2,X3) = X1 + 2.X2 + X3 + 2 0.00/0.44 [U85](X1,X2) = X1 + X2 0.00/0.44 [U86](X) = 2 0.00/0.44 [isNat](X) = 2.X + 1 0.00/0.44 [isNatIListKind](X) = X 0.00/0.44 [isNatKind](X) = X + 1 0.00/0.44 [isNatList](X) = 2.X + 2 0.00/0.44 [length](X) = 2.X + 1 0.00/0.44 [zeros] = 2 0.00/0.44 [0] = 2 0.00/0.44 [cons](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.44 [nil] = 2 0.00/0.44 [s](X) = 2.X + 2 0.00/0.44 [tt] = 2 0.00/0.44 [U41#](X1,X2,X3) = X1 + X2 + 2.X3 + 2 0.00/0.44 [U42#](X1,X2,X3) = X1 + 2.X3 + 2 0.00/0.44 [U43#](X1,X2,X3) = X1 + X3 + 2 0.00/0.44 [U44#](X1,X2,X3) = X3 + 2 0.00/0.44 [U45#](X1,X2) = X2 + 2 0.00/0.44 [ISNATILIST](X) = X + 2 0.00/0.44 0.00/0.44 Problem 1.3: 0.00/0.44 0.00/0.44 SCC Processor: 0.00/0.44 -> Pairs: 0.00/0.44 U42#(tt,V1,V2) -> U43#(isNatIListKind(V2),V1,V2) 0.00/0.44 U43#(tt,V1,V2) -> U44#(isNatIListKind(V2),V1,V2) 0.00/0.44 U44#(tt,V1,V2) -> U45#(isNat(V1),V2) 0.00/0.44 U45#(tt,V2) -> ISNATILIST(V2) 0.00/0.44 ISNATILIST(cons(V1,V2)) -> U41#(isNatKind(V1),V1,V2) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 ->Strongly Connected Components: 0.00/0.44 There is no strongly connected component 0.00/0.44 0.00/0.44 The problem is finite. 0.00/0.44 0.00/0.44 Problem 1.4: 0.00/0.44 0.00/0.44 Reduction Pairs Processor: 0.00/0.44 -> Pairs: 0.00/0.44 U91#(tt,L,N) -> U92#(isNatIListKind(L),L,N) 0.00/0.44 U92#(tt,L,N) -> U93#(isNat(N),L,N) 0.00/0.44 U93#(tt,L,N) -> U94#(isNatKind(N),L) 0.00/0.44 U94#(tt,L) -> LENGTH(L) 0.00/0.44 LENGTH(cons(N,L)) -> U91#(isNatList(L),L,N) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 -> Usable rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 ->Interpretation type: 0.00/0.44 Linear 0.00/0.44 ->Coefficients: 0.00/0.44 Natural Numbers 0.00/0.44 ->Dimension: 0.00/0.44 1 0.00/0.44 ->Bound: 0.00/0.44 2 0.00/0.44 ->Interpretation: 0.00/0.44 0.00/0.44 [U11](X1,X2) = 2.X1 + 2.X2 0.00/0.44 [U12](X1,X2) = 2.X1 + 2.X2 0.00/0.44 [U13](X) = 2.X + 2 0.00/0.44 [U21](X1,X2) = 2.X1 + 2 0.00/0.44 [U22](X1,X2) = 2 0.00/0.44 [U23](X) = 2 0.00/0.44 [U51](X1,X2) = 2 0.00/0.44 [U52](X) = 2 0.00/0.44 [U61](X) = 2 0.00/0.44 [U71](X) = 2 0.00/0.44 [U81](X1,X2,X3) = 2.X3 0.00/0.44 [U82](X1,X2,X3) = 2.X3 0.00/0.44 [U83](X1,X2,X3) = 2.X3 0.00/0.44 [U84](X1,X2,X3) = 2.X3 0.00/0.44 [U85](X1,X2) = 2.X2 0.00/0.44 [U86](X) = 2.X 0.00/0.44 [U91](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 1 0.00/0.44 [U92](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 0.00/0.44 [U93](X1,X2,X3) = X1 + 2.X2 + 1 0.00/0.44 [U94](X1,X2) = X1 + 2.X2 + 1 0.00/0.44 [isNat](X) = 2.X + 2 0.00/0.44 [isNatIListKind](X) = 2 0.00/0.44 [isNatKind](X) = 2 0.00/0.44 [isNatList](X) = X 0.00/0.44 [length](X) = 2.X + 1 0.00/0.44 [zeros] = 0 0.00/0.44 [0] = 0 0.00/0.44 [cons](X1,X2) = X1 + 2.X2 0.00/0.44 [nil] = 2 0.00/0.44 [s](X) = X + 2 0.00/0.44 [tt] = 2 0.00/0.44 [U91#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 0.00/0.44 [U92#](X1,X2,X3) = 2.X2 + 2 0.00/0.44 [U93#](X1,X2,X3) = 2.X2 + 2 0.00/0.44 [U94#](X1,X2) = X1 + 2.X2 0.00/0.44 [LENGTH](X) = 2.X 0.00/0.44 0.00/0.44 Problem 1.4: 0.00/0.44 0.00/0.44 SCC Processor: 0.00/0.44 -> Pairs: 0.00/0.44 U92#(tt,L,N) -> U93#(isNat(N),L,N) 0.00/0.44 U93#(tt,L,N) -> U94#(isNatKind(N),L) 0.00/0.44 U94#(tt,L) -> LENGTH(L) 0.00/0.44 LENGTH(cons(N,L)) -> U91#(isNatList(L),L,N) 0.00/0.44 -> Rules: 0.00/0.44 U11(tt,V1) -> U12(isNatIListKind(V1),V1) 0.00/0.44 U12(tt,V1) -> U13(isNatList(V1)) 0.00/0.44 U13(tt) -> tt 0.00/0.44 U21(tt,V1) -> U22(isNatKind(V1),V1) 0.00/0.44 U22(tt,V1) -> U23(isNat(V1)) 0.00/0.44 U23(tt) -> tt 0.00/0.44 U31(tt,V) -> U32(isNatIListKind(V),V) 0.00/0.44 U32(tt,V) -> U33(isNatList(V)) 0.00/0.44 U33(tt) -> tt 0.00/0.44 U41(tt,V1,V2) -> U42(isNatKind(V1),V1,V2) 0.00/0.44 U42(tt,V1,V2) -> U43(isNatIListKind(V2),V1,V2) 0.00/0.44 U43(tt,V1,V2) -> U44(isNatIListKind(V2),V1,V2) 0.00/0.44 U44(tt,V1,V2) -> U45(isNat(V1),V2) 0.00/0.44 U45(tt,V2) -> U46(isNatIList(V2)) 0.00/0.44 U46(tt) -> tt 0.00/0.44 U51(tt,V2) -> U52(isNatIListKind(V2)) 0.00/0.44 U52(tt) -> tt 0.00/0.44 U61(tt) -> tt 0.00/0.44 U71(tt) -> tt 0.00/0.44 U81(tt,V1,V2) -> U82(isNatKind(V1),V1,V2) 0.00/0.44 U82(tt,V1,V2) -> U83(isNatIListKind(V2),V1,V2) 0.00/0.44 U83(tt,V1,V2) -> U84(isNatIListKind(V2),V1,V2) 0.00/0.44 U84(tt,V1,V2) -> U85(isNat(V1),V2) 0.00/0.44 U85(tt,V2) -> U86(isNatList(V2)) 0.00/0.44 U86(tt) -> tt 0.00/0.44 U91(tt,L,N) -> U92(isNatIListKind(L),L,N) 0.00/0.44 U92(tt,L,N) -> U93(isNat(N),L,N) 0.00/0.44 U93(tt,L,N) -> U94(isNatKind(N),L) 0.00/0.44 U94(tt,L) -> s(length(L)) 0.00/0.44 isNat(length(V1)) -> U11(isNatIListKind(V1),V1) 0.00/0.44 isNat(0) -> tt 0.00/0.44 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.44 isNatIList(zeros) -> tt 0.00/0.44 isNatIList(cons(V1,V2)) -> U41(isNatKind(V1),V1,V2) 0.00/0.44 isNatIList(V) -> U31(isNatIListKind(V),V) 0.00/0.44 isNatIListKind(zeros) -> tt 0.00/0.44 isNatIListKind(cons(V1,V2)) -> U51(isNatKind(V1),V2) 0.00/0.44 isNatIListKind(nil) -> tt 0.00/0.44 isNatKind(length(V1)) -> U61(isNatIListKind(V1)) 0.00/0.44 isNatKind(0) -> tt 0.00/0.44 isNatKind(s(V1)) -> U71(isNatKind(V1)) 0.00/0.44 isNatList(cons(V1,V2)) -> U81(isNatKind(V1),V1,V2) 0.00/0.44 isNatList(nil) -> tt 0.00/0.44 length(cons(N,L)) -> U91(isNatList(L),L,N) 0.00/0.44 length(nil) -> 0 0.00/0.44 zeros -> cons(0,zeros) 0.00/0.44 -> Unhiding rules: 0.00/0.44 Empty 0.00/0.44 ->Strongly Connected Components: 0.00/0.44 There is no strongly connected component 0.00/0.44 0.00/0.44 The problem is finite. 0.00/0.44 EOF