YES

The TRS could be proven terminating. The proof took 41022 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (229ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4 (255ms).
 |    | – Problem 3 was processed with processor DependencyGraph (16ms).
 |    |    | – Problem 4 was processed with processor PolynomialLinearRange4 (138ms).
 |    |    |    | – Problem 6 was processed with processor DependencyGraph (19ms).
 |    |    | – Problem 5 was processed with processor PolynomialLinearRange4 (91ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U41#(tt, M, N)isNat#(activate(N))U41#(tt, M, N)activate#(M)
isNat#(n__plus(V1, V2))isNat#(activate(V1))isNat#(n__plus(V1, V2))U11#(isNat(activate(V1)), activate(V2))
plus#(N, 0)isNat#(N)isNat#(n__plus(V1, V2))activate#(V2)
U11#(tt, V2)U12#(isNat(activate(V2)))U42#(tt, M, N)activate#(N)
plus#(N, s(M))U41#(isNat(M), M, N)U42#(tt, M, N)plus#(activate(N), activate(M))
U11#(tt, V2)activate#(V2)U42#(tt, M, N)s#(plus(activate(N), activate(M)))
isNat#(n__s(V1))activate#(V1)U11#(tt, V2)isNat#(activate(V2))
U31#(tt, N)activate#(N)U41#(tt, M, N)activate#(N)
activate#(n__s(X))s#(X)plus#(N, 0)U31#(isNat(N), N)
plus#(N, s(M))isNat#(M)U42#(tt, M, N)activate#(M)
isNat#(n__s(V1))U21#(isNat(activate(V1)))U41#(tt, M, N)U42#(isNat(activate(N)), activate(M), activate(N))
isNat#(n__s(V1))isNat#(activate(V1))activate#(n__0)0#
isNat#(n__plus(V1, V2))activate#(V1)activate#(n__plus(X1, X2))plus#(X1, X2)

Rewrite Rules

U11(tt, V2)U12(isNat(activate(V2)))U12(tt)tt
U21(tt)ttU31(tt, N)activate(N)
U41(tt, M, N)U42(isNat(activate(N)), activate(M), activate(N))U42(tt, M, N)s(plus(activate(N), activate(M)))
isNat(n__0)ttisNat(n__plus(V1, V2))U11(isNat(activate(V1)), activate(V2))
isNat(n__s(V1))U21(isNat(activate(V1)))plus(N, 0)U31(isNat(N), N)
plus(N, s(M))U41(isNat(M), M, N)0n__0
plus(X1, X2)n__plus(X1, X2)s(X)n__s(X)
activate(n__0)0activate(n__plus(X1, X2))plus(X1, X2)
activate(n__s(X))s(X)activate(X)X

Original Signature

Termination of terms over the following signature is verified: plus, n__plus, n__s, activate, isNat, 0, n__0, U42, s, tt, U41, U11, U12, U31, U21

Strategy


The following SCCs where found

U41#(tt, M, N) → isNat#(activate(N))U41#(tt, M, N) → activate#(M)
U11#(tt, V2) → isNat#(activate(V2))isNat#(n__plus(V1, V2)) → isNat#(activate(V1))
U31#(tt, N) → activate#(N)isNat#(n__plus(V1, V2)) → U11#(isNat(activate(V1)), activate(V2))
U41#(tt, M, N) → activate#(N)U42#(tt, M, N) → activate#(N)
plus#(N, 0) → isNat#(N)isNat#(n__plus(V1, V2)) → activate#(V2)
plus#(N, s(M)) → U41#(isNat(M), M, N)plus#(N, 0) → U31#(isNat(N), N)
plus#(N, s(M)) → isNat#(M)U42#(tt, M, N) → plus#(activate(N), activate(M))
U42#(tt, M, N) → activate#(M)U11#(tt, V2) → activate#(V2)
isNat#(n__s(V1)) → isNat#(activate(V1))U41#(tt, M, N) → U42#(isNat(activate(N)), activate(M), activate(N))
isNat#(n__plus(V1, V2)) → activate#(V1)isNat#(n__s(V1)) → activate#(V1)
activate#(n__plus(X1, X2)) → plus#(X1, X2)

Problem 2: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

U41#(tt, M, N)isNat#(activate(N))U41#(tt, M, N)activate#(M)
isNat#(n__plus(V1, V2))isNat#(activate(V1))U11#(tt, V2)isNat#(activate(V2))
U31#(tt, N)activate#(N)U41#(tt, M, N)activate#(N)
isNat#(n__plus(V1, V2))U11#(isNat(activate(V1)), activate(V2))isNat#(n__plus(V1, V2))activate#(V2)
plus#(N, 0)isNat#(N)U42#(tt, M, N)activate#(N)
plus#(N, 0)U31#(isNat(N), N)plus#(N, s(M))U41#(isNat(M), M, N)
plus#(N, s(M))isNat#(M)U42#(tt, M, N)plus#(activate(N), activate(M))
U42#(tt, M, N)activate#(M)U11#(tt, V2)activate#(V2)
isNat#(n__s(V1))isNat#(activate(V1))U41#(tt, M, N)U42#(isNat(activate(N)), activate(M), activate(N))
isNat#(n__plus(V1, V2))activate#(V1)isNat#(n__s(V1))activate#(V1)
activate#(n__plus(X1, X2))plus#(X1, X2)

Rewrite Rules

U11(tt, V2)U12(isNat(activate(V2)))U12(tt)tt
U21(tt)ttU31(tt, N)activate(N)
U41(tt, M, N)U42(isNat(activate(N)), activate(M), activate(N))U42(tt, M, N)s(plus(activate(N), activate(M)))
isNat(n__0)ttisNat(n__plus(V1, V2))U11(isNat(activate(V1)), activate(V2))
isNat(n__s(V1))U21(isNat(activate(V1)))plus(N, 0)U31(isNat(N), N)
plus(N, s(M))U41(isNat(M), M, N)0n__0
plus(X1, X2)n__plus(X1, X2)s(X)n__s(X)
activate(n__0)0activate(n__plus(X1, X2))plus(X1, X2)
activate(n__s(X))s(X)activate(X)X

Original Signature

Termination of terms over the following signature is verified: plus, n__plus, n__s, activate, isNat, 0, n__0, U42, s, tt, U41, U11, U12, U31, U21

Strategy


Polynomial Interpretation

Standard Usable rules

plus(X1, X2)n__plus(X1, X2)activate(n__plus(X1, X2))plus(X1, X2)
U12(tt)ttU31(tt, N)activate(N)
activate(n__s(X))s(X)U41(tt, M, N)U42(isNat(activate(N)), activate(M), activate(N))
activate(n__0)00n__0
isNat(n__0)ttU42(tt, M, N)s(plus(activate(N), activate(M)))
s(X)n__s(X)activate(X)X
U21(tt)ttplus(N, 0)U31(isNat(N), N)
isNat(n__plus(V1, V2))U11(isNat(activate(V1)), activate(V2))U11(tt, V2)U12(isNat(activate(V2)))
isNat(n__s(V1))U21(isNat(activate(V1)))plus(N, s(M))U41(isNat(M), M, N)

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNat#(n__plus(V1, V2))isNat#(activate(V1))isNat#(n__plus(V1, V2))U11#(isNat(activate(V1)), activate(V2))
isNat#(n__plus(V1, V2))activate#(V2)isNat#(n__plus(V1, V2))activate#(V1)
activate#(n__plus(X1, X2))plus#(X1, X2)

Problem 3: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U41#(tt, M, N)isNat#(activate(N))U41#(tt, M, N)activate#(M)
U11#(tt, V2)isNat#(activate(V2))U31#(tt, N)activate#(N)
U41#(tt, M, N)activate#(N)plus#(N, 0)isNat#(N)
U42#(tt, M, N)activate#(N)plus#(N, 0)U31#(isNat(N), N)
plus#(N, s(M))U41#(isNat(M), M, N)plus#(N, s(M))isNat#(M)
U42#(tt, M, N)plus#(activate(N), activate(M))U42#(tt, M, N)activate#(M)
U11#(tt, V2)activate#(V2)U41#(tt, M, N)U42#(isNat(activate(N)), activate(M), activate(N))
isNat#(n__s(V1))isNat#(activate(V1))isNat#(n__s(V1))activate#(V1)

Rewrite Rules

U11(tt, V2)U12(isNat(activate(V2)))U12(tt)tt
U21(tt)ttU31(tt, N)activate(N)
U41(tt, M, N)U42(isNat(activate(N)), activate(M), activate(N))U42(tt, M, N)s(plus(activate(N), activate(M)))
isNat(n__0)ttisNat(n__plus(V1, V2))U11(isNat(activate(V1)), activate(V2))
isNat(n__s(V1))U21(isNat(activate(V1)))plus(N, 0)U31(isNat(N), N)
plus(N, s(M))U41(isNat(M), M, N)0n__0
plus(X1, X2)n__plus(X1, X2)s(X)n__s(X)
activate(n__0)0activate(n__plus(X1, X2))plus(X1, X2)
activate(n__s(X))s(X)activate(X)X

Original Signature

Termination of terms over the following signature is verified: plus, n__plus, n__s, activate, isNat, 0, n__0, U42, s, tt, U41, U11, U12, U31, U21

Strategy


The following SCCs where found

plus#(N, s(M)) → U41#(isNat(M), M, N)U42#(tt, M, N) → plus#(activate(N), activate(M))
U41#(tt, M, N) → U42#(isNat(activate(N)), activate(M), activate(N))

isNat#(n__s(V1)) → isNat#(activate(V1))

Problem 4: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

plus#(N, s(M))U41#(isNat(M), M, N)U42#(tt, M, N)plus#(activate(N), activate(M))
U41#(tt, M, N)U42#(isNat(activate(N)), activate(M), activate(N))

Rewrite Rules

U11(tt, V2)U12(isNat(activate(V2)))U12(tt)tt
U21(tt)ttU31(tt, N)activate(N)
U41(tt, M, N)U42(isNat(activate(N)), activate(M), activate(N))U42(tt, M, N)s(plus(activate(N), activate(M)))
isNat(n__0)ttisNat(n__plus(V1, V2))U11(isNat(activate(V1)), activate(V2))
isNat(n__s(V1))U21(isNat(activate(V1)))plus(N, 0)U31(isNat(N), N)
plus(N, s(M))U41(isNat(M), M, N)0n__0
plus(X1, X2)n__plus(X1, X2)s(X)n__s(X)
activate(n__0)0activate(n__plus(X1, X2))plus(X1, X2)
activate(n__s(X))s(X)activate(X)X

Original Signature

Termination of terms over the following signature is verified: plus, n__plus, n__s, activate, isNat, 0, n__0, U42, s, tt, U41, U11, U12, U31, U21

Strategy


Polynomial Interpretation

Standard Usable rules

plus(X1, X2)n__plus(X1, X2)activate(n__plus(X1, X2))plus(X1, X2)
U12(tt)ttU31(tt, N)activate(N)
activate(n__s(X))s(X)U41(tt, M, N)U42(isNat(activate(N)), activate(M), activate(N))
activate(n__0)00n__0
isNat(n__0)ttU42(tt, M, N)s(plus(activate(N), activate(M)))
s(X)n__s(X)activate(X)X
U21(tt)ttplus(N, 0)U31(isNat(N), N)
isNat(n__plus(V1, V2))U11(isNat(activate(V1)), activate(V2))U11(tt, V2)U12(isNat(activate(V2)))
isNat(n__s(V1))U21(isNat(activate(V1)))plus(N, s(M))U41(isNat(M), M, N)

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

U41#(tt, M, N)U42#(isNat(activate(N)), activate(M), activate(N))

Problem 6: DependencyGraph



Dependency Pair Problem

Dependency Pairs

plus#(N, s(M))U41#(isNat(M), M, N)U42#(tt, M, N)plus#(activate(N), activate(M))

Rewrite Rules

U11(tt, V2)U12(isNat(activate(V2)))U12(tt)tt
U21(tt)ttU31(tt, N)activate(N)
U41(tt, M, N)U42(isNat(activate(N)), activate(M), activate(N))U42(tt, M, N)s(plus(activate(N), activate(M)))
isNat(n__0)ttisNat(n__plus(V1, V2))U11(isNat(activate(V1)), activate(V2))
isNat(n__s(V1))U21(isNat(activate(V1)))plus(N, 0)U31(isNat(N), N)
plus(N, s(M))U41(isNat(M), M, N)0n__0
plus(X1, X2)n__plus(X1, X2)s(X)n__s(X)
activate(n__0)0activate(n__plus(X1, X2))plus(X1, X2)
activate(n__s(X))s(X)activate(X)X

Original Signature

Termination of terms over the following signature is verified: plus, n__plus, n__s, activate, isNat, 0, n__0, U42, s, tt, U41, U11, U12, U31, U21

Strategy


There are no SCCs!

Problem 5: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNat#(n__s(V1))isNat#(activate(V1))

Rewrite Rules

U11(tt, V2)U12(isNat(activate(V2)))U12(tt)tt
U21(tt)ttU31(tt, N)activate(N)
U41(tt, M, N)U42(isNat(activate(N)), activate(M), activate(N))U42(tt, M, N)s(plus(activate(N), activate(M)))
isNat(n__0)ttisNat(n__plus(V1, V2))U11(isNat(activate(V1)), activate(V2))
isNat(n__s(V1))U21(isNat(activate(V1)))plus(N, 0)U31(isNat(N), N)
plus(N, s(M))U41(isNat(M), M, N)0n__0
plus(X1, X2)n__plus(X1, X2)s(X)n__s(X)
activate(n__0)0activate(n__plus(X1, X2))plus(X1, X2)
activate(n__s(X))s(X)activate(X)X

Original Signature

Termination of terms over the following signature is verified: plus, n__plus, n__s, activate, isNat, 0, n__0, U42, s, tt, U41, U11, U12, U31, U21

Strategy


Polynomial Interpretation

Standard Usable rules

plus(X1, X2)n__plus(X1, X2)activate(n__plus(X1, X2))plus(X1, X2)
U12(tt)ttU31(tt, N)activate(N)
activate(n__s(X))s(X)U41(tt, M, N)U42(isNat(activate(N)), activate(M), activate(N))
activate(n__0)00n__0
isNat(n__0)tts(X)n__s(X)
U42(tt, M, N)s(plus(activate(N), activate(M)))activate(X)X
U21(tt)ttisNat(n__plus(V1, V2))U11(isNat(activate(V1)), activate(V2))
plus(N, 0)U31(isNat(N), N)isNat(n__s(V1))U21(isNat(activate(V1)))
U11(tt, V2)U12(isNat(activate(V2)))plus(N, s(M))U41(isNat(M), M, N)

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNat#(n__s(V1))isNat#(activate(V1))