YES Problem 1: (VAR v_NonEmpty:S M:S N:S V1:S V2:S X:S X1:S X2:S) (RULES 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ) Problem 1: Dependency Pairs Processor: -> Pairs: U11#(tt,V1:S,V2:S) -> U12#(isNat(activate(V1:S)),activate(V2:S)) U11#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U11#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U11#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U12#(tt,V2:S) -> U13#(isNat(activate(V2:S))) U12#(tt,V2:S) -> ACTIVATE(V2:S) U12#(tt,V2:S) -> ISNAT(activate(V2:S)) U21#(tt,V1:S) -> U22#(isNat(activate(V1:S))) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) U41#(tt,M:S,N:S) -> S(plus(activate(N:S),activate(M:S))) ACTIVATE(n__0) -> 0# ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) ACTIVATE(n__s(X:S)) -> S(X:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: SCC Processor: -> Pairs: U11#(tt,V1:S,V2:S) -> U12#(isNat(activate(V1:S)),activate(V2:S)) U11#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U11#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U11#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U12#(tt,V2:S) -> U13#(isNat(activate(V2:S))) U12#(tt,V2:S) -> ACTIVATE(V2:S) U12#(tt,V2:S) -> ISNAT(activate(V2:S)) U21#(tt,V1:S) -> U22#(isNat(activate(V1:S))) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) U41#(tt,M:S,N:S) -> S(plus(activate(N:S),activate(M:S))) ACTIVATE(n__0) -> 0# ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) ACTIVATE(n__s(X:S)) -> S(X:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U11#(tt,V1:S,V2:S) -> U12#(isNat(activate(V1:S)),activate(V2:S)) U11#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U11#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U11#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U12#(tt,V2:S) -> ACTIVATE(V2:S) U12#(tt,V2:S) -> ISNAT(activate(V2:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: U11#(tt,V1:S,V2:S) -> U12#(isNat(activate(V1:S)),activate(V2:S)) U11#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U11#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U11#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U12#(tt,V2:S) -> ACTIVATE(V2:S) U12#(tt,V2:S) -> ISNAT(activate(V2:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 1 [U11](X1,X2,X3) = 0 [U12](X1,X2) = 2.X1 [U13](X) = 2.X [U21](X1,X2) = 0 [U22](X) = 2.X [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = 2.X1 + X2 [isNat](X) = 0 [isNatKind](X) = X + 1 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 1 [n__and](X1,X2) = 2.X1 + X2 [n__isNatKind](X) = X + 1 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 0 [U11#](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 [U12#](X1,X2) = 2.X2 + 1 [U21#](X1,X2) = 2.X2 + 1 [U31#](X1,X2) = 2.X2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = 2.X [AND](X1,X2) = 2.X2 [ISNAT](X) = 2.X + 1 [ISNATKIND](X) = 2.X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U11#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U11#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U11#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U12#(tt,V2:S) -> ACTIVATE(V2:S) U12#(tt,V2:S) -> ISNAT(activate(V2:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U11#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U11#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U11#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: U11#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U11#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U11#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2 [U12](X1,X2) = X1 [U13](X) = 2 [U21](X1,X2) = 2 [U22](X) = 2 [U31](X1,X2) = 2.X2 + 1 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X2 [isNat](X) = 2 [isNatKind](X) = 2.X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X2 [n__isNatKind](X) = 2.X [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U11#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U21#](X1,X2) = 2.X2 + 2 [U31#](X1,X2) = X2 + 1 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 1 [AND](X1,X2) = X2 + 1 [ISNAT](X) = 2.X [ISNATKIND](X) = 2.X [PLUS](X1,X2) = 2.X1 + 2.X2 + 1 Problem 1: SCC Processor: -> Pairs: U11#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U11#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U11#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U11#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: U11#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U11#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 0 [U12](X1,X2) = 2.X1 [U13](X) = 0 [U21](X1,X2) = 0 [U22](X) = 2.X [U31](X1,X2) = X1 + X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X2 + 1 [isNat](X) = 0 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X2 + 1 [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 0 [U11#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 [U21#](X1,X2) = 2.X2 + 2 [U31#](X1,X2) = 2.X2 + 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = 2.X + 1 [AND](X1,X2) = 2.X2 + 2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U11#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U11#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: U11#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X2 + 2.X3 [U12](X1,X2) = 2.X1 + 2.X2 [U13](X) = 2.X + 2 [U21](X1,X2) = X2 + 2 [U22](X) = X + 2 [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = 2.X2 [isNat](X) = X [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 [s](X) = X + 2 [n__0] = 2 [n__and](X1,X2) = 2.X2 [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 [n__s](X) = X + 2 [tt] = 2 [U11#](X1,X2,X3) = 2.X1 + 2.X2 + 2 [U21#](X1,X2) = 2.X2 + 2 [U31#](X1,X2) = 2.X2 + 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X [AND](X1,X2) = X2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = X [PLUS](X1,X2) = 2.X1 + 2.X2 Problem 1: SCC Processor: -> Pairs: U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U12](X1,X2) = 2.X1 + 2.X2 [U13](X) = 2.X [U21](X1,X2) = X2 + 2 [U22](X) = 2 [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 + 1 [isNat](X) = X + 1 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X1 + X2 + 1 [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U21#](X1,X2) = 2.X2 + 2 [U31#](X1,X2) = 2.X2 + 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 1 [AND](X1,X2) = X1 + X2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: U21#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = X1 + 2.X2 + 2 [U12](X1,X2) = 2.X1 [U13](X) = 2 [U21](X1,X2) = X2 + 2 [U22](X) = X [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X2 + 1 [isNat](X) = X + 2 [isNatKind](X) = 2.X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X2 + 1 [n__isNatKind](X) = 2.X [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U21#](X1,X2) = 2.X2 + 2 [U31#](X1,X2) = 2.X2 + 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 [ACTIVATE](X) = X [AND](X1,X2) = X2 + 1 [ISNAT](X) = 2.X [ISNATKIND](X) = 2.X [PLUS](X1,X2) = 2.X1 + 2.X2 Problem 1: SCC Processor: -> Pairs: U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> U21#(isNatKind(activate(V1:S)),activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: U31#(tt,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 1 [U12](X1,X2) = X1 + 2.X2 [U13](X) = X + 1 [U21](X1,X2) = 2.X2 + 2 [U22](X) = X + 1 [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X2 + 1 [isNat](X) = 2.X + 1 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X2 + 1 [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U31#](X1,X2) = 2.X2 + 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = 2.X + 1 [AND](X1,X2) = 2.X2 + 1 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> U31#(and(isNat(N:S),n__isNatKind(N:S)),N:S) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: U41#(tt,M:S,N:S) -> ACTIVATE(M:S) U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 0 [U12](X1,X2) = 2.X1 [U13](X) = 2.X [U21](X1,X2) = 0 [U22](X) = X [U31](X1,X2) = 2.X2 + 1 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = 2.X1 + 2.X2 + 1 [isNat](X) = 0 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = 2.X1 + 2.X2 + 1 [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 0 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 1 [AND](X1,X2) = X2 + 2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: U41#(tt,M:S,N:S) -> ACTIVATE(N:S) U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 0 [U12](X1,X2) = 2.X1 [U13](X) = 0 [U21](X1,X2) = 0 [U22](X) = 0 [U31](X1,X2) = 2.X2 + 1 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = 2.X1 + X2 + 1 [isNat](X) = 0 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = 2.X1 + X2 + 1 [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 0 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = 2.X [AND](X1,X2) = 2.X2 + 2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: U41#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X2 + 2.X3 + 1 [U12](X1,X2) = 2.X1 + 2.X2 [U13](X) = 2.X + 2 [U21](X1,X2) = X1 + 1 [U22](X) = 2 [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 + 1 [isNat](X) = X [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X1 + X2 + 1 [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 2 [AND](X1,X2) = X2 + 2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 1 Problem 1: SCC Processor: -> Pairs: ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U41#(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: ACTIVATE(n__and(X1:S,X2:S)) -> AND(X1:S,X2:S) ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2 [U12](X1,X2) = 2 [U13](X) = 2 [U21](X1,X2) = 2 [U22](X) = X [U31](X1,X2) = 2.X2 [U41](X1,X2,X3) = X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X2 + 1 [isNat](X) = 2 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + X2 + 2 [s](X) = X [n__0] = 2 [n__and](X1,X2) = X2 + 1 [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + X2 + 2 [n__s](X) = X [tt] = 2 [ACTIVATE](X) = 2.X [AND](X1,X2) = 2.X2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: ACTIVATE(n__isNatKind(X:S)) -> ISNATKIND(X:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 1 [U12](X1,X2) = 1 [U13](X) = 1 [U21](X1,X2) = 1 [U22](X) = 1 [U31](X1,X2) = X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = 2.X1 + X2 [isNat](X) = 1 [isNatKind](X) = 2.X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = 2.X1 + X2 [n__isNatKind](X) = 2.X [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 0 [ACTIVATE](X) = X + 2 [AND](X1,X2) = X2 + 2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(X1:S,X2:S) AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 [U12](X1,X2) = X1 + 2.X2 + 2 [U13](X) = 2 [U21](X1,X2) = X2 + 2 [U22](X) = 2 [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X2 [isNat](X) = 2.X + 2 [isNatKind](X) = 2 [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X2 [n__isNatKind](X) = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [ACTIVATE](X) = X + 2 [AND](X1,X2) = X1 + X2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: AND(tt,X:S) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNAT(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNAT(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNAT(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNAT(n__s(V1:S)) -> ACTIVATE(V1:S) ISNAT(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V1:S) ISNATKIND(n__plus(V1:S,V2:S)) -> ACTIVATE(V2:S) ISNATKIND(n__plus(V1:S,V2:S)) -> AND(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ACTIVATE(V1:S) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) PLUS(N:S,0) -> AND(isNat(N:S),n__isNatKind(N:S)) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> AND(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))) PLUS(N:S,s(M:S)) -> AND(isNat(M:S),n__isNatKind(M:S)) PLUS(N:S,s(M:S)) -> ISNAT(M:S) PLUS(N:S,s(M:S)) -> ISNAT(N:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: ISNATKIND(n__plus(V1:S,V2:S)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X1 + 2.X2 [U12](X1,X2) = X1 + 2 [U13](X) = 2 [U21](X1,X2) = 2.X1 [U22](X) = 2 [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = 2.X2 + 1 [isNat](X) = 2.X + 2 [isNatKind](X) = X + 1 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__and](X1,X2) = 2.X2 + 1 [n__isNatKind](X) = X + 1 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [ISNATKIND](X) = X Problem 1: SCC Processor: -> Pairs: ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) Problem 1: Reduction Pair Processor: -> Pairs: ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) -> Usable rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = X1 + 2.X2 + 2 [U12](X1,X2) = X1 + 2 [U13](X) = 2 [U21](X1,X2) = X1 + 2 [U22](X) = 2 [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = 2.X2 [isNat](X) = 2.X + 2 [isNatKind](X) = 2.X + 1 [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = 2.X2 [n__isNatKind](X) = 2.X + 1 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [ISNATKIND](X) = 2.X Problem 1: SCC Processor: -> Pairs: Empty -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNat(activate(V1:S)),activate(V2:S)) U12(tt,V2:S) -> U13(isNat(activate(V2:S))) U13(tt) -> tt U21(tt,V1:S) -> U22(isNat(activate(V1:S))) U22(tt) -> tt U31(tt,N:S) -> activate(N:S) U41(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__and(X1:S,X2:S)) -> and(X1:S,X2:S) activate(n__isNatKind(X:S)) -> isNatKind(X:S) activate(n__plus(X1:S,X2:S)) -> plus(X1:S,X2:S) activate(n__s(X:S)) -> s(X:S) activate(X:S) -> X:S and(tt,X:S) -> activate(X:S) and(X1:S,X2:S) -> n__and(X1:S,X2:S) isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))),activate(V1:S),activate(V2:S)) isNat(n__s(V1:S)) -> U21(isNatKind(activate(V1:S)),activate(V1:S)) isNatKind(n__0) -> tt isNatKind(n__plus(V1:S,V2:S)) -> and(isNatKind(activate(V1:S)),n__isNatKind(activate(V2:S))) isNatKind(n__s(V1:S)) -> isNatKind(activate(V1:S)) isNatKind(X:S) -> n__isNatKind(X:S) plus(N:S,0) -> U31(and(isNat(N:S),n__isNatKind(N:S)),N:S) plus(N:S,s(M:S)) -> U41(and(and(isNat(M:S),n__isNatKind(M:S)),n__and(isNat(N:S),n__isNatKind(N:S))),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Strongly Connected Components: There is no strongly connected component The problem is finite.