TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60000 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (118ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4iUR (1036ms).
 |    | – Problem 4 was processed with processor PolynomialLinearRange4iUR (997ms).
 |    |    | – Problem 5 remains open; application of the following processors failed [DependencyGraph (8ms), PolynomialLinearRange4iUR (1661ms), DependencyGraph (6ms), PolynomialLinearRange8NegiUR (timeout), DependencyGraph (10ms), ReductionPairSAT (340ms), DependencyGraph (6ms), SizeChangePrinciple (timeout)].
 | – Problem 3 was processed with processor SubtermCriterion (1ms).

The following open problems remain:



Open Dependency Pair Problem 5

Dependency Pairs

activate#(n__s(X))activate#(X)if#(true, X, Y)activate#(X)
if#(false, X, Y)activate#(Y)diff#(X, Y)if#(leq(X, Y), n__0, n__s(n__diff(n__p(X), Y)))
activate#(n__diff(X1, X2))diff#(activate(X1), activate(X2))

Rewrite Rules

p(0)0p(s(X))X
leq(0, Y)trueleq(s(X), 0)false
leq(s(X), s(Y))leq(X, Y)if(true, X, Y)activate(X)
if(false, X, Y)activate(Y)diff(X, Y)if(leq(X, Y), n__0, n__s(n__diff(n__p(X), Y)))
0n__0s(X)n__s(X)
diff(X1, X2)n__diff(X1, X2)p(X)n__p(X)
activate(n__0)0activate(n__s(X))s(activate(X))
activate(n__diff(X1, X2))diff(activate(X1), activate(X2))activate(n__p(X))p(activate(X))
activate(X)X

Original Signature

Termination of terms over the following signature is verified: diff, leq, true, activate, n__s, 0, n__0, s, if, p, n__p, n__diff, false


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

leq#(s(X), s(Y))leq#(X, Y)activate#(n__s(X))activate#(X)
p#(0)0#activate#(n__diff(X1, X2))diff#(activate(X1), activate(X2))
activate#(n__diff(X1, X2))activate#(X2)activate#(n__p(X))p#(activate(X))
activate#(n__diff(X1, X2))activate#(X1)if#(true, X, Y)activate#(X)
if#(false, X, Y)activate#(Y)diff#(X, Y)if#(leq(X, Y), n__0, n__s(n__diff(n__p(X), Y)))
activate#(n__p(X))activate#(X)activate#(n__0)0#
activate#(n__s(X))s#(activate(X))diff#(X, Y)leq#(X, Y)

Rewrite Rules

p(0)0p(s(X))X
leq(0, Y)trueleq(s(X), 0)false
leq(s(X), s(Y))leq(X, Y)if(true, X, Y)activate(X)
if(false, X, Y)activate(Y)diff(X, Y)if(leq(X, Y), n__0, n__s(n__diff(n__p(X), Y)))
0n__0s(X)n__s(X)
diff(X1, X2)n__diff(X1, X2)p(X)n__p(X)
activate(n__0)0activate(n__s(X))s(activate(X))
activate(n__diff(X1, X2))diff(activate(X1), activate(X2))activate(n__p(X))p(activate(X))
activate(X)X

Original Signature

Termination of terms over the following signature is verified: diff, leq, true, activate, n__s, 0, n__0, s, if, p, n__p, n__diff, false

Strategy


The following SCCs where found

activate#(n__diff(X1, X2)) → activate#(X1)if#(false, X, Y) → activate#(Y)
if#(true, X, Y) → activate#(X)activate#(n__s(X)) → activate#(X)
diff#(X, Y) → if#(leq(X, Y), n__0, n__s(n__diff(n__p(X), Y)))activate#(n__p(X)) → activate#(X)
activate#(n__diff(X1, X2)) → diff#(activate(X1), activate(X2))activate#(n__diff(X1, X2)) → activate#(X2)

leq#(s(X), s(Y)) → leq#(X, Y)

Problem 2: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

activate#(n__diff(X1, X2))activate#(X1)if#(false, X, Y)activate#(Y)
if#(true, X, Y)activate#(X)activate#(n__s(X))activate#(X)
diff#(X, Y)if#(leq(X, Y), n__0, n__s(n__diff(n__p(X), Y)))activate#(n__p(X))activate#(X)
activate#(n__diff(X1, X2))diff#(activate(X1), activate(X2))activate#(n__diff(X1, X2))activate#(X2)

Rewrite Rules

p(0)0p(s(X))X
leq(0, Y)trueleq(s(X), 0)false
leq(s(X), s(Y))leq(X, Y)if(true, X, Y)activate(X)
if(false, X, Y)activate(Y)diff(X, Y)if(leq(X, Y), n__0, n__s(n__diff(n__p(X), Y)))
0n__0s(X)n__s(X)
diff(X1, X2)n__diff(X1, X2)p(X)n__p(X)
activate(n__0)0activate(n__s(X))s(activate(X))
activate(n__diff(X1, X2))diff(activate(X1), activate(X2))activate(n__p(X))p(activate(X))
activate(X)X

Original Signature

Termination of terms over the following signature is verified: diff, leq, true, activate, n__s, 0, n__0, s, if, p, n__p, n__diff, false

Strategy


Polynomial Interpretation

Improved Usable rules

if(false, X, Y)activate(Y)diff(X1, X2)n__diff(X1, X2)
p(0)0activate(n__0)0
0n__0p(s(X))X
s(X)n__s(X)if(true, X, Y)activate(X)
activate(X)Xactivate(n__diff(X1, X2))diff(activate(X1), activate(X2))
p(X)n__p(X)diff(X, Y)if(leq(X, Y), n__0, n__s(n__diff(n__p(X), Y)))
activate(n__p(X))p(activate(X))activate(n__s(X))s(activate(X))

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

activate#(n__diff(X1, X2))activate#(X1)activate#(n__diff(X1, X2))activate#(X2)

Problem 4: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

activate#(n__s(X))activate#(X)if#(true, X, Y)activate#(X)
if#(false, X, Y)activate#(Y)diff#(X, Y)if#(leq(X, Y), n__0, n__s(n__diff(n__p(X), Y)))
activate#(n__p(X))activate#(X)activate#(n__diff(X1, X2))diff#(activate(X1), activate(X2))

Rewrite Rules

p(0)0p(s(X))X
leq(0, Y)trueleq(s(X), 0)false
leq(s(X), s(Y))leq(X, Y)if(true, X, Y)activate(X)
if(false, X, Y)activate(Y)diff(X, Y)if(leq(X, Y), n__0, n__s(n__diff(n__p(X), Y)))
0n__0s(X)n__s(X)
diff(X1, X2)n__diff(X1, X2)p(X)n__p(X)
activate(n__0)0activate(n__s(X))s(activate(X))
activate(n__diff(X1, X2))diff(activate(X1), activate(X2))activate(n__p(X))p(activate(X))
activate(X)X

Original Signature

Termination of terms over the following signature is verified: diff, leq, true, activate, n__s, 0, n__0, s, if, p, n__p, n__diff, false

Strategy


Polynomial Interpretation

Improved Usable rules

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

activate#(n__p(X))activate#(X)

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

leq#(s(X), s(Y))leq#(X, Y)

Rewrite Rules

p(0)0p(s(X))X
leq(0, Y)trueleq(s(X), 0)false
leq(s(X), s(Y))leq(X, Y)if(true, X, Y)activate(X)
if(false, X, Y)activate(Y)diff(X, Y)if(leq(X, Y), n__0, n__s(n__diff(n__p(X), Y)))
0n__0s(X)n__s(X)
diff(X1, X2)n__diff(X1, X2)p(X)n__p(X)
activate(n__0)0activate(n__s(X))s(activate(X))
activate(n__diff(X1, X2))diff(activate(X1), activate(X2))activate(n__p(X))p(activate(X))
activate(X)X

Original Signature

Termination of terms over the following signature is verified: diff, leq, true, activate, n__s, 0, n__0, s, if, p, n__p, n__diff, false

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

leq#(s(X), s(Y))leq#(X, Y)