Term Rewriting System R:
[YS, X, XS, X1, X2, Y, L]
app(nil, YS) -> YS
app(cons(X, XS), YS) -> cons(X, napp(activate(XS), YS))
app(X1, X2) -> napp(X1, X2)
from(X) -> cons(X, nfrom(s(X)))
from(X) -> nfrom(X)
zWadr(nil, YS) -> nil
zWadr(XS, nil) -> nil
zWadr(cons(X, XS), cons(Y, YS)) -> cons(app(Y, cons(X, nnil)), nzWadr(activate(XS), activate(YS)))
zWadr(X1, X2) -> nzWadr(X1, X2)
prefix(L) -> cons(nil, nzWadr(L, prefix(L)))
nil -> nnil
activate(napp(X1, X2)) -> app(X1, X2)
activate(nfrom(X)) -> from(X)
activate(nnil) -> nil
activate(nzWadr(X1, X2)) -> zWadr(X1, X2)
activate(X) -> X

Innermost Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

APP(cons(X, XS), YS) -> ACTIVATE(XS)
ZWADR(cons(X, XS), cons(Y, YS)) -> APP(Y, cons(X, nnil))
ZWADR(cons(X, XS), cons(Y, YS)) -> ACTIVATE(XS)
ZWADR(cons(X, XS), cons(Y, YS)) -> ACTIVATE(YS)
PREFIX(L) -> NIL
PREFIX(L) -> PREFIX(L)
ACTIVATE(napp(X1, X2)) -> APP(X1, X2)
ACTIVATE(nfrom(X)) -> FROM(X)
ACTIVATE(nnil) -> NIL
ACTIVATE(nzWadr(X1, X2)) -> ZWADR(X1, X2)

Furthermore, R contains two SCCs.


   R
DPs
       →DP Problem 1
Forward Instantiation Transformation
       →DP Problem 2
Remaining


Dependency Pairs:

ZWADR(cons(X, XS), cons(Y, YS)) -> ACTIVATE(YS)
ZWADR(cons(X, XS), cons(Y, YS)) -> ACTIVATE(XS)
ZWADR(cons(X, XS), cons(Y, YS)) -> APP(Y, cons(X, nnil))
ACTIVATE(nzWadr(X1, X2)) -> ZWADR(X1, X2)
ACTIVATE(napp(X1, X2)) -> APP(X1, X2)
APP(cons(X, XS), YS) -> ACTIVATE(XS)


Rules:


app(nil, YS) -> YS
app(cons(X, XS), YS) -> cons(X, napp(activate(XS), YS))
app(X1, X2) -> napp(X1, X2)
from(X) -> cons(X, nfrom(s(X)))
from(X) -> nfrom(X)
zWadr(nil, YS) -> nil
zWadr(XS, nil) -> nil
zWadr(cons(X, XS), cons(Y, YS)) -> cons(app(Y, cons(X, nnil)), nzWadr(activate(XS), activate(YS)))
zWadr(X1, X2) -> nzWadr(X1, X2)
prefix(L) -> cons(nil, nzWadr(L, prefix(L)))
nil -> nnil
activate(napp(X1, X2)) -> app(X1, X2)
activate(nfrom(X)) -> from(X)
activate(nnil) -> nil
activate(nzWadr(X1, X2)) -> zWadr(X1, X2)
activate(X) -> X


Strategy:

innermost




On this DP problem, a Forward Instantiation SCC transformation can be performed.
As a result of transforming the rule

APP(cons(X, XS), YS) -> ACTIVATE(XS)
two new Dependency Pairs are created:

APP(cons(X, napp(X1'', X2'')), YS) -> ACTIVATE(napp(X1'', X2''))
APP(cons(X, nzWadr(X1'', X2'')), YS) -> ACTIVATE(nzWadr(X1'', X2''))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
FwdInst
           →DP Problem 3
Forward Instantiation Transformation
       →DP Problem 2
Remaining


Dependency Pairs:

ZWADR(cons(X, XS), cons(Y, YS)) -> ACTIVATE(XS)
ZWADR(cons(X, XS), cons(Y, YS)) -> APP(Y, cons(X, nnil))
ACTIVATE(nzWadr(X1, X2)) -> ZWADR(X1, X2)
APP(cons(X, nzWadr(X1'', X2'')), YS) -> ACTIVATE(nzWadr(X1'', X2''))
APP(cons(X, napp(X1'', X2'')), YS) -> ACTIVATE(napp(X1'', X2''))
ACTIVATE(napp(X1, X2)) -> APP(X1, X2)
ZWADR(cons(X, XS), cons(Y, YS)) -> ACTIVATE(YS)


Rules:


app(nil, YS) -> YS
app(cons(X, XS), YS) -> cons(X, napp(activate(XS), YS))
app(X1, X2) -> napp(X1, X2)
from(X) -> cons(X, nfrom(s(X)))
from(X) -> nfrom(X)
zWadr(nil, YS) -> nil
zWadr(XS, nil) -> nil
zWadr(cons(X, XS), cons(Y, YS)) -> cons(app(Y, cons(X, nnil)), nzWadr(activate(XS), activate(YS)))
zWadr(X1, X2) -> nzWadr(X1, X2)
prefix(L) -> cons(nil, nzWadr(L, prefix(L)))
nil -> nnil
activate(napp(X1, X2)) -> app(X1, X2)
activate(nfrom(X)) -> from(X)
activate(nnil) -> nil
activate(nzWadr(X1, X2)) -> zWadr(X1, X2)
activate(X) -> X


Strategy:

innermost




On this DP problem, a Forward Instantiation SCC transformation can be performed.
As a result of transforming the rule

ZWADR(cons(X, XS), cons(Y, YS)) -> APP(Y, cons(X, nnil))
two new Dependency Pairs are created:

ZWADR(cons(X0, XS), cons(cons(X'', napp(X1'''', X2'''')), YS)) -> APP(cons(X'', napp(X1'''', X2'''')), cons(X0, nnil))
ZWADR(cons(X0, XS), cons(cons(X'', nzWadr(X1'''', X2'''')), YS)) -> APP(cons(X'', nzWadr(X1'''', X2'''')), cons(X0, nnil))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
FwdInst
           →DP Problem 3
FwdInst
             ...
               →DP Problem 4
Forward Instantiation Transformation
       →DP Problem 2
Remaining


Dependency Pairs:

ZWADR(cons(X0, XS), cons(cons(X'', nzWadr(X1'''', X2'''')), YS)) -> APP(cons(X'', nzWadr(X1'''', X2'''')), cons(X0, nnil))
ZWADR(cons(X0, XS), cons(cons(X'', napp(X1'''', X2'''')), YS)) -> APP(cons(X'', napp(X1'''', X2'''')), cons(X0, nnil))
ZWADR(cons(X, XS), cons(Y, YS)) -> ACTIVATE(YS)
ACTIVATE(nzWadr(X1, X2)) -> ZWADR(X1, X2)
APP(cons(X, nzWadr(X1'', X2'')), YS) -> ACTIVATE(nzWadr(X1'', X2''))
APP(cons(X, napp(X1'', X2'')), YS) -> ACTIVATE(napp(X1'', X2''))
ACTIVATE(napp(X1, X2)) -> APP(X1, X2)
ZWADR(cons(X, XS), cons(Y, YS)) -> ACTIVATE(XS)


Rules:


app(nil, YS) -> YS
app(cons(X, XS), YS) -> cons(X, napp(activate(XS), YS))
app(X1, X2) -> napp(X1, X2)
from(X) -> cons(X, nfrom(s(X)))
from(X) -> nfrom(X)
zWadr(nil, YS) -> nil
zWadr(XS, nil) -> nil
zWadr(cons(X, XS), cons(Y, YS)) -> cons(app(Y, cons(X, nnil)), nzWadr(activate(XS), activate(YS)))
zWadr(X1, X2) -> nzWadr(X1, X2)
prefix(L) -> cons(nil, nzWadr(L, prefix(L)))
nil -> nnil
activate(napp(X1, X2)) -> app(X1, X2)
activate(nfrom(X)) -> from(X)
activate(nnil) -> nil
activate(nzWadr(X1, X2)) -> zWadr(X1, X2)
activate(X) -> X


Strategy:

innermost




On this DP problem, a Forward Instantiation SCC transformation can be performed.
As a result of transforming the rule

ZWADR(cons(X, XS), cons(Y, YS)) -> ACTIVATE(XS)
two new Dependency Pairs are created:

ZWADR(cons(X, napp(X1'', X2'')), cons(Y, YS)) -> ACTIVATE(napp(X1'', X2''))
ZWADR(cons(X, nzWadr(X1'', X2'')), cons(Y, YS)) -> ACTIVATE(nzWadr(X1'', X2''))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
FwdInst
           →DP Problem 3
FwdInst
             ...
               →DP Problem 5
Forward Instantiation Transformation
       →DP Problem 2
Remaining


Dependency Pairs:

ZWADR(cons(X, nzWadr(X1'', X2'')), cons(Y, YS)) -> ACTIVATE(nzWadr(X1'', X2''))
ZWADR(cons(X, napp(X1'', X2'')), cons(Y, YS)) -> ACTIVATE(napp(X1'', X2''))
ZWADR(cons(X0, XS), cons(cons(X'', napp(X1'''', X2'''')), YS)) -> APP(cons(X'', napp(X1'''', X2'''')), cons(X0, nnil))
APP(cons(X, napp(X1'', X2'')), YS) -> ACTIVATE(napp(X1'', X2''))
ACTIVATE(napp(X1, X2)) -> APP(X1, X2)
ZWADR(cons(X, XS), cons(Y, YS)) -> ACTIVATE(YS)
ACTIVATE(nzWadr(X1, X2)) -> ZWADR(X1, X2)
APP(cons(X, nzWadr(X1'', X2'')), YS) -> ACTIVATE(nzWadr(X1'', X2''))
ZWADR(cons(X0, XS), cons(cons(X'', nzWadr(X1'''', X2'''')), YS)) -> APP(cons(X'', nzWadr(X1'''', X2'''')), cons(X0, nnil))


Rules:


app(nil, YS) -> YS
app(cons(X, XS), YS) -> cons(X, napp(activate(XS), YS))
app(X1, X2) -> napp(X1, X2)
from(X) -> cons(X, nfrom(s(X)))
from(X) -> nfrom(X)
zWadr(nil, YS) -> nil
zWadr(XS, nil) -> nil
zWadr(cons(X, XS), cons(Y, YS)) -> cons(app(Y, cons(X, nnil)), nzWadr(activate(XS), activate(YS)))
zWadr(X1, X2) -> nzWadr(X1, X2)
prefix(L) -> cons(nil, nzWadr(L, prefix(L)))
nil -> nnil
activate(napp(X1, X2)) -> app(X1, X2)
activate(nfrom(X)) -> from(X)
activate(nnil) -> nil
activate(nzWadr(X1, X2)) -> zWadr(X1, X2)
activate(X) -> X


Strategy:

innermost




On this DP problem, a Forward Instantiation SCC transformation can be performed.
As a result of transforming the rule

ZWADR(cons(X, XS), cons(Y, YS)) -> ACTIVATE(YS)
two new Dependency Pairs are created:

ZWADR(cons(X, XS), cons(Y, napp(X1'', X2''))) -> ACTIVATE(napp(X1'', X2''))
ZWADR(cons(X, XS), cons(Y, nzWadr(X1'', X2''))) -> ACTIVATE(nzWadr(X1'', X2''))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
FwdInst
           →DP Problem 3
FwdInst
             ...
               →DP Problem 6
Forward Instantiation Transformation
       →DP Problem 2
Remaining


Dependency Pairs:

ZWADR(cons(X, XS), cons(Y, nzWadr(X1'', X2''))) -> ACTIVATE(nzWadr(X1'', X2''))
ZWADR(cons(X, XS), cons(Y, napp(X1'', X2''))) -> ACTIVATE(napp(X1'', X2''))
ZWADR(cons(X, napp(X1'', X2'')), cons(Y, YS)) -> ACTIVATE(napp(X1'', X2''))
ZWADR(cons(X0, XS), cons(cons(X'', nzWadr(X1'''', X2'''')), YS)) -> APP(cons(X'', nzWadr(X1'''', X2'''')), cons(X0, nnil))
APP(cons(X, nzWadr(X1'', X2'')), YS) -> ACTIVATE(nzWadr(X1'', X2''))
ACTIVATE(napp(X1, X2)) -> APP(X1, X2)
APP(cons(X, napp(X1'', X2'')), YS) -> ACTIVATE(napp(X1'', X2''))
ZWADR(cons(X0, XS), cons(cons(X'', napp(X1'''', X2'''')), YS)) -> APP(cons(X'', napp(X1'''', X2'''')), cons(X0, nnil))
ACTIVATE(nzWadr(X1, X2)) -> ZWADR(X1, X2)
ZWADR(cons(X, nzWadr(X1'', X2'')), cons(Y, YS)) -> ACTIVATE(nzWadr(X1'', X2''))


Rules:


app(nil, YS) -> YS
app(cons(X, XS), YS) -> cons(X, napp(activate(XS), YS))
app(X1, X2) -> napp(X1, X2)
from(X) -> cons(X, nfrom(s(X)))
from(X) -> nfrom(X)
zWadr(nil, YS) -> nil
zWadr(XS, nil) -> nil
zWadr(cons(X, XS), cons(Y, YS)) -> cons(app(Y, cons(X, nnil)), nzWadr(activate(XS), activate(YS)))
zWadr(X1, X2) -> nzWadr(X1, X2)
prefix(L) -> cons(nil, nzWadr(L, prefix(L)))
nil -> nnil
activate(napp(X1, X2)) -> app(X1, X2)
activate(nfrom(X)) -> from(X)
activate(nnil) -> nil
activate(nzWadr(X1, X2)) -> zWadr(X1, X2)
activate(X) -> X


Strategy:

innermost




On this DP problem, a Forward Instantiation SCC transformation can be performed.
As a result of transforming the rule

ACTIVATE(napp(X1, X2)) -> APP(X1, X2)
two new Dependency Pairs are created:

ACTIVATE(napp(cons(X'', napp(X1'''', X2'''')), X2')) -> APP(cons(X'', napp(X1'''', X2'''')), X2')
ACTIVATE(napp(cons(X'', nzWadr(X1'''', X2'''')), X2')) -> APP(cons(X'', nzWadr(X1'''', X2'''')), X2')

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
FwdInst
           →DP Problem 3
FwdInst
             ...
               →DP Problem 7
Forward Instantiation Transformation
       →DP Problem 2
Remaining


Dependency Pairs:

ZWADR(cons(X, XS), cons(Y, napp(X1'', X2''))) -> ACTIVATE(napp(X1'', X2''))
ZWADR(cons(X, nzWadr(X1'', X2'')), cons(Y, YS)) -> ACTIVATE(nzWadr(X1'', X2''))
ZWADR(cons(X, napp(X1'', X2'')), cons(Y, YS)) -> ACTIVATE(napp(X1'', X2''))
ZWADR(cons(X0, XS), cons(cons(X'', nzWadr(X1'''', X2'''')), YS)) -> APP(cons(X'', nzWadr(X1'''', X2'''')), cons(X0, nnil))
APP(cons(X, nzWadr(X1'', X2'')), YS) -> ACTIVATE(nzWadr(X1'', X2''))
ACTIVATE(napp(cons(X'', nzWadr(X1'''', X2'''')), X2')) -> APP(cons(X'', nzWadr(X1'''', X2'''')), X2')
ACTIVATE(napp(cons(X'', napp(X1'''', X2'''')), X2')) -> APP(cons(X'', napp(X1'''', X2'''')), X2')
APP(cons(X, napp(X1'', X2'')), YS) -> ACTIVATE(napp(X1'', X2''))
ZWADR(cons(X0, XS), cons(cons(X'', napp(X1'''', X2'''')), YS)) -> APP(cons(X'', napp(X1'''', X2'''')), cons(X0, nnil))
ACTIVATE(nzWadr(X1, X2)) -> ZWADR(X1, X2)
ZWADR(cons(X, XS), cons(Y, nzWadr(X1'', X2''))) -> ACTIVATE(nzWadr(X1'', X2''))


Rules:


app(nil, YS) -> YS
app(cons(X, XS), YS) -> cons(X, napp(activate(XS), YS))
app(X1, X2) -> napp(X1, X2)
from(X) -> cons(X, nfrom(s(X)))
from(X) -> nfrom(X)
zWadr(nil, YS) -> nil
zWadr(XS, nil) -> nil
zWadr(cons(X, XS), cons(Y, YS)) -> cons(app(Y, cons(X, nnil)), nzWadr(activate(XS), activate(YS)))
zWadr(X1, X2) -> nzWadr(X1, X2)
prefix(L) -> cons(nil, nzWadr(L, prefix(L)))
nil -> nnil
activate(napp(X1, X2)) -> app(X1, X2)
activate(nfrom(X)) -> from(X)
activate(nnil) -> nil
activate(nzWadr(X1, X2)) -> zWadr(X1, X2)
activate(X) -> X


Strategy:

innermost




On this DP problem, a Forward Instantiation SCC transformation can be performed.
As a result of transforming the rule

ACTIVATE(nzWadr(X1, X2)) -> ZWADR(X1, X2)
six new Dependency Pairs are created:

ACTIVATE(nzWadr(cons(X0'', XS''), cons(cons(X'''', napp(X1'''''', X2'''''')), YS''))) -> ZWADR(cons(X0'', XS''), cons(cons(X'''', napp(X1'''''', X2'''''')), YS''))
ACTIVATE(nzWadr(cons(X0'', XS''), cons(cons(X'''', nzWadr(X1'''''', X2'''''')), YS''))) -> ZWADR(cons(X0'', XS''), cons(cons(X'''', nzWadr(X1'''''', X2'''''')), YS''))
ACTIVATE(nzWadr(cons(X'', napp(X1'''', X2'''')), cons(Y'', YS''))) -> ZWADR(cons(X'', napp(X1'''', X2'''')), cons(Y'', YS''))
ACTIVATE(nzWadr(cons(X'', nzWadr(X1'''', X2'''')), cons(Y'', YS''))) -> ZWADR(cons(X'', nzWadr(X1'''', X2'''')), cons(Y'', YS''))
ACTIVATE(nzWadr(cons(X'', XS''), cons(Y'', napp(X1'''', X2'''')))) -> ZWADR(cons(X'', XS''), cons(Y'', napp(X1'''', X2'''')))
ACTIVATE(nzWadr(cons(X'', XS''), cons(Y'', nzWadr(X1'''', X2'''')))) -> ZWADR(cons(X'', XS''), cons(Y'', nzWadr(X1'''', X2'''')))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
FwdInst
       →DP Problem 2
Remaining Obligation(s)




The following remains to be proven:


   R
DPs
       →DP Problem 1
FwdInst
       →DP Problem 2
Remaining Obligation(s)




The following remains to be proven:

Innermost Termination of R could not be shown.
Duration:
0:12 minutes