YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (79ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4 (199ms).
 |    | – Problem 4 was processed with processor DependencyGraph (16ms).
 |    |    | – Problem 6 was processed with processor PolynomialLinearRange4 (64ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4 (208ms).
 |    | – Problem 5 was processed with processor DependencyGraph (1ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U21#(tt, M, N) → T(N)and#(tt, X) → T(X)
T(isNat(N)) → isNat#(N)isNat#(s(V1)) → isNat#(V1)
plus#(N, 0) → isNat#(N)U11#(tt, N) → T(N)
isNat#(plus(V1, V2)) → isNat#(V1)T(isNat(x_1)) → T(x_1)
isNat#(plus(V1, V2)) → and#(isNat(V1), isNat(V2))plus#(N, s(M)) → U21#(and(isNat(M), isNat(N)), M, N)
T(isNat(V2)) → isNat#(V2)plus#(N, s(M)) → isNat#(M)
plus#(N, s(M)) → and#(isNat(M), isNat(N))plus#(N, 0) → U11#(isNat(N), N)
U21#(tt, M, N) → T(M)U21#(tt, M, N) → plus#(N, M)

Rewrite Rules

U11(tt, N) → NU21(tt, M, N) → s(plus(N, M))
and(tt, X) → XisNat(0) → tt
isNat(plus(V1, V2)) → and(isNat(V1), isNat(V2))isNat(s(V1)) → isNat(V1)
plus(N, 0) → U11(isNat(N), N)plus(N, s(M)) → U21(and(isNat(M), isNat(N)), M, N)

Original Signature

Termination of terms over the following signature is verified: isNat, plus, 0, s, tt, U11, U21, and

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(0) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U21#) = μ(and#) = μ(and) = μ(s) = μ(U11) = μ(U21) = {1}
μ(plus) = μ(plus#) = {1, 2}


The following SCCs where found

U21#(tt, M, N) → plus#(N, M)plus#(N, s(M)) → U21#(and(isNat(M), isNat(N)), M, N)

and#(tt, X) → T(X)T(isNat(N)) → isNat#(N)
isNat#(s(V1)) → isNat#(V1)isNat#(plus(V1, V2)) → isNat#(V1)
isNat#(plus(V1, V2)) → and#(isNat(V1), isNat(V2))T(isNat(x_1)) → T(x_1)
T(isNat(V2)) → isNat#(V2)

Problem 2: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

and#(tt, X) → T(X)T(isNat(N)) → isNat#(N)
isNat#(s(V1)) → isNat#(V1)isNat#(plus(V1, V2)) → isNat#(V1)
isNat#(plus(V1, V2)) → and#(isNat(V1), isNat(V2))T(isNat(x_1)) → T(x_1)
T(isNat(V2)) → isNat#(V2)

Rewrite Rules

U11(tt, N) → NU21(tt, M, N) → s(plus(N, M))
and(tt, X) → XisNat(0) → tt
isNat(plus(V1, V2)) → and(isNat(V1), isNat(V2))isNat(s(V1)) → isNat(V1)
plus(N, 0) → U11(isNat(N), N)plus(N, s(M)) → U21(and(isNat(M), isNat(N)), M, N)

Original Signature

Termination of terms over the following signature is verified: isNat, plus, 0, s, tt, U11, U21, and

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(0) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U21#) = μ(and#) = μ(and) = μ(s) = μ(U11) = μ(U21) = {1}
μ(plus) = μ(plus#) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isNat(s(V1)) → isNat(V1)isNat(0) → tt
plus(N, s(M)) → U21(and(isNat(M), isNat(N)), M, N)U11(tt, N) → N
and(tt, X) → XisNat(plus(V1, V2)) → and(isNat(V1), isNat(V2))
plus(N, 0) → U11(isNat(N), N)U21(tt, M, N) → s(plus(N, M))

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

isNat#(s(V1)) → isNat#(V1)isNat#(plus(V1, V2)) → isNat#(V1)
isNat#(plus(V1, V2)) → and#(isNat(V1), isNat(V2))

Problem 4: DependencyGraph



Dependency Pair Problem

Dependency Pairs

and#(tt, X) → T(X)T(isNat(N)) → isNat#(N)
T(isNat(x_1)) → T(x_1)T(isNat(V2)) → isNat#(V2)

Rewrite Rules

U11(tt, N) → NU21(tt, M, N) → s(plus(N, M))
and(tt, X) → XisNat(0) → tt
isNat(plus(V1, V2)) → and(isNat(V1), isNat(V2))isNat(s(V1)) → isNat(V1)
plus(N, 0) → U11(isNat(N), N)plus(N, s(M)) → U21(and(isNat(M), isNat(N)), M, N)

Original Signature

Termination of terms over the following signature is verified: isNat, plus, 0, s, tt, U11, U21, and

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(0) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U21#) = μ(and#) = μ(and) = μ(s) = μ(U11) = μ(U21) = {1}
μ(plus) = μ(plus#) = {1, 2}


The following SCCs where found

T(isNat(x_1)) → T(x_1)

Problem 6: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

T(isNat(x_1)) → T(x_1)

Rewrite Rules

U11(tt, N) → NU21(tt, M, N) → s(plus(N, M))
and(tt, X) → XisNat(0) → tt
isNat(plus(V1, V2)) → and(isNat(V1), isNat(V2))isNat(s(V1)) → isNat(V1)
plus(N, 0) → U11(isNat(N), N)plus(N, s(M)) → U21(and(isNat(M), isNat(N)), M, N)

Original Signature

Termination of terms over the following signature is verified: isNat, plus, 0, s, tt, U11, U21, and

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(0) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U21#) = μ(and#) = μ(and) = μ(s) = μ(U11) = μ(U21) = {1}
μ(plus) = μ(plus#) = {1, 2}


Polynomial Interpretation

There are no usable rules

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

T(isNat(x_1)) → T(x_1)

Problem 3: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

U21#(tt, M, N) → plus#(N, M)plus#(N, s(M)) → U21#(and(isNat(M), isNat(N)), M, N)

Rewrite Rules

U11(tt, N) → NU21(tt, M, N) → s(plus(N, M))
and(tt, X) → XisNat(0) → tt
isNat(plus(V1, V2)) → and(isNat(V1), isNat(V2))isNat(s(V1)) → isNat(V1)
plus(N, 0) → U11(isNat(N), N)plus(N, s(M)) → U21(and(isNat(M), isNat(N)), M, N)

Original Signature

Termination of terms over the following signature is verified: isNat, plus, 0, s, tt, U11, U21, and

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(0) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U21#) = μ(and#) = μ(and) = μ(s) = μ(U11) = μ(U21) = {1}
μ(plus) = μ(plus#) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isNat(s(V1)) → isNat(V1)isNat(0) → tt
plus(N, s(M)) → U21(and(isNat(M), isNat(N)), M, N)U11(tt, N) → N
and(tt, X) → XisNat(plus(V1, V2)) → and(isNat(V1), isNat(V2))
plus(N, 0) → U11(isNat(N), N)U21(tt, M, N) → s(plus(N, M))

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

U21#(tt, M, N) → plus#(N, M)

Problem 5: DependencyGraph



Dependency Pair Problem

Dependency Pairs

plus#(N, s(M)) → U21#(and(isNat(M), isNat(N)), M, N)

Rewrite Rules

U11(tt, N) → NU21(tt, M, N) → s(plus(N, M))
and(tt, X) → XisNat(0) → tt
isNat(plus(V1, V2)) → and(isNat(V1), isNat(V2))isNat(s(V1)) → isNat(V1)
plus(N, 0) → U11(isNat(N), N)plus(N, s(M)) → U21(and(isNat(M), isNat(N)), M, N)

Original Signature

Termination of terms over the following signature is verified: isNat, plus, 0, s, tt, U11, U21, and

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(0) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U21#) = μ(and#) = μ(and) = μ(s) = μ(U11) = μ(U21) = {1}
μ(plus) = μ(plus#) = {1, 2}


There are no SCCs!