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