Input TRS: 1: a__dbl(0()) -> 0() 2: a__dbl(s(X)) -> s(s(dbl(X))) 3: a__dbls(nil()) -> nil() 4: a__dbls(cons(X,Y)) -> cons(dbl(X),dbls(Y)) 5: a__sel(0(),cons(X,Y)) -> mark(X) 6: a__sel(s(X),cons(Y,Z)) -> a__sel(mark(X),mark(Z)) 7: a__indx(nil(),X) -> nil() 8: a__indx(cons(X,Y),Z) -> cons(sel(X,Z),indx(Y,Z)) 9: a__from(X) -> cons(X,from(s(X))) 10: mark(dbl(X)) -> a__dbl(mark(X)) 11: mark(dbls(X)) -> a__dbls(mark(X)) 12: mark(sel(X1,X2)) -> a__sel(mark(X1),mark(X2)) 13: mark(indx(X1,X2)) -> a__indx(mark(X1),X2) 14: mark(from(X)) -> a__from(X) 15: mark(0()) -> 0() 16: mark(s(X)) -> s(X) 17: mark(nil()) -> nil() 18: mark(cons(X1,X2)) -> cons(X1,X2) 19: a__dbl(X) -> dbl(X) 20: a__dbls(X) -> dbls(X) 21: a__sel(X1,X2) -> sel(X1,X2) 22: a__indx(X1,X2) -> indx(X1,X2) 23: a__from(X) -> from(X) Number of strict rules: 23 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #a__sel(s(X),cons(Y,Z)) -> #a__sel(mark(X),mark(Z)) #2: #a__sel(s(X),cons(Y,Z)) -> #mark(X) #3: #a__sel(s(X),cons(Y,Z)) -> #mark(Z) #4: #mark(indx(X1,X2)) -> #a__indx(mark(X1),X2) #5: #mark(indx(X1,X2)) -> #mark(X1) #6: #mark(dbls(X)) -> #a__dbls(mark(X)) #7: #mark(dbls(X)) -> #mark(X) #8: #mark(sel(X1,X2)) -> #a__sel(mark(X1),mark(X2)) #9: #mark(sel(X1,X2)) -> #mark(X1) #10: #mark(sel(X1,X2)) -> #mark(X2) #11: #mark(from(X)) -> #a__from(X) #12: #mark(dbl(X)) -> #a__dbl(mark(X)) #13: #mark(dbl(X)) -> #mark(X) #14: #a__sel(0(),cons(X,Y)) -> #mark(X) Number of SCCs: 1, DPs: 10, edges: 56 SCC { #1..3 #5 #7..10 #13 #14 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. s(x1) weight: x1 #a__from(x1) weight: 0 dbls(x1) weight: (/ 1 8) + x1 a__indx(x1,x2) weight: max{(/ 5 8) + x2, (/ 3 8) + x1} a__from(x1) weight: (/ 1 8) + x1 #a__indx(x1,x2) weight: 0 dbl(x1) weight: (/ 1 8) + x1 indx(x1,x2) weight: max{(/ 5 8) + x2, (/ 3 8) + x1} a__dbl(x1) weight: (/ 1 8) + x1 #a__dbls(x1) weight: 0 #mark(x1) weight: x1 0() weight: (/ 1 8) sel(x1,x2) weight: max{(/ 1 2) + x2, (/ 3 8) + x1} from(x1) weight: (/ 1 8) + x1 nil() weight: (/ 3 4) #a__dbl(x1) weight: 0 #a__sel(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} mark(x1) weight: x1 a__sel(x1,x2) weight: max{(/ 1 2) + x2, (/ 3 8) + x1} a__dbls(x1) weight: (/ 1 8) + x1 cons(x1,x2) weight: max{x2, (/ 1 8) + x1} Usable rules: { 1..23 } Removed DPs: #2 #3 #5 #7..10 #13 #14 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. s(x1) weight: x1 status: [x1] precedence above: dbls a__indx indx sel nil #a__sel mark a__sel a__dbls cons #a__from(x1) weight: (/ 1 4) status: [] precedence above: dbls(x1) weight: (/ 1 2) + x1 status: [x1] precedence above: a__indx indx sel nil #a__sel mark a__sel a__dbls cons a__indx(x1,x2) weight: (/ 1 2) + x2 status: [x2] precedence above: indx sel nil a__sel cons a__from(x1) weight: (/ 1 2) + x1 status: [] precedence above: s dbls a__indx indx sel from nil #a__sel mark a__sel a__dbls cons #a__indx(x1,x2) weight: (/ 1 4) + x2 status: [x2] precedence above: dbl(x1) weight: x1 status: [x1] precedence above: s dbls a__indx indx a__dbl sel nil #a__sel mark a__sel a__dbls cons indx(x1,x2) weight: (/ 1 2) + x2 status: [x2] precedence above: a__indx sel nil a__sel cons a__dbl(x1) weight: x1 status: [x1] precedence above: s dbls a__indx dbl indx sel nil #a__sel mark a__sel a__dbls cons #a__dbls(x1) weight: x1 status: [] precedence above: #mark(x1) weight: x1 status: [] precedence above: 0() weight: (/ 1 4) status: [] precedence above: sel(x1,x2) weight: x2 status: [] precedence above: a__sel from(x1) weight: (/ 1 2) + x1 status: [] precedence above: s dbls a__indx a__from indx sel nil #a__sel mark a__sel a__dbls cons nil() weight: 0 status: [] precedence above: #a__dbl(x1) weight: (/ 1 4) status: [] precedence above: #a__sel(x1,x2) weight: x1 status: x1 mark(x1) weight: x1 status: x1 a__sel(x1,x2) weight: x2 status: [] precedence above: sel a__dbls(x1) weight: (/ 1 2) + x1 status: [x1] precedence above: dbls a__indx indx sel nil #a__sel mark a__sel cons cons(x1,x2) weight: max{x2, (/ 1 4) + x1} status: [] precedence above: sel a__sel Usable rules: { 1..23 } Removed DPs: #1 Number of SCCs: 0, DPs: 0, edges: 0 YES