Term Rewriting System R:
[X, Y, Z, X1, X2]
adbl(0) -> 0
adbl(s(X)) -> s(s(dbl(X)))
adbl(X) -> dbl(X)
adbls(nil) -> nil
adbls(cons(X, Y)) -> cons(dbl(X), dbls(Y))
adbls(X) -> dbls(X)
asel(0, cons(X, Y)) -> mark(X)
asel(s(X), cons(Y, Z)) -> asel(mark(X), mark(Z))
asel(X1, X2) -> sel(X1, X2)
aindx(nil, X) -> nil
aindx(cons(X, Y), Z) -> cons(sel(X, Z), indx(Y, Z))
aindx(X1, X2) -> indx(X1, X2)
afrom(X) -> cons(X, from(s(X)))
afrom(X) -> from(X)
adbl1(0) -> 01
adbl1(s(X)) -> s1(s1(adbl1(mark(X))))
adbl1(X) -> dbl1(X)
asel1(0, cons(X, Y)) -> mark(X)
asel1(s(X), cons(Y, Z)) -> asel1(mark(X), mark(Z))
asel1(X1, X2) -> sel1(X1, X2)
aquote(0) -> 01
aquote(s(X)) -> s1(aquote(mark(X)))
aquote(dbl(X)) -> adbl1(mark(X))
aquote(sel(X, Y)) -> asel1(mark(X), mark(Y))
aquote(X) -> quote(X)
mark(dbl(X)) -> adbl(mark(X))
mark(dbls(X)) -> adbls(mark(X))
mark(sel(X1, X2)) -> asel(mark(X1), mark(X2))
mark(indx(X1, X2)) -> aindx(mark(X1), X2)
mark(from(X)) -> afrom(X)
mark(dbl1(X)) -> adbl1(mark(X))
mark(sel1(X1, X2)) -> asel1(mark(X1), mark(X2))
mark(quote(X)) -> aquote(mark(X))
mark(0) -> 0
mark(s(X)) -> s(X)
mark(nil) -> nil
mark(cons(X1, X2)) -> cons(X1, X2)
mark(01) -> 01
mark(s1(X)) -> s1(mark(X))

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

ASEL(0, cons(X, Y)) -> MARK(X)
ASEL(s(X), cons(Y, Z)) -> ASEL(mark(X), mark(Z))
ASEL(s(X), cons(Y, Z)) -> MARK(X)
ASEL(s(X), cons(Y, Z)) -> MARK(Z)
ADBL1(s(X)) -> ADBL1(mark(X))
ADBL1(s(X)) -> MARK(X)
ASEL1(0, cons(X, Y)) -> MARK(X)
ASEL1(s(X), cons(Y, Z)) -> ASEL1(mark(X), mark(Z))
ASEL1(s(X), cons(Y, Z)) -> MARK(X)
ASEL1(s(X), cons(Y, Z)) -> MARK(Z)
AQUOTE(s(X)) -> AQUOTE(mark(X))
AQUOTE(s(X)) -> MARK(X)
AQUOTE(dbl(X)) -> ADBL1(mark(X))
AQUOTE(dbl(X)) -> MARK(X)
AQUOTE(sel(X, Y)) -> ASEL1(mark(X), mark(Y))
AQUOTE(sel(X, Y)) -> MARK(X)
AQUOTE(sel(X, Y)) -> MARK(Y)
MARK(dbl(X)) -> ADBL(mark(X))
MARK(dbl(X)) -> MARK(X)
MARK(dbls(X)) -> ADBLS(mark(X))
MARK(dbls(X)) -> MARK(X)
MARK(sel(X1, X2)) -> ASEL(mark(X1), mark(X2))
MARK(sel(X1, X2)) -> MARK(X1)
MARK(sel(X1, X2)) -> MARK(X2)
MARK(indx(X1, X2)) -> AINDX(mark(X1), X2)
MARK(indx(X1, X2)) -> MARK(X1)
MARK(from(X)) -> AFROM(X)
MARK(dbl1(X)) -> ADBL1(mark(X))
MARK(dbl1(X)) -> MARK(X)
MARK(sel1(X1, X2)) -> ASEL1(mark(X1), mark(X2))
MARK(sel1(X1, X2)) -> MARK(X1)
MARK(sel1(X1, X2)) -> MARK(X2)
MARK(quote(X)) -> AQUOTE(mark(X))
MARK(quote(X)) -> MARK(X)
MARK(s1(X)) -> MARK(X)

Furthermore, R contains one SCC.


   R
DPs
       →DP Problem 1
Remaining Obligation(s)




The following remains to be proven:
Dependency Pairs:

ASEL(s(X), cons(Y, Z)) -> MARK(Z)
AQUOTE(sel(X, Y)) -> MARK(Y)
AQUOTE(sel(X, Y)) -> MARK(X)
ASEL1(s(X), cons(Y, Z)) -> MARK(Z)
ASEL1(s(X), cons(Y, Z)) -> MARK(X)
ASEL1(s(X), cons(Y, Z)) -> ASEL1(mark(X), mark(Z))
AQUOTE(sel(X, Y)) -> ASEL1(mark(X), mark(Y))
AQUOTE(dbl(X)) -> MARK(X)
AQUOTE(dbl(X)) -> ADBL1(mark(X))
MARK(s1(X)) -> MARK(X)
MARK(quote(X)) -> MARK(X)
AQUOTE(s(X)) -> MARK(X)
AQUOTE(s(X)) -> AQUOTE(mark(X))
MARK(quote(X)) -> AQUOTE(mark(X))
MARK(sel1(X1, X2)) -> MARK(X2)
MARK(sel1(X1, X2)) -> MARK(X1)
ASEL1(0, cons(X, Y)) -> MARK(X)
MARK(sel1(X1, X2)) -> ASEL1(mark(X1), mark(X2))
MARK(dbl1(X)) -> MARK(X)
ADBL1(s(X)) -> MARK(X)
ADBL1(s(X)) -> ADBL1(mark(X))
MARK(dbl1(X)) -> ADBL1(mark(X))
MARK(indx(X1, X2)) -> MARK(X1)
MARK(sel(X1, X2)) -> MARK(X2)
MARK(sel(X1, X2)) -> MARK(X1)
ASEL(s(X), cons(Y, Z)) -> MARK(X)
ASEL(s(X), cons(Y, Z)) -> ASEL(mark(X), mark(Z))
MARK(sel(X1, X2)) -> ASEL(mark(X1), mark(X2))
MARK(dbls(X)) -> MARK(X)
MARK(dbl(X)) -> MARK(X)
ASEL(0, cons(X, Y)) -> MARK(X)


Rules:


adbl(0) -> 0
adbl(s(X)) -> s(s(dbl(X)))
adbl(X) -> dbl(X)
adbls(nil) -> nil
adbls(cons(X, Y)) -> cons(dbl(X), dbls(Y))
adbls(X) -> dbls(X)
asel(0, cons(X, Y)) -> mark(X)
asel(s(X), cons(Y, Z)) -> asel(mark(X), mark(Z))
asel(X1, X2) -> sel(X1, X2)
aindx(nil, X) -> nil
aindx(cons(X, Y), Z) -> cons(sel(X, Z), indx(Y, Z))
aindx(X1, X2) -> indx(X1, X2)
afrom(X) -> cons(X, from(s(X)))
afrom(X) -> from(X)
adbl1(0) -> 01
adbl1(s(X)) -> s1(s1(adbl1(mark(X))))
adbl1(X) -> dbl1(X)
asel1(0, cons(X, Y)) -> mark(X)
asel1(s(X), cons(Y, Z)) -> asel1(mark(X), mark(Z))
asel1(X1, X2) -> sel1(X1, X2)
aquote(0) -> 01
aquote(s(X)) -> s1(aquote(mark(X)))
aquote(dbl(X)) -> adbl1(mark(X))
aquote(sel(X, Y)) -> asel1(mark(X), mark(Y))
aquote(X) -> quote(X)
mark(dbl(X)) -> adbl(mark(X))
mark(dbls(X)) -> adbls(mark(X))
mark(sel(X1, X2)) -> asel(mark(X1), mark(X2))
mark(indx(X1, X2)) -> aindx(mark(X1), X2)
mark(from(X)) -> afrom(X)
mark(dbl1(X)) -> adbl1(mark(X))
mark(sel1(X1, X2)) -> asel1(mark(X1), mark(X2))
mark(quote(X)) -> aquote(mark(X))
mark(0) -> 0
mark(s(X)) -> s(X)
mark(nil) -> nil
mark(cons(X1, X2)) -> cons(X1, X2)
mark(01) -> 01
mark(s1(X)) -> s1(mark(X))




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