YES TRS: 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))) and(tt(),X) -> activate(X) 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)) isNatKind(n__0()) -> tt() isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) isNatKind(n__s(V1)) -> isNatKind(activate(V1)) 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) 0() -> n__0() plus(X1,X2) -> n__plus(X1,X2) isNatKind(X) -> n__isNatKind(X) s(X) -> n__s(X) and(X1,X2) -> n__and(X1,X2) isNat(X) -> n__isNat(X) activate(n__0()) -> 0() activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2)) activate(n__isNatKind(X)) -> isNatKind(X) activate(n__s(X)) -> s(activate(X)) activate(n__and(X1,X2)) -> and(activate(X1),X2) activate(n__isNat(X)) -> isNat(X) activate(X) -> X linear polynomial interpretations on N: U11_A(x1,x2,x3) = 2 U11#_A(x1,x2,x3) = x2 + x3 + 7 tt_A = 2 tt#_A = 3 U12_A(x1,x2) = x1 U12#_A(x1,x2) = x2 + 6 isNat_A(x1) = 2 isNat#_A(x1) = 5 activate_A(x1) = x1 activate#_A(x1) = x1 + 4 U13_A(x1) = x1 U13#_A(x1) = x1 + 2 U21_A(x1,x2) = 2 U21#_A(x1,x2) = x2 + 6 U22_A(x1) = 2 U22#_A(x1) = x1 U31_A(x1,x2) = x2 U31#_A(x1,x2) = x2 + 5 U41_A(x1,x2,x3) = x2 + x3 + 13 U41#_A(x1,x2,x3) = x2 + x3 + 15 s_A(x1) = x1 + 7 s#_A(x1) = x1 + 8 plus_A(x1,x2) = x1 + x2 + 6 plus#_A(x1,x2) = x1 + x2 + 9 and_A(x1,x2) = x1 + x2 + 2 and#_A(x1,x2) = x2 + 5 n__0_A = 0 n__0#_A = 0 n__plus_A(x1,x2) = x1 + x2 + 6 n__plus#_A(x1,x2) = x1 + x2 + 8 isNatKind_A(x1) = x1 + 2 isNatKind#_A(x1) = x1 + 4 n__isNatKind_A(x1) = x1 + 2 n__isNatKind#_A(x1) = 3 n__s_A(x1) = x1 + 7 n__s#_A(x1) = x1 + 7 0_A = 0 0#_A = 1 n__and_A(x1,x2) = x1 + x2 + 2 n__and#_A(x1,x2) = x2 + 4 n__isNat_A(x1) = 2 n__isNat#_A(x1) = 0 precedence: plus > n__plus > U11 = isNatKind > U12 = n__isNatKind > isNat = U13 = U31 = U41 > tt = activate = n__isNat > s = 0 = n__and > and = n__0 = n__s > U21 > U22