/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Problem 1: (VAR M N V1 V2 X X1 X2) (RULES 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ) Problem 1: Dependency Pairs Processor: -> Pairs: U11#(tt,V1,V2) -> U12#(isNat(activate(V1)),activate(V2)) U11#(tt,V1,V2) -> ACTIVATE(V1) U11#(tt,V1,V2) -> ACTIVATE(V2) U11#(tt,V1,V2) -> ISNAT(activate(V1)) U12#(tt,V2) -> U13#(isNat(activate(V2))) U12#(tt,V2) -> ACTIVATE(V2) U12#(tt,V2) -> ISNAT(activate(V2)) U21#(tt,V1) -> U22#(isNat(activate(V1))) U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) U41#(tt,M,N) -> S(plus(activate(N),activate(M))) ACTIVATE(n__0) -> 0# ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) ACTIVATE(n__s(X)) -> S(activate(X)) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: SCC Processor: -> Pairs: U11#(tt,V1,V2) -> U12#(isNat(activate(V1)),activate(V2)) U11#(tt,V1,V2) -> ACTIVATE(V1) U11#(tt,V1,V2) -> ACTIVATE(V2) U11#(tt,V1,V2) -> ISNAT(activate(V1)) U12#(tt,V2) -> U13#(isNat(activate(V2))) U12#(tt,V2) -> ACTIVATE(V2) U12#(tt,V2) -> ISNAT(activate(V2)) U21#(tt,V1) -> U22#(isNat(activate(V1))) U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) U41#(tt,M,N) -> S(plus(activate(N),activate(M))) ACTIVATE(n__0) -> 0# ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) ACTIVATE(n__s(X)) -> S(activate(X)) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U11#(tt,V1,V2) -> U12#(isNat(activate(V1)),activate(V2)) U11#(tt,V1,V2) -> ACTIVATE(V1) U11#(tt,V1,V2) -> ACTIVATE(V2) U11#(tt,V1,V2) -> ISNAT(activate(V1)) U12#(tt,V2) -> ACTIVATE(V2) U12#(tt,V2) -> ISNAT(activate(V2)) U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: U11#(tt,V1,V2) -> U12#(isNat(activate(V1)),activate(V2)) U11#(tt,V1,V2) -> ACTIVATE(V1) U11#(tt,V1,V2) -> ACTIVATE(V2) U11#(tt,V1,V2) -> ISNAT(activate(V1)) U12#(tt,V2) -> ACTIVATE(V2) U12#(tt,V2) -> ISNAT(activate(V2)) U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->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) = X1 + 2.X2 + 1 [U13](X) = X [U21](X1,X2) = X1 [U22](X) = 2 [U31](X1,X2) = X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 [isNat](X) = X + 1 [isNatKind](X) = X + 1 [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X1 + X2 [n__isNat](X) = X + 1 [n__isNatKind](X) = X + 1 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U11#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U12#](X1,X2) = X1 + 2.X2 [U21#](X1,X2) = X2 + 2 [U31#](X1,X2) = X2 + 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 2 [AND](X1,X2) = X1 + X2 [ISNAT](X) = X + 2 [ISNATKIND](X) = X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U11#(tt,V1,V2) -> ACTIVATE(V1) U11#(tt,V1,V2) -> ACTIVATE(V2) U11#(tt,V1,V2) -> ISNAT(activate(V1)) U12#(tt,V2) -> ACTIVATE(V2) U12#(tt,V2) -> ISNAT(activate(V2)) U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U11#(tt,V1,V2) -> ACTIVATE(V1) U11#(tt,V1,V2) -> ACTIVATE(V2) U11#(tt,V1,V2) -> ISNAT(activate(V1)) U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: U11#(tt,V1,V2) -> ACTIVATE(V1) U11#(tt,V1,V2) -> ACTIVATE(V2) U11#(tt,V1,V2) -> ISNAT(activate(V1)) U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U12](X1,X2) = 2.X2 + 2 [U13](X) = 2.X + 2 [U21](X1,X2) = X2 [U22](X) = X [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 + 1 [isNat](X) = X [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__and](X1,X2) = X1 + X2 + 1 [n__isNat](X) = X [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [U11#](X1,X2,X3) = X1 + X2 + X3 + 2 [U21#](X1,X2) = X2 + 2 [U31#](X1,X2) = 2.X2 + 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 2 [AND](X1,X2) = X1 + X2 [ISNAT](X) = X + 2 [ISNATKIND](X) = X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U11#(tt,V1,V2) -> ACTIVATE(V2) U11#(tt,V1,V2) -> ISNAT(activate(V1)) U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U11#(tt,V1,V2) -> ACTIVATE(V2) U11#(tt,V1,V2) -> ISNAT(activate(V1)) U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: U11#(tt,V1,V2) -> ACTIVATE(V2) U11#(tt,V1,V2) -> ISNAT(activate(V1)) U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X2 + 2.X3 + 1 [U12](X1,X2) = 2.X1 + 2.X2 + 1 [U13](X) = 2.X + 2 [U21](X1,X2) = X2 [U22](X) = X [U31](X1,X2) = X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 [isNat](X) = X [isNatKind](X) = X + 2 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__and](X1,X2) = X1 + X2 [n__isNat](X) = X [n__isNatKind](X) = X + 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [U11#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U21#](X1,X2) = X2 [U31#](X1,X2) = 2.X2 + 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X [AND](X1,X2) = X2 [ISNAT](X) = X [ISNATKIND](X) = X [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U11#(tt,V1,V2) -> ISNAT(activate(V1)) U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U11#(tt,V1,V2) -> ISNAT(activate(V1)) U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: U11#(tt,V1,V2) -> ISNAT(activate(V1)) U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = X2 + 2.X3 + 2 [U12](X1,X2) = X1 + 2.X2 + 2 [U13](X) = 2.X + 2 [U21](X1,X2) = X2 [U22](X) = X [U31](X1,X2) = 2.X2 + 1 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 [isNat](X) = X [isNatKind](X) = X + 2 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__and](X1,X2) = X1 + X2 [n__isNat](X) = X [n__isNatKind](X) = X + 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 0 [U11#](X1,X2,X3) = 2.X2 + 2.X3 + 1 [U21#](X1,X2) = X2 [U31#](X1,X2) = 2.X2 + 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X [AND](X1,X2) = X2 [ISNAT](X) = X [ISNATKIND](X) = X [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> U11#(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: U21#(tt,V1) -> ACTIVATE(V1) U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X2 + 2.X3 + 1 [U12](X1,X2) = X1 + 2.X2 + 1 [U13](X) = 2.X + 2 [U21](X1,X2) = X2 + 1 [U22](X) = X + 1 [U31](X1,X2) = X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 [isNat](X) = X [isNatKind](X) = X + 1 [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X1 + X2 [n__isNat](X) = X [n__isNatKind](X) = X + 1 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U21#](X1,X2) = X2 + 2 [U31#](X1,X2) = 2.X2 + 1 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 1 [AND](X1,X2) = X2 + 1 [ISNAT](X) = X + 1 [ISNATKIND](X) = X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: U21#(tt,V1) -> ISNAT(activate(V1)) U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = X1 + X2 + X3 [U12](X1,X2) = X1 + X2 + 1 [U13](X) = X [U21](X1,X2) = X2 [U22](X) = X [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 + 1 [isNat](X) = X [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X1 + X2 + 1 [n__isNat](X) = X [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U21#](X1,X2) = X2 + 2 [U31#](X1,X2) = 2.X2 + 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 2 [AND](X1,X2) = X1 + X2 [ISNAT](X) = X + 1 [ISNATKIND](X) = X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: U31#(tt,N) -> ACTIVATE(N) U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U12](X1,X2) = 2.X1 + 2.X2 + 1 [U13](X) = 2.X + 1 [U21](X1,X2) = X1 [U22](X) = 2 [U31](X1,X2) = X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 + 1 [isNat](X) = X [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__and](X1,X2) = X1 + X2 + 1 [n__isNat](X) = X [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [U31#](X1,X2) = 2.X2 + 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 1 [AND](X1,X2) = X2 + 1 [ISNAT](X) = X + 1 [ISNATKIND](X) = X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> U31#(and(isNat(N),n__isNatKind(N)),N) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: U41#(tt,M,N) -> ACTIVATE(M) U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = X1 + X2 [U12](X1,X2) = X1 [U13](X) = 2 [U21](X1,X2) = X2 + 2 [U22](X) = X + 1 [U31](X1,X2) = 2.X2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 [isNat](X) = X + 1 [isNatKind](X) = X + 1 [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X1 + X2 [n__isNat](X) = X + 1 [n__isNatKind](X) = X + 1 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 1 [AND](X1,X2) = X1 + X2 [ISNAT](X) = X + 1 [ISNATKIND](X) = X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: U41#(tt,M,N) -> ACTIVATE(N) U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X1 + 1 [U12](X1,X2) = 1 [U13](X) = 0 [U21](X1,X2) = X2 + 2 [U22](X) = X [U31](X1,X2) = X2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 + 1 [isNat](X) = X + 2 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X1 + X2 + 1 [n__isNat](X) = X + 2 [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 0 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 1 [AND](X1,X2) = X2 + 1 [ISNAT](X) = X + 1 [ISNATKIND](X) = X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: U41#(tt,M,N) -> PLUS(activate(N),activate(M)) ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X1 + 2 [U12](X1,X2) = 2 [U13](X) = 2 [U21](X1,X2) = X2 + 2 [U22](X) = 2 [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 [isNat](X) = X + 2 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 [s](X) = X + 2 [n__0] = 2 [n__and](X1,X2) = X1 + X2 [n__isNat](X) = X + 2 [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 [n__s](X) = X + 2 [tt] = 2 [U41#](X1,X2,X3) = 2.X2 + 2.X3 + 2 [ACTIVATE](X) = X + 2 [AND](X1,X2) = X1 + X2 + 1 [ISNAT](X) = X + 2 [ISNATKIND](X) = X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 1 Problem 1: SCC Processor: -> Pairs: ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> U41#(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: ACTIVATE(n__and(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X2 + 2.X3 + 2 [U12](X1,X2) = 2.X1 + 2.X2 [U13](X) = 2.X + 1 [U21](X1,X2) = X1 + 2 [U22](X) = 2 [U31](X1,X2) = 2.X2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 + 1 [isNat](X) = X + 1 [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X1 + X2 + 1 [n__isNat](X) = X + 1 [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [ACTIVATE](X) = X + 1 [AND](X1,X2) = X1 + X2 [ISNAT](X) = X [ISNATKIND](X) = X + 1 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: ACTIVATE(n__and(X1,X2)) -> AND(activate(X1),X2) ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X1 + 2 [U12](X1,X2) = 2 [U13](X) = 2 [U21](X1,X2) = X2 [U22](X) = X [U31](X1,X2) = 2.X2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X1 + X2 [isNat](X) = X [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__and](X1,X2) = X1 + X2 [n__isNat](X) = X [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [ACTIVATE](X) = X + 2 [AND](X1,X2) = X1 + X2 + 1 [ISNAT](X) = X + 2 [ISNATKIND](X) = X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1: SCC Processor: -> Pairs: ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: ACTIVATE(n__isNat(X)) -> ISNAT(X) ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X1 + 2 [U12](X1,X2) = 2 [U13](X) = 2 [U21](X1,X2) = X2 + 2 [U22](X) = 2 [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X2 [isNat](X) = 2.X + 2 [isNatKind](X) = 2.X [plus](X1,X2) = 2.X1 + 2.X2 [s](X) = X + 2 [n__0] = 2 [n__and](X1,X2) = X2 [n__isNat](X) = 2.X + 2 [n__isNatKind](X) = 2.X [n__plus](X1,X2) = 2.X1 + 2.X2 [n__s](X) = X + 2 [tt] = 2 [ACTIVATE](X) = X + 2 [AND](X1,X2) = X2 + 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__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: ACTIVATE(n__isNatKind(X)) -> ISNATKIND(X) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2.X1 + 2.X2 [U12](X1,X2) = 2.X1 + 2 [U13](X) = 2 [U21](X1,X2) = X1 + 1 [U22](X) = 2 [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X2 [isNat](X) = X + 1 [isNatKind](X) = X + 1 [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X2 [n__isNat](X) = X + 1 [n__isNatKind](X) = X + 1 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 2 [ACTIVATE](X) = 2.X + 1 [AND](X1,X2) = 2.X2 + 1 [ISNAT](X) = 2.X + 1 [ISNATKIND](X) = 2.X + 2 [PLUS](X1,X2) = 2.X1 + 2.X2 + 1 Problem 1: SCC Processor: -> Pairs: ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X1) ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = X1 + 2.X3 + 2 [U12](X1,X2) = X2 + 2 [U13](X) = 2 [U21](X1,X2) = 2.X1 + 2.X2 + 2 [U22](X) = 2 [U31](X1,X2) = 2.X1 + X2 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 1 [activate](X) = X [and](X1,X2) = X2 [isNat](X) = 2.X + 2 [isNatKind](X) = 2 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X + 2 [n__0] = 2 [n__and](X1,X2) = X2 [n__isNat](X) = 2.X + 2 [n__isNatKind](X) = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X + 2 [tt] = 2 [ACTIVATE](X) = X + 2 [AND](X1,X2) = X2 + 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,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: ACTIVATE(n__plus(X1,X2)) -> ACTIVATE(X2) ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->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) = X2 + 2 [U13](X) = 2 [U21](X1,X2) = 2.X2 [U22](X) = X [U31](X1,X2) = X1 + X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X2 + 2 [isNat](X) = 2.X [isNatKind](X) = X [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X [n__0] = 2 [n__and](X1,X2) = X2 + 2 [n__isNat](X) = 2.X [n__isNatKind](X) = X [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X [tt] = 2 [ACTIVATE](X) = X [AND](X1,X2) = X2 [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,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1: Reduction Pair Processor: -> Pairs: ACTIVATE(n__plus(X1,X2)) -> PLUS(activate(X1),activate(X2)) ACTIVATE(n__s(X)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->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) = 2.X1 + 2.X2 + 1 [U13](X) = 2.X + 1 [U21](X1,X2) = X2 + 2 [U22](X) = 2 [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X2 [isNat](X) = X + 1 [isNatKind](X) = 2 [plus](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = X + 2 [n__0] = 2 [n__and](X1,X2) = X2 [n__isNat](X) = X + 1 [n__isNatKind](X) = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 2 [n__s](X) = X + 2 [tt] = 2 [ACTIVATE](X) = 2.X + 2 [AND](X1,X2) = 2.X2 + 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)) -> ACTIVATE(X) AND(tt,X) -> ACTIVATE(X) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V1) ISNAT(n__plus(V1,V2)) -> ACTIVATE(V2) ISNAT(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNAT(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNAT(n__s(V1)) -> ACTIVATE(V1) ISNAT(n__s(V1)) -> ISNATKIND(activate(V1)) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V1) ISNATKIND(n__plus(V1,V2)) -> ACTIVATE(V2) ISNATKIND(n__plus(V1,V2)) -> AND(isNatKind(activate(V1)),n__isNatKind(activate(V2))) ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ACTIVATE(V1) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) PLUS(N,0) -> AND(isNat(N),n__isNatKind(N)) PLUS(N,0) -> ISNAT(N) PLUS(N,s(M)) -> AND(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))) PLUS(N,s(M)) -> AND(isNat(M),n__isNatKind(M)) PLUS(N,s(M)) -> ISNAT(M) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVATE(n__s(X)) -> ACTIVATE(X) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->->Cycle: ->->-> Pairs: ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) The problem is decomposed in 2 subproblems. Problem 1.1: Subterm Processor: -> Pairs: ACTIVATE(n__s(X)) -> ACTIVATE(X) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Projection: pi(ACTIVATE) = 1 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Reduction Pair Processor: -> Pairs: ISNATKIND(n__plus(V1,V2)) -> ISNATKIND(activate(V1)) ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = 2 [U12](X1,X2) = X1 [U13](X) = 0 [U21](X1,X2) = 0 [U22](X) = 0 [U31](X1,X2) = 2.X2 + 1 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X2 + 2 [isNat](X) = 2 [isNatKind](X) = 2.X + 2 [plus](X1,X2) = 2.X1 + 2.X2 + 1 [s](X) = X + 1 [n__0] = 2 [n__and](X1,X2) = X2 + 2 [n__isNat](X) = 2 [n__isNatKind](X) = 2.X + 2 [n__plus](X1,X2) = 2.X1 + 2.X2 + 1 [n__s](X) = X + 1 [tt] = 0 [ISNATKIND](X) = 2.X Problem 1.2: SCC Processor: -> Pairs: ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) ->->-> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) Problem 1.2: Reduction Pair Processor: -> Pairs: ISNATKIND(n__s(V1)) -> ISNATKIND(activate(V1)) -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) -> Usable rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0] = 2 [U11](X1,X2,X3) = X3 + 2 [U12](X1,X2) = X2 + 1 [U13](X) = 0 [U21](X1,X2) = 2.X1 + X2 + 2 [U22](X) = 2 [U31](X1,X2) = 2.X2 + 2 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 [activate](X) = X [and](X1,X2) = X2 [isNat](X) = 2.X + 2 [isNatKind](X) = 2 [plus](X1,X2) = 2.X1 + 2.X2 [s](X) = X + 2 [n__0] = 2 [n__and](X1,X2) = X2 [n__isNat](X) = 2.X + 2 [n__isNatKind](X) = 2 [n__plus](X1,X2) = 2.X1 + 2.X2 [n__s](X) = X + 2 [tt] = 0 [ISNATKIND](X) = X Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: 0 -> n__0 U11(tt,V1,V2) -> U12(isNat(activate(V1)),activate(V2)) U12(tt,V2) -> U13(isNat(activate(V2))) U13(tt) -> tt U21(tt,V1) -> U22(isNat(activate(V1))) U22(tt) -> tt U31(tt,N) -> activate(N) U41(tt,M,N) -> s(plus(activate(N),activate(M))) activate(n__0) -> 0 activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X and(tt,X) -> activate(X) and(X1,X2) -> n__and(X1,X2) isNat(n__0) -> tt isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) isNat(X) -> n__isNat(X) isNatKind(n__0) -> tt isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) isNatKind(X) -> n__isNatKind(X) plus(N,0) -> U31(and(isNat(N),n__isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),n__isNatKind(M)),n__and(n__isNat(N),n__isNatKind(N))),M,N) plus(X1,X2) -> n__plus(X1,X2) s(X) -> n__s(X) ->Strongly Connected Components: There is no strongly connected component The problem is finite.