0.00/0.25 YES 0.00/0.25 0.00/0.25 Problem 1: 0.00/0.25 0.00/0.25 (VAR M N V1 V2 X) 0.00/0.25 (STRATEGY CONTEXTSENSITIVE 0.00/0.25 (U11 1) 0.00/0.25 (U12 1) 0.00/0.25 (U13 1) 0.00/0.25 (U21 1) 0.00/0.25 (U22 1) 0.00/0.25 (U31 1) 0.00/0.25 (U41 1) 0.00/0.25 (and 1) 0.00/0.25 (isNat) 0.00/0.25 (isNatKind) 0.00/0.25 (plus 1 2) 0.00/0.25 (0) 0.00/0.25 (s 1) 0.00/0.25 (tt) 0.00/0.25 ) 0.00/0.25 (RULES 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 ) 0.00/0.25 0.00/0.25 Problem 1: 0.00/0.25 0.00/0.25 Dependency Pairs Processor: 0.00/0.25 -> Pairs: 0.00/0.25 U11#(tt,V1,V2) -> U12#(isNat(V1),V2) 0.00/0.25 U11#(tt,V1,V2) -> ISNAT(V1) 0.00/0.25 U12#(tt,V2) -> U13#(isNat(V2)) 0.00/0.25 U12#(tt,V2) -> ISNAT(V2) 0.00/0.25 U21#(tt,V1) -> U22#(isNat(V1)) 0.00/0.25 U21#(tt,V1) -> ISNAT(V1) 0.00/0.25 U31#(tt,N) -> N 0.00/0.25 U41#(tt,M,N) -> PLUS(N,M) 0.00/0.25 U41#(tt,M,N) -> M 0.00/0.25 U41#(tt,M,N) -> N 0.00/0.25 AND(tt,X) -> X 0.00/0.25 ISNAT(plus(V1,V2)) -> U11#(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 PLUS(N,0) -> U31#(and(isNat(N),isNatKind(N)),N) 0.00/0.25 PLUS(N,0) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 PLUS(N,0) -> ISNAT(N) 0.00/0.25 PLUS(N,s(M)) -> U41#(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 PLUS(N,s(M)) -> AND(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))) 0.00/0.25 PLUS(N,s(M)) -> AND(isNat(M),isNatKind(M)) 0.00/0.25 PLUS(N,s(M)) -> ISNAT(M) 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding Rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 0.00/0.25 Problem 1: 0.00/0.25 0.00/0.25 SCC Processor: 0.00/0.25 -> Pairs: 0.00/0.25 U11#(tt,V1,V2) -> U12#(isNat(V1),V2) 0.00/0.25 U11#(tt,V1,V2) -> ISNAT(V1) 0.00/0.25 U12#(tt,V2) -> U13#(isNat(V2)) 0.00/0.25 U12#(tt,V2) -> ISNAT(V2) 0.00/0.25 U21#(tt,V1) -> U22#(isNat(V1)) 0.00/0.25 U21#(tt,V1) -> ISNAT(V1) 0.00/0.25 U31#(tt,N) -> N 0.00/0.25 U41#(tt,M,N) -> PLUS(N,M) 0.00/0.25 U41#(tt,M,N) -> M 0.00/0.25 U41#(tt,M,N) -> N 0.00/0.25 AND(tt,X) -> X 0.00/0.25 ISNAT(plus(V1,V2)) -> U11#(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 PLUS(N,0) -> U31#(and(isNat(N),isNatKind(N)),N) 0.00/0.25 PLUS(N,0) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 PLUS(N,0) -> ISNAT(N) 0.00/0.25 PLUS(N,s(M)) -> U41#(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 PLUS(N,s(M)) -> AND(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))) 0.00/0.25 PLUS(N,s(M)) -> AND(isNat(M),isNatKind(M)) 0.00/0.25 PLUS(N,s(M)) -> ISNAT(M) 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 ->Strongly Connected Components: 0.00/0.25 ->->Cycle: 0.00/0.25 ->->-> Pairs: 0.00/0.25 U11#(tt,V1,V2) -> U12#(isNat(V1),V2) 0.00/0.25 U11#(tt,V1,V2) -> ISNAT(V1) 0.00/0.25 U12#(tt,V2) -> ISNAT(V2) 0.00/0.25 U21#(tt,V1) -> ISNAT(V1) 0.00/0.25 AND(tt,X) -> X 0.00/0.25 ISNAT(plus(V1,V2)) -> U11#(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ->->-> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 ->->-> Unhiding rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 ->->Cycle: 0.00/0.25 ->->-> Pairs: 0.00/0.25 U41#(tt,M,N) -> PLUS(N,M) 0.00/0.25 PLUS(N,s(M)) -> U41#(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 ->->-> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 ->->-> Unhiding rules: 0.00/0.25 Empty 0.00/0.25 0.00/0.25 0.00/0.25 The problem is decomposed in 2 subproblems. 0.00/0.25 0.00/0.25 Problem 1.1: 0.00/0.25 0.00/0.25 Reduction Pairs Processor: 0.00/0.25 -> Pairs: 0.00/0.25 U11#(tt,V1,V2) -> U12#(isNat(V1),V2) 0.00/0.25 U11#(tt,V1,V2) -> ISNAT(V1) 0.00/0.25 U12#(tt,V2) -> ISNAT(V2) 0.00/0.25 U21#(tt,V1) -> ISNAT(V1) 0.00/0.25 AND(tt,X) -> X 0.00/0.25 ISNAT(plus(V1,V2)) -> U11#(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 -> Usable rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 ->Interpretation type: 0.00/0.25 Linear 0.00/0.25 ->Coefficients: 0.00/0.25 Natural Numbers 0.00/0.25 ->Dimension: 0.00/0.25 1 0.00/0.25 ->Bound: 0.00/0.25 2 0.00/0.25 ->Interpretation: 0.00/0.25 0.00/0.25 [U11](X1,X2,X3) = 2 0.00/0.25 [U12](X1,X2) = X1 0.00/0.25 [U13](X) = 2 0.00/0.25 [U21](X1,X2) = 2 0.00/0.25 [U22](X) = 2 0.00/0.25 [U31](X1,X2) = 2.X2 0.00/0.25 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 0.00/0.25 [and](X1,X2) = X2 + 2 0.00/0.25 [isNat](X) = 2 0.00/0.25 [isNatKind](X) = 2.X + 2 0.00/0.25 [plus](X1,X2) = 2.X1 + 2.X2 + 1 0.00/0.25 [0] = 2 0.00/0.25 [s](X) = X + 1 0.00/0.25 [tt] = 2 0.00/0.25 [U11#](X1,X2,X3) = 2.X2 + 2.X3 + 2 0.00/0.25 [U12#](X1,X2) = 2.X2 + 1 0.00/0.25 [U21#](X1,X2) = 2.X2 0.00/0.25 [AND](X1,X2) = X2 0.00/0.25 [ISNAT](X) = 2.X 0.00/0.25 [ISNATKIND](X) = 2.X + 2 0.00/0.25 0.00/0.25 Problem 1.1: 0.00/0.25 0.00/0.25 SCC Processor: 0.00/0.25 -> Pairs: 0.00/0.25 U11#(tt,V1,V2) -> ISNAT(V1) 0.00/0.25 U12#(tt,V2) -> ISNAT(V2) 0.00/0.25 U21#(tt,V1) -> ISNAT(V1) 0.00/0.25 AND(tt,X) -> X 0.00/0.25 ISNAT(plus(V1,V2)) -> U11#(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 ->Strongly Connected Components: 0.00/0.25 ->->Cycle: 0.00/0.25 ->->-> Pairs: 0.00/0.25 U11#(tt,V1,V2) -> ISNAT(V1) 0.00/0.25 U21#(tt,V1) -> ISNAT(V1) 0.00/0.25 AND(tt,X) -> X 0.00/0.25 ISNAT(plus(V1,V2)) -> U11#(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ->->-> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 ->->-> Unhiding rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 0.00/0.25 Problem 1.1: 0.00/0.25 0.00/0.25 Reduction Pairs Processor: 0.00/0.25 -> Pairs: 0.00/0.25 U11#(tt,V1,V2) -> ISNAT(V1) 0.00/0.25 U21#(tt,V1) -> ISNAT(V1) 0.00/0.25 AND(tt,X) -> X 0.00/0.25 ISNAT(plus(V1,V2)) -> U11#(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 -> Usable rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 ->Interpretation type: 0.00/0.25 Linear 0.00/0.25 ->Coefficients: 0.00/0.25 Natural Numbers 0.00/0.25 ->Dimension: 0.00/0.25 1 0.00/0.25 ->Bound: 0.00/0.25 2 0.00/0.25 ->Interpretation: 0.00/0.25 0.00/0.25 [U11](X1,X2,X3) = X1 + 2.X2 + 2 0.00/0.25 [U12](X1,X2) = X1 + 2 0.00/0.25 [U13](X) = 2 0.00/0.25 [U21](X1,X2) = 2.X2 + 2 0.00/0.25 [U22](X) = X 0.00/0.25 [U31](X1,X2) = X2 0.00/0.25 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 0.00/0.25 [and](X1,X2) = X1 + 2.X2 + 1 0.00/0.25 [isNat](X) = 2.X + 2 0.00/0.25 [isNatKind](X) = 2.X + 1 0.00/0.25 [plus](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.25 [0] = 2 0.00/0.25 [s](X) = X 0.00/0.25 [tt] = 2 0.00/0.25 [U11#](X1,X2,X3) = X1 + 2.X2 0.00/0.25 [U21#](X1,X2) = 2.X2 + 1 0.00/0.25 [AND](X1,X2) = 2.X1 + X2 0.00/0.25 [ISNAT](X) = 2.X + 1 0.00/0.25 [ISNATKIND](X) = 2.X + 1 0.00/0.25 0.00/0.25 Problem 1.1: 0.00/0.25 0.00/0.25 SCC Processor: 0.00/0.25 -> Pairs: 0.00/0.25 U21#(tt,V1) -> ISNAT(V1) 0.00/0.25 AND(tt,X) -> X 0.00/0.25 ISNAT(plus(V1,V2)) -> U11#(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 ->Strongly Connected Components: 0.00/0.25 ->->Cycle: 0.00/0.25 ->->-> Pairs: 0.00/0.25 U21#(tt,V1) -> ISNAT(V1) 0.00/0.25 AND(tt,X) -> X 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ->->-> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 ->->-> Unhiding rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 0.00/0.25 Problem 1.1: 0.00/0.25 0.00/0.25 Reduction Pairs Processor: 0.00/0.25 -> Pairs: 0.00/0.25 U21#(tt,V1) -> ISNAT(V1) 0.00/0.25 AND(tt,X) -> X 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 -> Usable rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 ->Interpretation type: 0.00/0.25 Linear 0.00/0.25 ->Coefficients: 0.00/0.25 Natural Numbers 0.00/0.25 ->Dimension: 0.00/0.25 1 0.00/0.25 ->Bound: 0.00/0.25 2 0.00/0.25 ->Interpretation: 0.00/0.25 0.00/0.25 [U11](X1,X2,X3) = 2.X2 + 2.X3 + 2 0.00/0.25 [U12](X1,X2) = 2 0.00/0.25 [U13](X) = 2 0.00/0.25 [U21](X1,X2) = X1 + 2.X2 + 2 0.00/0.25 [U22](X) = X + 1 0.00/0.25 [U31](X1,X2) = X2 + 1 0.00/0.25 [U41](X1,X2,X3) = 2.X2 + X3 + 2 0.00/0.25 [and](X1,X2) = 2.X1 + 2.X2 0.00/0.25 [isNat](X) = 2.X + 1 0.00/0.25 [isNatKind](X) = 0 0.00/0.25 [plus](X1,X2) = X1 + 2.X2 + 1 0.00/0.25 [0] = 0 0.00/0.25 [s](X) = X + 1 0.00/0.25 [tt] = 0 0.00/0.25 [U21#](X1,X2) = 2.X2 + 2 0.00/0.25 [AND](X1,X2) = X2 0.00/0.25 [ISNAT](X) = 2.X + 1 0.00/0.25 [ISNATKIND](X) = 0 0.00/0.25 0.00/0.25 Problem 1.1: 0.00/0.25 0.00/0.25 SCC Processor: 0.00/0.25 -> Pairs: 0.00/0.25 AND(tt,X) -> X 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> U21#(isNatKind(V1),V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 ->Strongly Connected Components: 0.00/0.25 ->->Cycle: 0.00/0.25 ->->-> Pairs: 0.00/0.25 AND(tt,X) -> X 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ->->-> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 ->->-> Unhiding rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 0.00/0.25 Problem 1.1: 0.00/0.25 0.00/0.25 Reduction Pairs Processor: 0.00/0.25 -> Pairs: 0.00/0.25 AND(tt,X) -> X 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 -> Usable rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 ->Interpretation type: 0.00/0.25 Linear 0.00/0.25 ->Coefficients: 0.00/0.25 Natural Numbers 0.00/0.25 ->Dimension: 0.00/0.25 1 0.00/0.25 ->Bound: 0.00/0.25 2 0.00/0.25 ->Interpretation: 0.00/0.25 0.00/0.25 [U11](X1,X2,X3) = X1 + 2.X2 0.00/0.25 [U12](X1,X2) = X1 0.00/0.25 [U13](X) = 2 0.00/0.25 [U21](X1,X2) = 2 0.00/0.25 [U22](X) = 2 0.00/0.25 [U31](X1,X2) = 2.X2 0.00/0.25 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 0.00/0.25 [and](X1,X2) = X2 + 1 0.00/0.25 [isNat](X) = X + 2 0.00/0.25 [isNatKind](X) = 2.X + 2 0.00/0.25 [plus](X1,X2) = 2.X1 + 2.X2 + 1 0.00/0.25 [0] = 1 0.00/0.25 [s](X) = X + 1 0.00/0.25 [tt] = 2 0.00/0.25 [AND](X1,X2) = X2 + 1 0.00/0.25 [ISNAT](X) = 2.X + 1 0.00/0.25 [ISNATKIND](X) = 2.X + 2 0.00/0.25 0.00/0.25 Problem 1.1: 0.00/0.25 0.00/0.25 SCC Processor: 0.00/0.25 -> Pairs: 0.00/0.25 ISNAT(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNAT(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNAT(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> AND(isNatKind(V1),isNatKind(V2)) 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding rules: 0.00/0.25 and(isNat(N),isNatKind(N)) -> AND(isNat(N),isNatKind(N)) 0.00/0.25 and(isNat(N),isNatKind(N)) -> ISNAT(N) 0.00/0.25 isNatKind(M) -> ISNATKIND(M) 0.00/0.25 isNatKind(N) -> ISNATKIND(N) 0.00/0.25 isNatKind(V2) -> ISNATKIND(V2) 0.00/0.25 ->Strongly Connected Components: 0.00/0.25 ->->Cycle: 0.00/0.25 ->->-> Pairs: 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 ->->-> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 ->->-> Unhiding rules: 0.00/0.25 Empty 0.00/0.25 0.00/0.25 Problem 1.1: 0.00/0.25 0.00/0.25 SubNColl Processor: 0.00/0.25 -> Pairs: 0.00/0.25 ISNATKIND(plus(V1,V2)) -> ISNATKIND(V1) 0.00/0.25 ISNATKIND(s(V1)) -> ISNATKIND(V1) 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding rules: 0.00/0.25 Empty 0.00/0.25 ->Projection: 0.00/0.25 pi(ISNATKIND) = 1 0.00/0.25 0.00/0.25 Problem 1.1: 0.00/0.25 0.00/0.25 Basic Processor: 0.00/0.25 -> Pairs: 0.00/0.25 Empty 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding rules: 0.00/0.25 Empty 0.00/0.25 -> Result: 0.00/0.25 Set P is empty 0.00/0.25 0.00/0.25 The problem is finite. 0.00/0.25 0.00/0.25 Problem 1.2: 0.00/0.25 0.00/0.25 SubNColl Processor: 0.00/0.25 -> Pairs: 0.00/0.25 U41#(tt,M,N) -> PLUS(N,M) 0.00/0.25 PLUS(N,s(M)) -> U41#(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding rules: 0.00/0.25 Empty 0.00/0.25 ->Projection: 0.00/0.25 pi(U41#) = 2 0.00/0.25 pi(PLUS) = 2 0.00/0.25 0.00/0.25 Problem 1.2: 0.00/0.25 0.00/0.25 SCC Processor: 0.00/0.25 -> Pairs: 0.00/0.25 U41#(tt,M,N) -> PLUS(N,M) 0.00/0.25 -> Rules: 0.00/0.25 U11(tt,V1,V2) -> U12(isNat(V1),V2) 0.00/0.25 U12(tt,V2) -> U13(isNat(V2)) 0.00/0.25 U13(tt) -> tt 0.00/0.25 U21(tt,V1) -> U22(isNat(V1)) 0.00/0.25 U22(tt) -> tt 0.00/0.25 U31(tt,N) -> N 0.00/0.25 U41(tt,M,N) -> s(plus(N,M)) 0.00/0.25 and(tt,X) -> X 0.00/0.25 isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) 0.00/0.25 isNat(0) -> tt 0.00/0.25 isNat(s(V1)) -> U21(isNatKind(V1),V1) 0.00/0.25 isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) 0.00/0.25 isNatKind(0) -> tt 0.00/0.25 isNatKind(s(V1)) -> isNatKind(V1) 0.00/0.25 plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) 0.00/0.25 plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) 0.00/0.25 -> Unhiding rules: 0.00/0.25 Empty 0.00/0.25 ->Strongly Connected Components: 0.00/0.25 There is no strongly connected component 0.00/0.25 0.00/0.25 The problem is finite. 0.00/0.25 EOF