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) → ttU21(tt, V1) → U22(isNat(V1))
U22(tt) → ttU31(tt, V1, V2) → U32(isNat(V1), V2)
U32(tt, V2) → U33(isNat(V2))U33(tt) → tt
U41(tt, N) → NU51(tt, M, N) → s(plus(N, M))
U61(tt) → 0U71(tt, M, N) → plus(x(N, M), N)
and(tt, X) → XisNat(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) → ttU21(tt, V1) → U22(isNat(V1))
U22(tt) → ttU31(tt, V1, V2) → U32(isNat(V1), V2)
U32(tt, V2) → U33(isNat(V2))U33(tt) → tt
U41(tt, N) → NU51(tt, M, N) → s(plus(N, M))
U61(tt) → 0U71(tt, M, N) → plus(x(N, M), N)
and(tt, X) → XisNat(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) → ttU21(tt, V1) → U22(isNat(V1))
U22(tt) → ttU31(tt, V1, V2) → U32(isNat(V1), V2)
U32(tt, V2) → U33(isNat(V2))U33(tt) → tt
U41(tt, N) → NU51(tt, M, N) → s(plus(N, M))
U61(tt) → 0U71(tt, M, N) → plus(x(N, M), N)
and(tt, X) → XisNat(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) → ttU21(tt, V1) → U22(isNat(V1))
U22(tt) → ttU31(tt, V1, V2) → U32(isNat(V1), V2)
U32(tt, V2) → U33(isNat(V2))U33(tt) → tt
U41(tt, N) → NU51(tt, M, N) → s(plus(N, M))
U61(tt) → 0U71(tt, M, N) → plus(x(N, M), N)
and(tt, X) → XisNat(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)