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 (135ms).
 | – Problem 2 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (54ms), PolynomialLinearRange4iUR (1384ms), DependencyGraph (52ms), PolynomialLinearRange8NegiUR (12113ms), DependencyGraph (42ms), ReductionPairSAT (1282ms), DependencyGraph (42ms), SizeChangePrinciple (timeout)].

The following open problems remain:



Open Dependency Pair Problem 2

Dependency Pairs

add#(s(X), Y)activate#(X)add#(s(X), Y)activate#(Y)
activate#(n__from(X))from#(X)activate#(n__first(X1, X2))activate#(X2)
activate#(n__add(X1, X2))add#(activate(X1), X2)first#(s(X), cons(Y, Z))activate#(X)
activate#(n__first(X1, X2))first#(activate(X1), activate(X2))activate#(n__first(X1, X2))activate#(X1)
from#(X)activate#(X)activate#(n__add(X1, X2))activate#(X1)
first#(s(X), cons(Y, Z))activate#(Z)first#(s(X), cons(Y, Z))activate#(Y)
add#(0, X)activate#(X)

Rewrite Rules

and(true, X)activate(X)and(false, Y)false
if(true, X, Y)activate(X)if(false, X, Y)activate(Y)
add(0, X)activate(X)add(s(X), Y)s(n__add(activate(X), activate(Y)))
first(0, X)nilfirst(s(X), cons(Y, Z))cons(activate(Y), n__first(activate(X), activate(Z)))
from(X)cons(activate(X), n__from(n__s(activate(X))))add(X1, X2)n__add(X1, X2)
first(X1, X2)n__first(X1, X2)from(X)n__from(X)
s(X)n__s(X)activate(n__add(X1, X2))add(activate(X1), X2)
activate(n__first(X1, X2))first(activate(X1), activate(X2))activate(n__from(X))from(X)
activate(n__s(X))s(X)activate(X)X

Original Signature

Termination of terms over the following signature is verified: n__from, true, from, add, and, n__s, activate, 0, s, n__first, if, n__add, false, first, nil, cons


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

add#(s(X), Y)activate#(X)add#(s(X), Y)activate#(Y)
activate#(n__from(X))from#(X)activate#(n__first(X1, X2))activate#(X2)
activate#(n__s(X))s#(X)add#(s(X), Y)s#(n__add(activate(X), activate(Y)))
first#(s(X), cons(Y, Z))activate#(X)activate#(n__add(X1, X2))add#(activate(X1), X2)
activate#(n__first(X1, X2))first#(activate(X1), activate(X2))activate#(n__first(X1, X2))activate#(X1)
from#(X)activate#(X)activate#(n__add(X1, X2))activate#(X1)
first#(s(X), cons(Y, Z))activate#(Z)if#(false, X, Y)activate#(Y)
if#(true, X, Y)activate#(X)and#(true, X)activate#(X)
first#(s(X), cons(Y, Z))activate#(Y)add#(0, X)activate#(X)

Rewrite Rules

and(true, X)activate(X)and(false, Y)false
if(true, X, Y)activate(X)if(false, X, Y)activate(Y)
add(0, X)activate(X)add(s(X), Y)s(n__add(activate(X), activate(Y)))
first(0, X)nilfirst(s(X), cons(Y, Z))cons(activate(Y), n__first(activate(X), activate(Z)))
from(X)cons(activate(X), n__from(n__s(activate(X))))add(X1, X2)n__add(X1, X2)
first(X1, X2)n__first(X1, X2)from(X)n__from(X)
s(X)n__s(X)activate(n__add(X1, X2))add(activate(X1), X2)
activate(n__first(X1, X2))first(activate(X1), activate(X2))activate(n__from(X))from(X)
activate(n__s(X))s(X)activate(X)X

Original Signature

Termination of terms over the following signature is verified: n__from, true, from, add, and, n__s, activate, 0, s, n__first, if, n__add, false, first, cons, nil

Strategy


The following SCCs where found

add#(s(X), Y) → activate#(X)add#(s(X), Y) → activate#(Y)
activate#(n__from(X)) → from#(X)activate#(n__first(X1, X2)) → activate#(X2)
first#(s(X), cons(Y, Z)) → activate#(X)activate#(n__add(X1, X2)) → add#(activate(X1), X2)
activate#(n__first(X1, X2)) → first#(activate(X1), activate(X2))activate#(n__first(X1, X2)) → activate#(X1)
from#(X) → activate#(X)activate#(n__add(X1, X2)) → activate#(X1)
first#(s(X), cons(Y, Z)) → activate#(Z)add#(0, X) → activate#(X)
first#(s(X), cons(Y, Z)) → activate#(Y)