TIMEOUT
The TRS could not be proven terminating. The proof attempt took 60116 ms.
The following DP Processors were used
Problem 1 was processed with processor DependencyGraph (753ms).
| Problem 2 remains open; application of the following processors failed [SubtermCriterion (0ms), DependencyGraph (3ms), PolynomialLinearRange4iUR (0ms), DependencyGraph (1ms), PolynomialOrderingProcessor (1ms), DependencyGraph (0ms), PolynomialLinearRange4 (584ms), DependencyGraph (1ms), ReductionPairSAT (994ms), DependencyGraph (1ms), SizeChangePrinciple (timeout)].
| Problem 3 remains open; application of the following processors failed [SubtermCriterion (0ms), DependencyGraph (34ms), PolynomialLinearRange4iUR (0ms), DependencyGraph (1ms), PolynomialOrderingProcessor (0ms), DependencyGraph (1ms), PolynomialLinearRange4 (284ms), DependencyGraph (1ms), ReductionPairSAT (1054ms), DependencyGraph (0ms)].
| Problem 4 remains open; application of the following processors failed [SubtermCriterion (0ms), DependencyGraph (78ms), PolynomialLinearRange4iUR (0ms), DependencyGraph (80ms), PolynomialOrderingProcessor (0ms), DependencyGraph (67ms), PolynomialLinearRange4 (774ms), DependencyGraph (71ms), ReductionPairSAT (830ms), DependencyGraph (52ms)].
The following open problems remain:
Open Dependency Pair Problem 2
Dependency Pairs
U51#(tt, M, N) | → | plus#(N, M) | | plus#(N, s(M)) | → | U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) |
Rewrite Rules
U11(tt, V1, V2) | → | U12(isNat(V1), V2) | | U12(tt, V2) | → | U13(isNat(V2)) |
U13(tt) | → | tt | | U21(tt, V1) | → | U22(isNat(V1)) |
U22(tt) | → | tt | | U31(tt, V1, V2) | → | U32(isNat(V1), V2) |
U32(tt, V2) | → | U33(isNat(V2)) | | U33(tt) | → | tt |
U41(tt, N) | → | N | | U51(tt, M, N) | → | s(plus(N, M)) |
U61(tt) | → | 0 | | U71(tt, M, N) | → | plus(x(N, M), N) |
and(tt, X) | → | X | | isNat(0) | → | tt |
isNat(plus(V1, V2)) | → | U11(and(isNatKind(V1), isNatKind(V2)), V1, V2) | | isNat(s(V1)) | → | U21(isNatKind(V1), V1) |
isNat(x(V1, V2)) | → | U31(and(isNatKind(V1), isNatKind(V2)), V1, V2) | | isNatKind(0) | → | tt |
isNatKind(plus(V1, V2)) | → | and(isNatKind(V1), isNatKind(V2)) | | isNatKind(s(V1)) | → | isNatKind(V1) |
isNatKind(x(V1, V2)) | → | and(isNatKind(V1), isNatKind(V2)) | | plus(N, 0) | → | U41(and(isNat(N), isNatKind(N)), N) |
plus(N, s(M)) | → | U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) | | x(N, 0) | → | U61(and(isNat(N), isNatKind(N))) |
x(N, s(M)) | → | U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) |
Original Signature
Termination of terms over the following signature is verified: plus, isNatKind, and, U71, isNat, U61, 0, U51, s, tt, U41, U11, U12, U13, U31, U32, U33, U21, x, U22
Open Dependency Pair Problem 3
Dependency Pairs
U71#(tt, M, N) | → | x#(N, M) | | x#(N, s(M)) | → | U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) |
Rewrite Rules
U11(tt, V1, V2) | → | U12(isNat(V1), V2) | | U12(tt, V2) | → | U13(isNat(V2)) |
U13(tt) | → | tt | | U21(tt, V1) | → | U22(isNat(V1)) |
U22(tt) | → | tt | | U31(tt, V1, V2) | → | U32(isNat(V1), V2) |
U32(tt, V2) | → | U33(isNat(V2)) | | U33(tt) | → | tt |
U41(tt, N) | → | N | | U51(tt, M, N) | → | s(plus(N, M)) |
U61(tt) | → | 0 | | U71(tt, M, N) | → | plus(x(N, M), N) |
and(tt, X) | → | X | | isNat(0) | → | tt |
isNat(plus(V1, V2)) | → | U11(and(isNatKind(V1), isNatKind(V2)), V1, V2) | | isNat(s(V1)) | → | U21(isNatKind(V1), V1) |
isNat(x(V1, V2)) | → | U31(and(isNatKind(V1), isNatKind(V2)), V1, V2) | | isNatKind(0) | → | tt |
isNatKind(plus(V1, V2)) | → | and(isNatKind(V1), isNatKind(V2)) | | isNatKind(s(V1)) | → | isNatKind(V1) |
isNatKind(x(V1, V2)) | → | and(isNatKind(V1), isNatKind(V2)) | | plus(N, 0) | → | U41(and(isNat(N), isNatKind(N)), N) |
plus(N, s(M)) | → | U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) | | x(N, 0) | → | U61(and(isNat(N), isNatKind(N))) |
x(N, s(M)) | → | U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) |
Original Signature
Termination of terms over the following signature is verified: plus, isNatKind, and, U71, isNat, U61, 0, U51, s, tt, U41, U11, U12, U13, U31, U32, U33, U21, x, U22
Open Dependency Pair Problem 4
Dependency Pairs
U11#(tt, V1, V2) | → | U12#(isNat(V1), V2) | | isNat#(plus(V1, V2)) | → | U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2) |
U12#(tt, V2) | → | isNat#(V2) | | isNat#(s(V1)) | → | isNatKind#(V1) |
isNat#(s(V1)) | → | U21#(isNatKind(V1), V1) | | U31#(tt, V1, V2) | → | U32#(isNat(V1), V2) |
T(isNat(x_1)) | → | T(x_1) | | T(and(x_1, x_2)) | → | T(x_1) |
isNatKind#(x(V1, V2)) | → | and#(isNatKind(V1), isNatKind(V2)) | | isNatKind#(s(V1)) | → | isNatKind#(V1) |
isNat#(x(V1, V2)) | → | and#(isNatKind(V1), isNatKind(V2)) | | isNatKind#(plus(V1, V2)) | → | and#(isNatKind(V1), isNatKind(V2)) |
isNat#(x(V1, V2)) | → | isNatKind#(V1) | | isNatKind#(x(V1, V2)) | → | isNatKind#(V1) |
U31#(tt, V1, V2) | → | isNat#(V1) | | T(isNatKind(V2)) | → | isNatKind#(V2) |
isNat#(plus(V1, V2)) | → | and#(isNatKind(V1), isNatKind(V2)) | | U21#(tt, V1) | → | isNat#(V1) |
isNat#(x(V1, V2)) | → | U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2) | | isNatKind#(plus(V1, V2)) | → | isNatKind#(V1) |
T(isNatKind(M)) | → | isNatKind#(M) | | and#(tt, X) | → | T(X) |
T(and(isNat(N), isNatKind(N))) | → | and#(isNat(N), isNatKind(N)) | | T(isNatKind(N)) | → | isNatKind#(N) |
U32#(tt, V2) | → | isNat#(V2) | | U11#(tt, V1, V2) | → | isNat#(V1) |
isNat#(plus(V1, V2)) | → | isNatKind#(V1) | | T(isNat(N)) | → | isNat#(N) |
T(isNatKind(x_1)) | → | T(x_1) | | T(and(x_1, x_2)) | → | T(x_2) |
Rewrite Rules
U11(tt, V1, V2) | → | U12(isNat(V1), V2) | | U12(tt, V2) | → | U13(isNat(V2)) |
U13(tt) | → | tt | | U21(tt, V1) | → | U22(isNat(V1)) |
U22(tt) | → | tt | | U31(tt, V1, V2) | → | U32(isNat(V1), V2) |
U32(tt, V2) | → | U33(isNat(V2)) | | U33(tt) | → | tt |
U41(tt, N) | → | N | | U51(tt, M, N) | → | s(plus(N, M)) |
U61(tt) | → | 0 | | U71(tt, M, N) | → | plus(x(N, M), N) |
and(tt, X) | → | X | | isNat(0) | → | tt |
isNat(plus(V1, V2)) | → | U11(and(isNatKind(V1), isNatKind(V2)), V1, V2) | | isNat(s(V1)) | → | U21(isNatKind(V1), V1) |
isNat(x(V1, V2)) | → | U31(and(isNatKind(V1), isNatKind(V2)), V1, V2) | | isNatKind(0) | → | tt |
isNatKind(plus(V1, V2)) | → | and(isNatKind(V1), isNatKind(V2)) | | isNatKind(s(V1)) | → | isNatKind(V1) |
isNatKind(x(V1, V2)) | → | and(isNatKind(V1), isNatKind(V2)) | | plus(N, 0) | → | U41(and(isNat(N), isNatKind(N)), N) |
plus(N, s(M)) | → | U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) | | x(N, 0) | → | U61(and(isNat(N), isNatKind(N))) |
x(N, s(M)) | → | U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) |
Original Signature
Termination of terms over the following signature is verified: plus, isNatKind, and, U71, isNat, U61, 0, U51, s, tt, U41, U11, U12, U13, U31, U32, U33, U21, x, U22
Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
U32#(tt, V2) | → | U33#(isNat(V2)) | | U12#(tt, V2) | → | isNat#(V2) |
isNat#(s(V1)) | → | isNatKind#(V1) | | isNat#(s(V1)) | → | U21#(isNatKind(V1), V1) |
T(and(x_1, x_2)) | → | T(x_1) | | U12#(tt, V2) | → | U13#(isNat(V2)) |
isNatKind#(s(V1)) | → | isNatKind#(V1) | | isNatKind#(plus(V1, V2)) | → | and#(isNatKind(V1), isNatKind(V2)) |
isNat#(x(V1, V2)) | → | isNatKind#(V1) | | U71#(tt, M, N) | → | T(M) |
U21#(tt, V1) | → | isNat#(V1) | | T(isNatKind(M)) | → | isNatKind#(M) |
and#(tt, X) | → | T(X) | | T(and(isNat(N), isNatKind(N))) | → | and#(isNat(N), isNatKind(N)) |
x#(N, s(M)) | → | and#(isNat(M), isNatKind(M)) | | plus#(N, 0) | → | and#(isNat(N), isNatKind(N)) |
plus#(N, s(M)) | → | and#(isNat(M), isNatKind(M)) | | U32#(tt, V2) | → | isNat#(V2) |
U71#(tt, M, N) | → | x#(N, M) | | U71#(tt, M, N) | → | T(N) |
U51#(tt, M, N) | → | T(M) | | T(isNatKind(x_1)) | → | T(x_1) |
x#(N, 0) | → | and#(isNat(N), isNatKind(N)) | | T(and(x_1, x_2)) | → | T(x_2) |
U41#(tt, N) | → | T(N) | | x#(N, s(M)) | → | and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))) |
U11#(tt, V1, V2) | → | U12#(isNat(V1), V2) | | isNat#(plus(V1, V2)) | → | U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2) |
x#(N, 0) | → | U61#(and(isNat(N), isNatKind(N))) | | plus#(N, 0) | → | isNat#(N) |
U51#(tt, M, N) | → | plus#(N, M) | | U31#(tt, V1, V2) | → | U32#(isNat(V1), V2) |
plus#(N, s(M)) | → | U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) | | plus#(N, s(M)) | → | and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))) |
T(isNat(x_1)) | → | T(x_1) | | isNatKind#(x(V1, V2)) | → | and#(isNatKind(V1), isNatKind(V2)) |
plus#(N, s(M)) | → | isNat#(M) | | x#(N, s(M)) | → | U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) |
isNat#(x(V1, V2)) | → | and#(isNatKind(V1), isNatKind(V2)) | | U31#(tt, V1, V2) | → | isNat#(V1) |
isNatKind#(x(V1, V2)) | → | isNatKind#(V1) | | T(isNatKind(V2)) | → | isNatKind#(V2) |
isNat#(plus(V1, V2)) | → | and#(isNatKind(V1), isNatKind(V2)) | | x#(N, 0) | → | isNat#(N) |
isNat#(x(V1, V2)) | → | U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2) | | isNatKind#(plus(V1, V2)) | → | isNatKind#(V1) |
U21#(tt, V1) | → | U22#(isNat(V1)) | | T(isNatKind(N)) | → | isNatKind#(N) |
U11#(tt, V1, V2) | → | isNat#(V1) | | plus#(N, 0) | → | U41#(and(isNat(N), isNatKind(N)), N) |
isNat#(plus(V1, V2)) | → | isNatKind#(V1) | | U51#(tt, M, N) | → | T(N) |
x#(N, s(M)) | → | isNat#(M) | | T(isNat(N)) | → | isNat#(N) |
U71#(tt, M, N) | → | plus#(x(N, M), N) |
Rewrite Rules
U11(tt, V1, V2) | → | U12(isNat(V1), V2) | | U12(tt, V2) | → | U13(isNat(V2)) |
U13(tt) | → | tt | | U21(tt, V1) | → | U22(isNat(V1)) |
U22(tt) | → | tt | | U31(tt, V1, V2) | → | U32(isNat(V1), V2) |
U32(tt, V2) | → | U33(isNat(V2)) | | U33(tt) | → | tt |
U41(tt, N) | → | N | | U51(tt, M, N) | → | s(plus(N, M)) |
U61(tt) | → | 0 | | U71(tt, M, N) | → | plus(x(N, M), N) |
and(tt, X) | → | X | | isNat(0) | → | tt |
isNat(plus(V1, V2)) | → | U11(and(isNatKind(V1), isNatKind(V2)), V1, V2) | | isNat(s(V1)) | → | U21(isNatKind(V1), V1) |
isNat(x(V1, V2)) | → | U31(and(isNatKind(V1), isNatKind(V2)), V1, V2) | | isNatKind(0) | → | tt |
isNatKind(plus(V1, V2)) | → | and(isNatKind(V1), isNatKind(V2)) | | isNatKind(s(V1)) | → | isNatKind(V1) |
isNatKind(x(V1, V2)) | → | and(isNatKind(V1), isNatKind(V2)) | | plus(N, 0) | → | U41(and(isNat(N), isNatKind(N)), N) |
plus(N, s(M)) | → | U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) | | x(N, 0) | → | U61(and(isNat(N), isNatKind(N))) |
x(N, s(M)) | → | U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) |
Original Signature
Termination of terms over the following signature is verified: plus, isNatKind, and, U71, isNat, U61, 0, U51, s, tt, U41, U11, U12, U31, U13, U32, U33, U21, U22, x
Strategy
Context-sensitive strategy:
μ(isNat) = μ(T) = μ(isNatKind) = μ(0) = μ(isNatKind#) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U31#) = μ(U13#) = μ(U21#) = μ(and#) = μ(U41#) = μ(U61) = μ(U41) = μ(U21) = μ(U33#) = μ(U22) = μ(U12#) = μ(U22#) = μ(U61#) = μ(U51#) = μ(U71) = μ(and) = μ(U71#) = μ(U51) = μ(s) = μ(U32#) = μ(U11) = μ(U12) = μ(U13) = μ(U31) = μ(U32) = μ(U33) = {1}
μ(x#) = μ(plus) = μ(plus#) = μ(x) = {1, 2}
The following SCCs where found
U71#(tt, M, N) → x#(N, M) | x#(N, s(M)) → U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) |
U11#(tt, V1, V2) → U12#(isNat(V1), V2) | isNat#(plus(V1, V2)) → U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2) |
U12#(tt, V2) → isNat#(V2) | isNat#(s(V1)) → isNatKind#(V1) |
isNat#(s(V1)) → U21#(isNatKind(V1), V1) | U31#(tt, V1, V2) → U32#(isNat(V1), V2) |
T(and(x_1, x_2)) → T(x_1) | T(isNat(x_1)) → T(x_1) |
isNatKind#(x(V1, V2)) → and#(isNatKind(V1), isNatKind(V2)) | isNat#(x(V1, V2)) → and#(isNatKind(V1), isNatKind(V2)) |
isNatKind#(s(V1)) → isNatKind#(V1) | isNatKind#(plus(V1, V2)) → and#(isNatKind(V1), isNatKind(V2)) |
isNat#(x(V1, V2)) → isNatKind#(V1) | U31#(tt, V1, V2) → isNat#(V1) |
isNatKind#(x(V1, V2)) → isNatKind#(V1) | T(isNatKind(V2)) → isNatKind#(V2) |
isNat#(plus(V1, V2)) → and#(isNatKind(V1), isNatKind(V2)) | U21#(tt, V1) → isNat#(V1) |
isNat#(x(V1, V2)) → U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2) | and#(tt, X) → T(X) |
T(isNatKind(M)) → isNatKind#(M) | isNatKind#(plus(V1, V2)) → isNatKind#(V1) |
T(and(isNat(N), isNatKind(N))) → and#(isNat(N), isNatKind(N)) | T(isNatKind(N)) → isNatKind#(N) |
U32#(tt, V2) → isNat#(V2) | U11#(tt, V1, V2) → isNat#(V1) |
isNat#(plus(V1, V2)) → isNatKind#(V1) | T(isNat(N)) → isNat#(N) |
T(isNatKind(x_1)) → T(x_1) | T(and(x_1, x_2)) → T(x_2) |
U51#(tt, M, N) → plus#(N, M) | plus#(N, s(M)) → U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N) |