0.00/0.10 YES 0.00/0.10 0.00/0.10 Problem 1: 0.00/0.10 0.00/0.10 (VAR L N V V1 V2) 0.00/0.10 (STRATEGY CONTEXTSENSITIVE 0.00/0.10 (U11 1) 0.00/0.10 (U21 1) 0.00/0.10 (U31 1) 0.00/0.10 (U41 1) 0.00/0.10 (U42 1) 0.00/0.10 (U51 1) 0.00/0.10 (U52 1) 0.00/0.10 (U61 1) 0.00/0.10 (U62 1) 0.00/0.10 (isNat) 0.00/0.10 (isNatIList) 0.00/0.10 (isNatList) 0.00/0.10 (length 1) 0.00/0.10 (zeros) 0.00/0.10 (0) 0.00/0.10 (cons 1) 0.00/0.10 (nil) 0.00/0.10 (s 1) 0.00/0.10 (tt) 0.00/0.10 ) 0.00/0.10 (RULES 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 ) 0.00/0.10 0.00/0.10 Problem 1: 0.00/0.10 0.00/0.10 Dependency Pairs Processor: 0.00/0.10 -> Pairs: 0.00/0.10 U41#(tt,V2) -> U42#(isNatIList(V2)) 0.00/0.10 U41#(tt,V2) -> ISNATILIST(V2) 0.00/0.10 U51#(tt,V2) -> U52#(isNatList(V2)) 0.00/0.10 U51#(tt,V2) -> ISNATLIST(V2) 0.00/0.10 U61#(tt,L,N) -> U62#(isNat(N),L) 0.00/0.10 U61#(tt,L,N) -> ISNAT(N) 0.00/0.10 U62#(tt,L) -> LENGTH(L) 0.00/0.10 U62#(tt,L) -> L 0.00/0.10 ISNAT(length(V1)) -> U11#(isNatList(V1)) 0.00/0.10 ISNAT(length(V1)) -> ISNATLIST(V1) 0.00/0.10 ISNAT(s(V1)) -> U21#(isNat(V1)) 0.00/0.10 ISNAT(s(V1)) -> ISNAT(V1) 0.00/0.10 ISNATILIST(cons(V1,V2)) -> U41#(isNat(V1),V2) 0.00/0.10 ISNATILIST(cons(V1,V2)) -> ISNAT(V1) 0.00/0.10 ISNATILIST(V) -> U31#(isNatList(V)) 0.00/0.10 ISNATILIST(V) -> ISNATLIST(V) 0.00/0.10 ISNATLIST(cons(V1,V2)) -> U51#(isNat(V1),V2) 0.00/0.10 ISNATLIST(cons(V1,V2)) -> ISNAT(V1) 0.00/0.10 LENGTH(cons(N,L)) -> U61#(isNatList(L),L,N) 0.00/0.10 LENGTH(cons(N,L)) -> ISNATLIST(L) 0.00/0.10 -> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 -> Unhiding Rules: 0.00/0.10 zeros -> ZEROS 0.00/0.10 0.00/0.10 Problem 1: 0.00/0.10 0.00/0.10 SCC Processor: 0.00/0.10 -> Pairs: 0.00/0.10 U41#(tt,V2) -> U42#(isNatIList(V2)) 0.00/0.10 U41#(tt,V2) -> ISNATILIST(V2) 0.00/0.10 U51#(tt,V2) -> U52#(isNatList(V2)) 0.00/0.10 U51#(tt,V2) -> ISNATLIST(V2) 0.00/0.10 U61#(tt,L,N) -> U62#(isNat(N),L) 0.00/0.10 U61#(tt,L,N) -> ISNAT(N) 0.00/0.10 U62#(tt,L) -> LENGTH(L) 0.00/0.10 U62#(tt,L) -> L 0.00/0.10 ISNAT(length(V1)) -> U11#(isNatList(V1)) 0.00/0.10 ISNAT(length(V1)) -> ISNATLIST(V1) 0.00/0.10 ISNAT(s(V1)) -> U21#(isNat(V1)) 0.00/0.10 ISNAT(s(V1)) -> ISNAT(V1) 0.00/0.10 ISNATILIST(cons(V1,V2)) -> U41#(isNat(V1),V2) 0.00/0.10 ISNATILIST(cons(V1,V2)) -> ISNAT(V1) 0.00/0.10 ISNATILIST(V) -> U31#(isNatList(V)) 0.00/0.10 ISNATILIST(V) -> ISNATLIST(V) 0.00/0.10 ISNATLIST(cons(V1,V2)) -> U51#(isNat(V1),V2) 0.00/0.10 ISNATLIST(cons(V1,V2)) -> ISNAT(V1) 0.00/0.10 LENGTH(cons(N,L)) -> U61#(isNatList(L),L,N) 0.00/0.10 LENGTH(cons(N,L)) -> ISNATLIST(L) 0.00/0.10 -> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 -> Unhiding rules: 0.00/0.10 zeros -> ZEROS 0.00/0.10 ->Strongly Connected Components: 0.00/0.10 ->->Cycle: 0.00/0.10 ->->-> Pairs: 0.00/0.10 U51#(tt,V2) -> ISNATLIST(V2) 0.00/0.10 ISNAT(length(V1)) -> ISNATLIST(V1) 0.00/0.10 ISNAT(s(V1)) -> ISNAT(V1) 0.00/0.10 ISNATLIST(cons(V1,V2)) -> U51#(isNat(V1),V2) 0.00/0.10 ISNATLIST(cons(V1,V2)) -> ISNAT(V1) 0.00/0.10 ->->-> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 ->->-> Unhiding rules: 0.00/0.10 Empty 0.00/0.10 ->->Cycle: 0.00/0.10 ->->-> Pairs: 0.00/0.10 U61#(tt,L,N) -> U62#(isNat(N),L) 0.00/0.10 U62#(tt,L) -> LENGTH(L) 0.00/0.10 LENGTH(cons(N,L)) -> U61#(isNatList(L),L,N) 0.00/0.10 ->->-> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 ->->-> Unhiding rules: 0.00/0.10 Empty 0.00/0.10 ->->Cycle: 0.00/0.10 ->->-> Pairs: 0.00/0.10 U41#(tt,V2) -> ISNATILIST(V2) 0.00/0.10 ISNATILIST(cons(V1,V2)) -> U41#(isNat(V1),V2) 0.00/0.10 ->->-> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 ->->-> Unhiding rules: 0.00/0.10 Empty 0.00/0.10 0.00/0.10 0.00/0.10 The problem is decomposed in 3 subproblems. 0.00/0.10 0.00/0.10 Problem 1.1: 0.00/0.10 0.00/0.10 Reduction Pairs Processor: 0.00/0.10 -> Pairs: 0.00/0.10 U51#(tt,V2) -> ISNATLIST(V2) 0.00/0.10 ISNAT(length(V1)) -> ISNATLIST(V1) 0.00/0.10 ISNAT(s(V1)) -> ISNAT(V1) 0.00/0.10 ISNATLIST(cons(V1,V2)) -> U51#(isNat(V1),V2) 0.00/0.10 ISNATLIST(cons(V1,V2)) -> ISNAT(V1) 0.00/0.10 -> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 -> Unhiding rules: 0.00/0.10 Empty 0.00/0.10 -> Usable rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 ->Interpretation type: 0.00/0.10 Linear 0.00/0.10 ->Coefficients: 0.00/0.10 Natural Numbers 0.00/0.10 ->Dimension: 0.00/0.10 1 0.00/0.10 ->Bound: 0.00/0.10 2 0.00/0.10 ->Interpretation: 0.00/0.10 0.00/0.10 [U11](X) = X + 1 0.00/0.10 [U21](X) = X + 2 0.00/0.10 [U51](X1,X2) = 2.X1 + 2 0.00/0.10 [U52](X) = 2 0.00/0.10 [isNat](X) = X + 2 0.00/0.10 [isNatList](X) = 2.X + 2 0.00/0.10 [length](X) = 2.X + 2 0.00/0.10 [0] = 1 0.00/0.10 [cons](X1,X2) = 2.X1 + X2 + 2 0.00/0.10 [nil] = 2 0.00/0.10 [s](X) = X + 2 0.00/0.10 [tt] = 2 0.00/0.10 [U51#](X1,X2) = X1 + 2.X2 + 2 0.00/0.10 [ISNAT](X) = 2.X + 2 0.00/0.10 [ISNATLIST](X) = 2.X + 2 0.00/0.10 0.00/0.10 Problem 1.1: 0.00/0.10 0.00/0.10 SCC Processor: 0.00/0.10 -> Pairs: 0.00/0.10 ISNAT(length(V1)) -> ISNATLIST(V1) 0.00/0.10 ISNAT(s(V1)) -> ISNAT(V1) 0.00/0.10 ISNATLIST(cons(V1,V2)) -> U51#(isNat(V1),V2) 0.00/0.10 ISNATLIST(cons(V1,V2)) -> ISNAT(V1) 0.00/0.10 -> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 -> Unhiding rules: 0.00/0.10 Empty 0.00/0.10 ->Strongly Connected Components: 0.00/0.10 ->->Cycle: 0.00/0.10 ->->-> Pairs: 0.00/0.10 ISNAT(length(V1)) -> ISNATLIST(V1) 0.00/0.10 ISNAT(s(V1)) -> ISNAT(V1) 0.00/0.10 ISNATLIST(cons(V1,V2)) -> ISNAT(V1) 0.00/0.10 ->->-> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 ->->-> Unhiding rules: 0.00/0.10 Empty 0.00/0.10 0.00/0.10 Problem 1.1: 0.00/0.10 0.00/0.10 SubNColl Processor: 0.00/0.10 -> Pairs: 0.00/0.10 ISNAT(length(V1)) -> ISNATLIST(V1) 0.00/0.10 ISNAT(s(V1)) -> ISNAT(V1) 0.00/0.10 ISNATLIST(cons(V1,V2)) -> ISNAT(V1) 0.00/0.10 -> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 -> Unhiding rules: 0.00/0.10 Empty 0.00/0.10 ->Projection: 0.00/0.10 pi(ISNAT) = 1 0.00/0.10 pi(ISNATLIST) = 1 0.00/0.10 0.00/0.10 Problem 1.1: 0.00/0.10 0.00/0.10 Basic Processor: 0.00/0.10 -> Pairs: 0.00/0.10 Empty 0.00/0.10 -> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 -> Unhiding rules: 0.00/0.10 Empty 0.00/0.10 -> Result: 0.00/0.10 Set P is empty 0.00/0.10 0.00/0.10 The problem is finite. 0.00/0.10 0.00/0.10 Problem 1.2: 0.00/0.10 0.00/0.10 Reduction Pairs Processor: 0.00/0.10 -> Pairs: 0.00/0.10 U61#(tt,L,N) -> U62#(isNat(N),L) 0.00/0.10 U62#(tt,L) -> LENGTH(L) 0.00/0.10 LENGTH(cons(N,L)) -> U61#(isNatList(L),L,N) 0.00/0.10 -> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 -> Unhiding rules: 0.00/0.10 Empty 0.00/0.10 -> Usable rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 ->Interpretation type: 0.00/0.10 Linear 0.00/0.10 ->Coefficients: 0.00/0.10 Natural Numbers 0.00/0.10 ->Dimension: 0.00/0.10 1 0.00/0.10 ->Bound: 0.00/0.10 2 0.00/0.10 ->Interpretation: 0.00/0.10 0.00/0.10 [U11](X) = 2 0.00/0.10 [U21](X) = 2 0.00/0.10 [U51](X1,X2) = 2.X2 0.00/0.10 [U52](X) = X 0.00/0.10 [U61](X1,X2,X3) = 2.X1 + 2.X2 + 2 0.00/0.10 [U62](X1,X2) = 2.X2 + 2 0.00/0.10 [isNat](X) = 2 0.00/0.10 [isNatList](X) = X 0.00/0.10 [length](X) = 2.X + 2 0.00/0.10 [zeros] = 0 0.00/0.10 [0] = 0 0.00/0.10 [cons](X1,X2) = 2.X2 0.00/0.10 [nil] = 2 0.00/0.10 [s](X) = 2 0.00/0.10 [tt] = 2 0.00/0.10 [U61#](X1,X2,X3) = 2.X1 + 2.X2 + 2 0.00/0.10 [U62#](X1,X2) = X1 + 2.X2 + 2 0.00/0.10 [LENGTH](X) = 2.X + 2 0.00/0.10 0.00/0.10 Problem 1.2: 0.00/0.10 0.00/0.10 SCC Processor: 0.00/0.10 -> Pairs: 0.00/0.10 U62#(tt,L) -> LENGTH(L) 0.00/0.10 LENGTH(cons(N,L)) -> U61#(isNatList(L),L,N) 0.00/0.10 -> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 -> Unhiding rules: 0.00/0.10 Empty 0.00/0.10 ->Strongly Connected Components: 0.00/0.10 There is no strongly connected component 0.00/0.10 0.00/0.10 The problem is finite. 0.00/0.10 0.00/0.10 Problem 1.3: 0.00/0.10 0.00/0.10 Reduction Pairs Processor: 0.00/0.10 -> Pairs: 0.00/0.10 U41#(tt,V2) -> ISNATILIST(V2) 0.00/0.10 ISNATILIST(cons(V1,V2)) -> U41#(isNat(V1),V2) 0.00/0.10 -> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 -> Unhiding rules: 0.00/0.10 Empty 0.00/0.10 -> Usable rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 ->Interpretation type: 0.00/0.10 Linear 0.00/0.10 ->Coefficients: 0.00/0.10 Natural Numbers 0.00/0.10 ->Dimension: 0.00/0.10 1 0.00/0.10 ->Bound: 0.00/0.10 2 0.00/0.10 ->Interpretation: 0.00/0.10 0.00/0.10 [U11](X) = 2.X + 2 0.00/0.10 [U21](X) = 2.X + 1 0.00/0.10 [U51](X1,X2) = 2.X2 0.00/0.10 [U52](X) = 2.X 0.00/0.10 [isNat](X) = X + 1 0.00/0.10 [isNatList](X) = X 0.00/0.10 [length](X) = 2.X + 1 0.00/0.10 [0] = 2 0.00/0.10 [cons](X1,X2) = X1 + 2.X2 0.00/0.10 [nil] = 2 0.00/0.10 [s](X) = 2.X + 2 0.00/0.10 [tt] = 2 0.00/0.10 [U41#](X1,X2) = 2.X1 + 2.X2 0.00/0.10 [ISNATILIST](X) = 2.X + 2 0.00/0.10 0.00/0.10 Problem 1.3: 0.00/0.10 0.00/0.10 SCC Processor: 0.00/0.10 -> Pairs: 0.00/0.10 ISNATILIST(cons(V1,V2)) -> U41#(isNat(V1),V2) 0.00/0.10 -> Rules: 0.00/0.10 U11(tt) -> tt 0.00/0.10 U21(tt) -> tt 0.00/0.10 U31(tt) -> tt 0.00/0.10 U41(tt,V2) -> U42(isNatIList(V2)) 0.00/0.10 U42(tt) -> tt 0.00/0.10 U51(tt,V2) -> U52(isNatList(V2)) 0.00/0.10 U52(tt) -> tt 0.00/0.10 U61(tt,L,N) -> U62(isNat(N),L) 0.00/0.10 U62(tt,L) -> s(length(L)) 0.00/0.10 isNat(length(V1)) -> U11(isNatList(V1)) 0.00/0.10 isNat(0) -> tt 0.00/0.10 isNat(s(V1)) -> U21(isNat(V1)) 0.00/0.10 isNatIList(zeros) -> tt 0.00/0.10 isNatIList(cons(V1,V2)) -> U41(isNat(V1),V2) 0.00/0.10 isNatIList(V) -> U31(isNatList(V)) 0.00/0.10 isNatList(cons(V1,V2)) -> U51(isNat(V1),V2) 0.00/0.10 isNatList(nil) -> tt 0.00/0.10 length(cons(N,L)) -> U61(isNatList(L),L,N) 0.00/0.10 length(nil) -> 0 0.00/0.10 zeros -> cons(0,zeros) 0.00/0.10 -> Unhiding rules: 0.00/0.10 Empty 0.00/0.10 ->Strongly Connected Components: 0.00/0.10 There is no strongly connected component 0.00/0.10 0.00/0.10 The problem is finite. 0.00/0.10 EOF