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 (178ms).
 | – Problem 2 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (60ms), PolynomialLinearRange4iUR (2723ms), DependencyGraph (61ms), PolynomialLinearRange8NegiUR (17199ms), DependencyGraph (47ms), ReductionPairSAT (3802ms), DependencyGraph (71ms), SizeChangePrinciple (timeout)].

The following open problems remain:



Open Dependency Pair Problem 2

Dependency Pairs

zWadr#(cons(X, XS), cons(Y, YS))activate#(YS)app#(cons(X, XS), YS)activate#(XS)
activate#(n__s(X))activate#(X)zWadr#(cons(X, XS), cons(Y, YS))app#(Y, cons(X, n__nil))
activate#(n__prefix(X))activate#(X)activate#(n__from(X))activate#(X)
activate#(n__app(X1, X2))activate#(X1)activate#(n__zWadr(X1, X2))activate#(X2)
activate#(n__zWadr(X1, X2))zWadr#(activate(X1), activate(X2))activate#(n__zWadr(X1, X2))activate#(X1)
activate#(n__app(X1, X2))app#(activate(X1), activate(X2))zWadr#(cons(X, XS), cons(Y, YS))activate#(XS)
activate#(n__app(X1, X2))activate#(X2)

Rewrite Rules

app(nil, YS)YSapp(cons(X, XS), YS)cons(X, n__app(activate(XS), YS))
from(X)cons(X, n__from(n__s(X)))zWadr(nil, YS)nil
zWadr(XS, nil)nilzWadr(cons(X, XS), cons(Y, YS))cons(app(Y, cons(X, n__nil)), n__zWadr(activate(XS), activate(YS)))
prefix(L)cons(nil, n__zWadr(L, n__prefix(L)))app(X1, X2)n__app(X1, X2)
from(X)n__from(X)s(X)n__s(X)
niln__nilzWadr(X1, X2)n__zWadr(X1, X2)
prefix(X)n__prefix(X)activate(n__app(X1, X2))app(activate(X1), activate(X2))
activate(n__from(X))from(activate(X))activate(n__s(X))s(activate(X))
activate(n__nil)nilactivate(n__zWadr(X1, X2))zWadr(activate(X1), activate(X2))
activate(n__prefix(X))prefix(activate(X))activate(X)X

Original Signature

Termination of terms over the following signature is verified: app, n__from, n__app, from, n__prefix, activate, n__s, zWadr, s, n__zWadr, prefix, n__nil, nil, cons


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

prefix#(L)nil#zWadr#(cons(X, XS), cons(Y, YS))activate#(YS)
app#(cons(X, XS), YS)activate#(XS)activate#(n__s(X))activate#(X)
zWadr#(cons(X, XS), cons(Y, YS))app#(Y, cons(X, n__nil))activate#(n__prefix(X))activate#(X)
activate#(n__from(X))activate#(X)activate#(n__app(X1, X2))activate#(X1)
activate#(n__zWadr(X1, X2))activate#(X2)zWadr#(nil, YS)nil#
activate#(n__zWadr(X1, X2))zWadr#(activate(X1), activate(X2))activate#(n__nil)nil#
activate#(n__prefix(X))prefix#(activate(X))activate#(n__app(X1, X2))app#(activate(X1), activate(X2))
activate#(n__zWadr(X1, X2))activate#(X1)zWadr#(XS, nil)nil#
activate#(n__from(X))from#(activate(X))zWadr#(cons(X, XS), cons(Y, YS))activate#(XS)
activate#(n__s(X))s#(activate(X))activate#(n__app(X1, X2))activate#(X2)

Rewrite Rules

app(nil, YS)YSapp(cons(X, XS), YS)cons(X, n__app(activate(XS), YS))
from(X)cons(X, n__from(n__s(X)))zWadr(nil, YS)nil
zWadr(XS, nil)nilzWadr(cons(X, XS), cons(Y, YS))cons(app(Y, cons(X, n__nil)), n__zWadr(activate(XS), activate(YS)))
prefix(L)cons(nil, n__zWadr(L, n__prefix(L)))app(X1, X2)n__app(X1, X2)
from(X)n__from(X)s(X)n__s(X)
niln__nilzWadr(X1, X2)n__zWadr(X1, X2)
prefix(X)n__prefix(X)activate(n__app(X1, X2))app(activate(X1), activate(X2))
activate(n__from(X))from(activate(X))activate(n__s(X))s(activate(X))
activate(n__nil)nilactivate(n__zWadr(X1, X2))zWadr(activate(X1), activate(X2))
activate(n__prefix(X))prefix(activate(X))activate(X)X

Original Signature

Termination of terms over the following signature is verified: app, n__from, n__app, from, n__prefix, activate, n__s, zWadr, s, n__zWadr, prefix, n__nil, cons, nil

Strategy


The following SCCs where found

zWadr#(cons(X, XS), cons(Y, YS)) → activate#(YS)app#(cons(X, XS), YS) → activate#(XS)
activate#(n__s(X)) → activate#(X)zWadr#(cons(X, XS), cons(Y, YS)) → app#(Y, cons(X, n__nil))
activate#(n__from(X)) → activate#(X)activate#(n__prefix(X)) → activate#(X)
activate#(n__app(X1, X2)) → activate#(X1)activate#(n__zWadr(X1, X2)) → activate#(X2)
activate#(n__zWadr(X1, X2)) → zWadr#(activate(X1), activate(X2))activate#(n__app(X1, X2)) → app#(activate(X1), activate(X2))
activate#(n__zWadr(X1, X2)) → activate#(X1)zWadr#(cons(X, XS), cons(Y, YS)) → activate#(XS)
activate#(n__app(X1, X2)) → activate#(X2)