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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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#(isNatKind(activate(V1:S)),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) -> ISNATKIND(activate(V1:S)) U12#(tt,V1:S,V2:S) -> U13#(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U12#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U12#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U12#(tt,V1:S,V2:S) -> ISNATKIND(activate(V2:S)) U13#(tt,V1:S,V2:S) -> U14#(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U13#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U13#(tt,V1:S,V2:S) -> ISNATKIND(activate(V2:S)) U14#(tt,V1:S,V2:S) -> U15#(isNat(activate(V1:S)),activate(V2:S)) U14#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U14#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U14#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U15#(tt,V2:S) -> U16#(isNat(activate(V2:S))) U15#(tt,V2:S) -> ACTIVATE(V2:S) U15#(tt,V2:S) -> ISNAT(activate(V2:S)) U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> U23#(isNat(activate(V1:S))) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> U32#(isNatKind(activate(V2:S))) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) U64#(tt,M:S,N:S) -> S(plus(activate(N:S),activate(M:S))) ACTIVATE(n__0) -> 0# ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ACTIVATE(n__s(X:S)) -> S(activate(X:S)) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> U41#(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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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#(isNatKind(activate(V1:S)),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) -> ISNATKIND(activate(V1:S)) U12#(tt,V1:S,V2:S) -> U13#(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U12#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U12#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U12#(tt,V1:S,V2:S) -> ISNATKIND(activate(V2:S)) U13#(tt,V1:S,V2:S) -> U14#(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U13#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U13#(tt,V1:S,V2:S) -> ISNATKIND(activate(V2:S)) U14#(tt,V1:S,V2:S) -> U15#(isNat(activate(V1:S)),activate(V2:S)) U14#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U14#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U14#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U15#(tt,V2:S) -> U16#(isNat(activate(V2:S))) U15#(tt,V2:S) -> ACTIVATE(V2:S) U15#(tt,V2:S) -> ISNAT(activate(V2:S)) U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> U23#(isNat(activate(V1:S))) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> U32#(isNatKind(activate(V2:S))) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) U64#(tt,M:S,N:S) -> S(plus(activate(N:S),activate(M:S))) ACTIVATE(n__0) -> 0# ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ACTIVATE(n__s(X:S)) -> S(activate(X:S)) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> ISNATKIND(activate(V1:S)) ISNATKIND(n__s(V1:S)) -> U41#(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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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#(isNatKind(activate(V1:S)),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) -> ISNATKIND(activate(V1:S)) U12#(tt,V1:S,V2:S) -> U13#(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U12#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U12#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U12#(tt,V1:S,V2:S) -> ISNATKIND(activate(V2:S)) U13#(tt,V1:S,V2:S) -> U14#(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U13#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U13#(tt,V1:S,V2:S) -> ISNATKIND(activate(V2:S)) U14#(tt,V1:S,V2:S) -> U15#(isNat(activate(V1:S)),activate(V2:S)) U14#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U14#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U14#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U15#(tt,V2:S) -> ACTIVATE(V2:S) U15#(tt,V2:S) -> ISNAT(activate(V2:S)) U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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#(isNatKind(activate(V1:S)),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) -> ISNATKIND(activate(V1:S)) U12#(tt,V1:S,V2:S) -> U13#(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U12#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U12#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U12#(tt,V1:S,V2:S) -> ISNATKIND(activate(V2:S)) U13#(tt,V1:S,V2:S) -> U14#(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U13#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U13#(tt,V1:S,V2:S) -> ISNATKIND(activate(V2:S)) U14#(tt,V1:S,V2:S) -> U15#(isNat(activate(V1:S)),activate(V2:S)) U14#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U14#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U14#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U15#(tt,V2:S) -> ACTIVATE(V2:S) U15#(tt,V2:S) -> ISNAT(activate(V2:S)) U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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.X3 + 2 [U12](X1,X2,X3) = X1 + 2.X3 + 2 [U13](X1,X2,X3) = 2.X3 + 2 [U14](X1,X2,X3) = 2.X3 + 2 [U15](X1,X2) = 2.X2 + 2 [U16](X) = X + 2 [U21](X1,X2) = 2.X2 [U22](X1,X2) = 2.X2 [U23](X) = X [U31](X1,X2) = 2.X1 + 2.X2 + 1 [U32](X) = X + 2 [U41](X) = 2 [U51](X1,X2) = 2.X2 + 2 [U52](X1,X2) = 2.X2 + 1 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = 2.X [isNatKind](X) = 2.X + 2 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [U11#](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 [U12#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U13#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U14#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U15#](X1,X2) = X1 + 2.X2 + 2 [U21#](X1,X2) = 2.X2 + 2 [U22#](X1,X2) = 2.X2 + 2 [U31#](X1,X2) = 2.X1 + 2.X2 + 1 [U51#](X1,X2) = 2.X2 + 2 [U52#](X1,X2) = 2.X2 + 1 [U61#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = 2.X + 1 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X + 2 [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) -> ISNATKIND(activate(V1:S)) U12#(tt,V1:S,V2:S) -> U13#(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U12#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U12#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U12#(tt,V1:S,V2:S) -> ISNATKIND(activate(V2:S)) U13#(tt,V1:S,V2:S) -> U14#(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U13#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U13#(tt,V1:S,V2:S) -> ISNATKIND(activate(V2:S)) U14#(tt,V1:S,V2:S) -> U15#(isNat(activate(V1:S)),activate(V2:S)) U14#(tt,V1:S,V2:S) -> ACTIVATE(V1:S) U14#(tt,V1:S,V2:S) -> ACTIVATE(V2:S) U14#(tt,V1:S,V2:S) -> ISNAT(activate(V1:S)) U15#(tt,V2:S) -> ACTIVATE(V2:S) U15#(tt,V2:S) -> ISNAT(activate(V2:S)) U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) -> ISNATKIND(activate(V1:S)) U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) -> ISNATKIND(activate(V1:S)) U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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 [U12](X1,X2,X3) = X1 + 2 [U13](X1,X2,X3) = 2.X1 + 2 [U14](X1,X2,X3) = 2.X1 + 2 [U15](X1,X2) = 2 [U16](X) = 1 [U21](X1,X2) = 0 [U22](X1,X2) = 2.X1 [U23](X) = 0 [U31](X1,X2) = 2.X1 [U32](X) = 2.X [U41](X) = 2.X [U51](X1,X2) = 2.X1 + 2.X2 + 2 [U52](X1,X2) = 2.X1 + 2.X2 + 2 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = 2 [isNatKind](X) = 0 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 0 [U11#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 [U21#](X1,X2) = 2.X1 + 2.X2 + 1 [U22#](X1,X2) = 2.X1 + 2.X2 + 1 [U31#](X1,X2) = 2.X1 + 2.X2 + 2 [U51#](X1,X2) = X1 + 2.X2 + 1 [U52#](X1,X2) = 2.X2 + 1 [U61#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 [U63#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 [ACTIVATE](X) = 2.X + 1 [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(V2:S) U11#(tt,V1:S,V2:S) -> ISNATKIND(activate(V1:S)) U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) -> ISNATKIND(activate(V1:S)) U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) -> ISNATKIND(activate(V1:S)) U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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,X3) = 2.X2 + 2.X3 + 2 [U13](X1,X2,X3) = X1 + 2.X2 + X3 + 2 [U14](X1,X2,X3) = X1 + 2.X2 + 2 [U15](X1,X2) = X1 + 2 [U16](X) = 2 [U21](X1,X2) = 2.X2 + 2 [U22](X1,X2) = 2.X1 + 2 [U23](X) = 2 [U31](X1,X2) = 2.X1 + 2.X2 [U32](X) = 2.X + 2 [U41](X) = 2 [U51](X1,X2) = 2.X2 + 2 [U52](X1,X2) = X1 + X2 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = 2.X + 1 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 [s](X) = X + 2 [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 [n__s](X) = X + 2 [tt] = 2 [U11#](X1,X2,X3) = 2.X1 + 2.X2 + X3 + 1 [U21#](X1,X2) = 2.X2 + 2 [U22#](X1,X2) = 2.X2 + 1 [U31#](X1,X2) = 2.X1 + 2.X2 [U51#](X1,X2) = 2.X2 + 2 [U52#](X1,X2) = X1 + X2 [U61#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62#](X1,X2,X3) = 2.X2 + 2.X3 + 1 [U63#](X1,X2,X3) = 2.X2 + 2.X3 + 1 [U64#](X1,X2,X3) = 2.X2 + 2.X3 + 1 [ACTIVATE](X) = X + 1 [ISNAT](X) = 2.X + 1 [ISNATKIND](X) = 2.X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 1 Problem 1: SCC Processor: -> Pairs: U11#(tt,V1:S,V2:S) -> ISNATKIND(activate(V1:S)) U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) -> ISNATKIND(activate(V1:S)) U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) -> ISNATKIND(activate(V1:S)) U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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.X3 + 1 [U12](X1,X2,X3) = 2.X3 + 2 [U13](X1,X2,X3) = 2.X3 + 2 [U14](X1,X2,X3) = X1 + X3 + 2 [U15](X1,X2) = X2 + 2 [U16](X) = X + 1 [U21](X1,X2) = X1 + 1 [U22](X1,X2) = 2 [U23](X) = 2 [U31](X1,X2) = 2 [U32](X) = 2 [U41](X) = X [U51](X1,X2) = X1 + X2 [U52](X1,X2) = X2 + 1 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = X + 1 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [U11#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 [U21#](X1,X2) = 2.X2 + 1 [U22#](X1,X2) = 2.X2 + 1 [U31#](X1,X2) = 2.X2 + 2 [U51#](X1,X2) = 2.X2 + 2 [U52#](X1,X2) = 2.X2 + 2 [U61#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = 2.X + 1 [ISNAT](X) = 2.X + 1 [ISNATKIND](X) = 2.X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U21#(tt,V1:S) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) ISNAT(n__plus(V1:S,V2:S)) -> U11#(isNatKind(activate(V1: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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) -> U22#(isNatKind(activate(V1:S)),activate(V1:S)) U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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.X3 [U12](X1,X2,X3) = X1 + 2.X2 + 2.X3 [U13](X1,X2,X3) = X1 + 2.X2 + 2.X3 [U14](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U15](X1,X2) = 2.X1 + 2.X2 [U16](X) = 2.X + 2 [U21](X1,X2) = X2 + 2 [U22](X1,X2) = X2 + 2 [U23](X) = X + 1 [U31](X1,X2) = 2 [U32](X) = X [U41](X) = 2 [U51](X1,X2) = X1 + X2 + 1 [U52](X1,X2) = X1 + X2 + 1 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = X1 + 2.X2 + 2.X3 [activate](X) = X [isNat](X) = X + 1 [isNatKind](X) = 2 [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U21#](X1,X2) = X1 + 2.X2 + 2 [U22#](X1,X2) = X1 + 2.X2 + 1 [U31#](X1,X2) = 2.X2 + 2 [U51#](X1,X2) = X1 + X2 + 2 [U52#](X1,X2) = X2 + 2 [U61#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62#](X1,X2,X3) = X1 + 2.X2 + 2.X3 [U63#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U21#(tt,V1:S) -> ACTIVATE(V1:S) U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U22#(tt,V1:S) -> ACTIVATE(V1:S) U22#(tt,V1:S) -> ISNAT(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) -> ISNATKIND(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) -> ISNATKIND(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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] = 0 [U11](X1,X2,X3) = 2.X2 + X3 + 2 [U12](X1,X2,X3) = X1 + 2.X2 [U13](X1,X2,X3) = X1 + 2.X2 [U14](X1,X2,X3) = 2.X2 + 2 [U15](X1,X2) = 2 [U16](X) = 2 [U21](X1,X2) = 2.X1 + 2.X2 + 2 [U22](X1,X2) = 2.X2 + 2 [U23](X) = 2 [U31](X1,X2) = X1 [U32](X) = 2 [U41](X) = 2 [U51](X1,X2) = 2.X2 [U52](X1,X2) = X2 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = X1 + 2.X2 + 2.X3 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = X1 + 2.X2 + 2.X3 [activate](X) = X [isNat](X) = 2.X + 2 [isNatKind](X) = 2 [plus](X1,X2) = 2.X1 + 2.X2 [s](X) = X + 2 [n__0] = 0 [n__plus](X1,X2) = 2.X1 + 2.X2 [n__s](X) = X + 2 [tt] = 2 [U21#](X1,X2) = 2.X1 + 2.X2 + 1 [U31#](X1,X2) = 2.X2 + 2 [U51#](X1,X2) = 2.X2 + 2 [U52#](X1,X2) = X1 + 2.X2 [U61#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64#](X1,X2,X3) = X1 + 2.X2 + 2.X3 [ACTIVATE](X) = 2.X + 2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U21#(tt,V1:S) -> ISNATKIND(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) -> ISNATKIND(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) -> ISNATKIND(activate(V1:S)) U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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,X3) = 2 [U13](X1,X2,X3) = 2 [U14](X1,X2,X3) = 2 [U15](X1,X2) = X1 [U16](X) = 2 [U21](X1,X2) = 2 [U22](X1,X2) = 2 [U23](X) = 2 [U31](X1,X2) = 2.X2 + 2 [U32](X) = 2 [U41](X) = 2 [U51](X1,X2) = 2.X2 + 2 [U52](X1,X2) = 2.X2 + 2 [U61](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = 2 [isNatKind](X) = X + 2 [plus](X1,X2) = 2.X1 + 2.X2 [s](X) = X + 2 [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 [n__s](X) = X + 2 [tt] = 2 [U21#](X1,X2) = X1 + X2 + 2 [U31#](X1,X2) = 2.X2 + 2 [U51#](X1,X2) = 2.X1 + 2.X2 + 2 [U52#](X1,X2) = X1 + X2 + 1 [U61#](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 [U62#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U31#(tt,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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,V2:S) -> ACTIVATE(V2:S) U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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.X3 + 2 [U12](X1,X2,X3) = 2.X3 + 2 [U13](X1,X2,X3) = X1 + X3 + 1 [U14](X1,X2,X3) = X1 + 2 [U15](X1,X2) = 2 [U16](X) = 2 [U21](X1,X2) = X1 + 1 [U22](X1,X2) = 2 [U23](X) = 2 [U31](X1,X2) = 2.X1 + 2.X2 + 1 [U32](X) = 2 [U41](X) = X [U51](X1,X2) = X1 + X2 + 2 [U52](X1,X2) = X2 + 2 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = X + 2 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U31#](X1,X2) = 2.X1 + 2.X2 + 2 [U51#](X1,X2) = X1 + X2 [U52#](X1,X2) = X2 + 2 [U61#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 1 Problem 1: SCC Processor: -> Pairs: U31#(tt,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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,V2:S) -> ISNATKIND(activate(V2:S)) U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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,X3) = X1 [U13](X1,X2,X3) = 2 [U14](X1,X2,X3) = 2 [U15](X1,X2) = 2 [U16](X) = 2 [U21](X1,X2) = X1 [U22](X1,X2) = X1 [U23](X) = 2 [U31](X1,X2) = 2 [U32](X) = 2 [U41](X) = X [U51](X1,X2) = 2.X1 + 2.X2 + 2 [U52](X1,X2) = X1 + 2.X2 + 1 [U61](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 [U64](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = 2 [isNatKind](X) = 2 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X + 2 [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X + 2 [tt] = 2 [U31#](X1,X2) = X1 + 2.X2 + 2 [U51#](X1,X2) = 2.X1 + 2.X2 + 2 [U52#](X1,X2) = 2.X1 + 2.X2 + 2 [U61#](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 [U62#](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 [U63#](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 [U64#](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 [ACTIVATE](X) = 2.X + 2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> U31#(isNatKind(activate(V1:S)),activate(V2: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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U51#(tt,N:S) -> U52#(isNatKind(activate(N:S)),activate(N:S)) U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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,X3) = 2.X2 + 2.X3 + 2 [U13](X1,X2,X3) = X1 + 2.X2 + X3 + 1 [U14](X1,X2,X3) = X1 + 2.X2 + 2 [U15](X1,X2) = X1 + 1 [U16](X) = 2 [U21](X1,X2) = 2.X2 + 2 [U22](X1,X2) = 2.X1 + 2 [U23](X) = 2 [U31](X1,X2) = 2.X1 + 2.X2 + 1 [U32](X) = 2.X [U41](X) = X + 1 [U51](X1,X2) = 2.X2 + 2 [U52](X1,X2) = X1 + X2 + 2 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = 2.X + 2 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U51#](X1,X2) = 2.X2 + 2 [U52#](X1,X2) = 2.X2 + 1 [U61#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = 2.X [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U52#(tt,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U51#(tt,N:S) -> ACTIVATE(N:S) U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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,X3) = 2 [U13](X1,X2,X3) = 2 [U14](X1,X2,X3) = 2 [U15](X1,X2) = 2 [U16](X) = 2 [U21](X1,X2) = 2 [U22](X1,X2) = 2 [U23](X) = X [U31](X1,X2) = 2.X1 + 1 [U32](X) = 2 [U41](X) = X + 2 [U51](X1,X2) = X2 + 1 [U52](X1,X2) = X2 + 1 [U61](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 1 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = X1 + 2.X2 + 2.X3 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = 2 [isNatKind](X) = 2.X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U51#](X1,X2) = 2.X1 + 2.X2 + 2 [U61#](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 1 [U62#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = 2.X + 2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U51#(tt,N:S) -> ISNATKIND(activate(N:S)) U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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,X3) = 2.X2 + 2.X3 + 2 [U13](X1,X2,X3) = X1 + 2.X2 + X3 + 1 [U14](X1,X2,X3) = X1 + 2.X2 + 2 [U15](X1,X2) = 2.X1 + 2 [U16](X) = 2 [U21](X1,X2) = X1 [U22](X1,X2) = 2 [U23](X) = 2 [U31](X1,X2) = X1 + 2.X2 + 2 [U32](X) = 2.X + 2 [U41](X) = X [U51](X1,X2) = 2.X2 + 2 [U52](X1,X2) = X1 + X2 + 1 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = X + 1 [isNatKind](X) = X + 1 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [U51#](X1,X2) = 2.X2 + 2 [U61#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = 2.X + 1 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> U51#(isNat(N:S),N:S) PLUS(N:S,0) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U61#(tt,M:S,N:S) -> U62#(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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 + 2 [U12](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U13](X1,X2,X3) = X1 + 2.X2 + X3 + 2 [U14](X1,X2,X3) = X1 + 2.X2 [U15](X1,X2) = X1 + 2 [U16](X) = 2 [U21](X1,X2) = 2.X1 + 2 [U22](X1,X2) = 2 [U23](X) = 2 [U31](X1,X2) = 2.X1 + 2.X2 + 1 [U32](X) = 2.X + 1 [U41](X) = X + 1 [U51](X1,X2) = X2 + 2 [U52](X1,X2) = X2 + 2 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = 2.X [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U61#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62#](X1,X2,X3) = 2.X2 + 2.X3 + 1 [U63#](X1,X2,X3) = 2.X2 + 2.X3 + 1 [U64#](X1,X2,X3) = 2.X2 + 2.X3 + 1 [ACTIVATE](X) = 2.X + 1 [ISNAT](X) = 2.X + 1 [ISNATKIND](X) = 2.X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 1 Problem 1: SCC Processor: -> Pairs: U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) U62#(tt,M:S,N:S) -> U63#(isNat(activate(N:S)),activate(M:S),activate(N:S)) U62#(tt,M:S,N:S) -> ACTIVATE(M:S) U62#(tt,M:S,N:S) -> ACTIVATE(N:S) U62#(tt,M:S,N:S) -> ISNAT(activate(N:S)) U63#(tt,M:S,N:S) -> U64#(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U63#(tt,M:S,N:S) -> ACTIVATE(M:S) U63#(tt,M:S,N:S) -> ACTIVATE(N:S) U63#(tt,M:S,N:S) -> ISNATKIND(activate(N:S)) U64#(tt,M:S,N:S) -> ACTIVATE(M:S) U64#(tt,M:S,N:S) -> ACTIVATE(N:S) U64#(tt,M:S,N:S) -> PLUS(activate(N:S),activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U61#(tt,M:S,N:S) -> ACTIVATE(M:S) U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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 + 2 [U12](X1,X2,X3) = 2.X1 + 2.X3 + 2 [U13](X1,X2,X3) = X1 + X3 + 1 [U14](X1,X2,X3) = X1 + 1 [U15](X1,X2) = 2 [U16](X) = 2 [U21](X1,X2) = 2.X2 + 2 [U22](X1,X2) = X1 + X2 [U23](X) = 2 [U31](X1,X2) = X1 + 2.X2 + 2 [U32](X) = 2.X [U41](X) = 2 [U51](X1,X2) = 2.X2 [U52](X1,X2) = 2.X2 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = 2.X + 2 [isNatKind](X) = X + 2 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [U61#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 1 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U61#(tt,M:S,N:S) -> ACTIVATE(N:S) U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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.X3 + 1 [U12](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U13](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U14](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U15](X1,X2) = X1 + 2.X2 + 1 [U16](X) = X + 2 [U21](X1,X2) = 2.X2 + 1 [U22](X1,X2) = 2.X2 + 1 [U23](X) = X [U31](X1,X2) = 2.X1 + X2 + 1 [U32](X) = 2 [U41](X) = 2 [U51](X1,X2) = 2.X2 + 1 [U52](X1,X2) = 2.X2 + 1 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = 2.X + 1 [isNatKind](X) = 2.X + 2 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [U61#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = 2.X + 1 [ISNAT](X) = 2.X + 1 [ISNATKIND](X) = 2.X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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: U61#(tt,M:S,N:S) -> ISNATKIND(activate(M:S)) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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.X3 + 1 [U12](X1,X2,X3) = 2.X3 + 2 [U13](X1,X2,X3) = X1 + X3 + 2 [U14](X1,X2,X3) = X1 + 1 [U15](X1,X2) = 2 [U16](X) = 2 [U21](X1,X2) = X2 + 1 [U22](X1,X2) = X1 + 1 [U23](X) = 2 [U31](X1,X2) = 2.X1 + 2.X2 + 2 [U32](X) = 2.X + 2 [U41](X) = X [U51](X1,X2) = X1 + X2 + 2 [U52](X1,X2) = X2 + 2 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = X + 2 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [U61#](X1,X2,X3) = X1 + X2 [ACTIVATE](X) = X [ISNAT](X) = 2.X + 1 [ISNATKIND](X) = X [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> U61#(isNat(M:S),M:S,N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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)) -> ACTIVATE(X1:S) ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) = 2.X1 + 2.X2 + 2.X3 [U12](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 [U13](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 [U14](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 [U15](X1,X2) = X1 + 2.X2 + 2 [U16](X) = X + 1 [U21](X1,X2) = X1 + 2.X2 + 1 [U22](X1,X2) = 2.X2 + 2 [U23](X) = 2 [U31](X1,X2) = 2 [U32](X) = 2 [U41](X) = 2 [U51](X1,X2) = 2.X2 [U52](X1,X2) = X2 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = X1 + 2.X2 + 2.X3 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = X1 + 2.X2 + 2.X3 [activate](X) = X [isNat](X) = 2.X + 2 [isNatKind](X) = 2 [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 1 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [ACTIVATE](X) = 2.X + 2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: ACTIVATE(n__plus(X1:S,X2:S)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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)) -> ACTIVATE(X2:S) ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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,X3) = X1 [U13](X1,X2,X3) = 2 [U14](X1,X2,X3) = X1 [U15](X1,X2) = 2 [U16](X) = X [U21](X1,X2) = X1 [U22](X1,X2) = X1 [U23](X) = 2 [U31](X1,X2) = 2 [U32](X) = 2 [U41](X) = X [U51](X1,X2) = 2.X1 + X2 [U52](X1,X2) = X1 + X2 + 2 [U61](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = 2 [isNatKind](X) = 2 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X + 2 [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X + 2 [tt] = 2 [ACTIVATE](X) = 2.X + 1 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 1 Problem 1: SCC Processor: -> Pairs: ACTIVATE(n__plus(X1:S,X2:S)) -> PLUS(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(activate(X1:S),activate(X2:S)) ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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.X3 + 2 [U12](X1,X2,X3) = 2.X3 [U13](X1,X2,X3) = X1 [U14](X1,X2,X3) = 2 [U15](X1,X2) = 2 [U16](X) = 2 [U21](X1,X2) = 2.X2 + 2 [U22](X1,X2) = X2 + 2 [U23](X) = 2 [U31](X1,X2) = 2.X1 + 2.X2 + 2 [U32](X) = 2 [U41](X) = X [U51](X1,X2) = 2.X2 + 2 [U52](X1,X2) = 2.X2 + 2 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = 2.X + 2 [isNatKind](X) = 2.X [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [ACTIVATE](X) = 2.X + 2 [ISNAT](X) = 2.X + 2 [ISNATKIND](X) = 2.X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: ACTIVATE(n__s(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)) -> 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)) -> 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) -> ISNAT(N:S) PLUS(N:S,s(M:S)) -> ISNAT(M:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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__s(X:S)) -> ACTIVATE(X:S) ->->-> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M:S),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->->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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M:S),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) The problem is decomposed in 2 subproblems. Problem 1.1: Subterm Processor: -> Pairs: ACTIVATE(n__s(X:S)) -> ACTIVATE(X:S) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M:S),M:S,N:S) plus(X1:S,X2:S) -> n__plus(X1:S,X2:S) s(X:S) -> n__s(X:S) ->Projection: pi(ACTIVATE) = 1 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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. Problem 1.2: 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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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) = X1 + 2.X2 + 2.X3 + 2 [U12](X1,X2,X3) = X1 + X2 + 2.X3 + 2 [U13](X1,X2,X3) = X1 + X2 + X3 + 2 [U14](X1,X2,X3) = X1 + X2 + 1 [U15](X1,X2) = 2 [U16](X) = 2 [U21](X1,X2) = 2.X2 [U22](X1,X2) = 2.X2 [U23](X) = X [U31](X1,X2) = X1 + 2.X2 + 2 [U32](X) = X + 2 [U41](X) = 2 [U51](X1,X2) = 2.X2 + 2 [U52](X1,X2) = 2.X2 + 2 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [isNat](X) = 2.X [isNatKind](X) = X + 2 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 1 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [ISNATKIND](X) = X Problem 1.2: SCC Processor: -> Pairs: ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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.2: Reduction Pair Processor: -> Pairs: ISNATKIND(n__s(V1:S)) -> ISNATKIND(activate(V1:S)) -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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,X3) = X1 + 2.X2 + 2.X3 + 2 [U13](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 [U14](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U15](X1,X2) = X1 + 2.X2 [U16](X) = X [U21](X1,X2) = 2.X1 + 2.X2 [U22](X1,X2) = X1 + 2.X2 + 2 [U23](X) = 2 [U31](X1,X2) = X1 [U32](X) = X [U41](X) = 2 [U51](X1,X2) = 2.X2 + 2 [U52](X1,X2) = X1 + X2 [U61](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U62](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U63](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U64](X1,X2,X3) = X1 + 2.X2 + 2.X3 [activate](X) = X [isNat](X) = 2.X + 2 [isNatKind](X) = 2 [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [ISNATKIND](X) = 2.X Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: 0 -> n__0 U11(tt,V1:S,V2:S) -> U12(isNatKind(activate(V1:S)),activate(V1:S),activate(V2:S)) U12(tt,V1:S,V2:S) -> U13(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U13(tt,V1:S,V2:S) -> U14(isNatKind(activate(V2:S)),activate(V1:S),activate(V2:S)) U14(tt,V1:S,V2:S) -> U15(isNat(activate(V1:S)),activate(V2:S)) U15(tt,V2:S) -> U16(isNat(activate(V2:S))) U16(tt) -> tt U21(tt,V1:S) -> U22(isNatKind(activate(V1:S)),activate(V1:S)) U22(tt,V1:S) -> U23(isNat(activate(V1:S))) U23(tt) -> tt U31(tt,V2:S) -> U32(isNatKind(activate(V2:S))) U32(tt) -> tt U41(tt) -> tt U51(tt,N:S) -> U52(isNatKind(activate(N:S)),activate(N:S)) U52(tt,N:S) -> activate(N:S) U61(tt,M:S,N:S) -> U62(isNatKind(activate(M:S)),activate(M:S),activate(N:S)) U62(tt,M:S,N:S) -> U63(isNat(activate(N:S)),activate(M:S),activate(N:S)) U63(tt,M:S,N:S) -> U64(isNatKind(activate(N:S)),activate(M:S),activate(N:S)) U64(tt,M:S,N:S) -> s(plus(activate(N:S),activate(M:S))) activate(n__0) -> 0 activate(n__plus(X1:S,X2:S)) -> plus(activate(X1:S),activate(X2:S)) activate(n__s(X:S)) -> s(activate(X:S)) activate(X:S) -> X:S isNat(n__0) -> tt isNat(n__plus(V1:S,V2:S)) -> U11(isNatKind(activate(V1: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)) -> U31(isNatKind(activate(V1:S)),activate(V2:S)) isNatKind(n__s(V1:S)) -> U41(isNatKind(activate(V1:S))) plus(N:S,0) -> U51(isNat(N:S),N:S) plus(N:S,s(M:S)) -> U61(isNat(M: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.