Input TRS: 1: a__from(X) -> cons(mark(X),from(s(X))) 2: a__first(0(),Z) -> nil() 3: a__first(s(X),cons(Y,Z)) -> cons(mark(Y),first(X,Z)) 4: a__sel(0(),cons(X,Z)) -> mark(X) 5: a__sel(s(X),cons(Y,Z)) -> a__sel(mark(X),mark(Z)) 6: mark(from(X)) -> a__from(mark(X)) 7: mark(first(X1,X2)) -> a__first(mark(X1),mark(X2)) 8: mark(sel(X1,X2)) -> a__sel(mark(X1),mark(X2)) 9: mark(cons(X1,X2)) -> cons(mark(X1),X2) 10: mark(s(X)) -> s(mark(X)) 11: mark(0()) -> 0() 12: mark(nil()) -> nil() 13: a__from(X) -> from(X) 14: a__first(X1,X2) -> first(X1,X2) 15: a__sel(X1,X2) -> sel(X1,X2) Number of strict rules: 15 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #mark(from(X)) -> #a__from(mark(X)) #2: #mark(from(X)) -> #mark(X) #3: #mark(cons(X1,X2)) -> #mark(X1) #4: #mark(first(X1,X2)) -> #a__first(mark(X1),mark(X2)) #5: #mark(first(X1,X2)) -> #mark(X1) #6: #mark(first(X1,X2)) -> #mark(X2) #7: #mark(s(X)) -> #mark(X) #8: #a__sel(s(X),cons(Y,Z)) -> #a__sel(mark(X),mark(Z)) #9: #a__sel(s(X),cons(Y,Z)) -> #mark(X) #10: #a__sel(s(X),cons(Y,Z)) -> #mark(Z) #11: #a__first(s(X),cons(Y,Z)) -> #mark(Y) #12: #a__from(X) -> #mark(X) #13: #mark(sel(X1,X2)) -> #a__sel(mark(X1),mark(X2)) #14: #mark(sel(X1,X2)) -> #mark(X1) #15: #mark(sel(X1,X2)) -> #mark(X2) #16: #a__sel(0(),cons(X,Z)) -> #mark(X) Number of SCCs: 1, DPs: 16, edges: 130 SCC { #1..16 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. s(x1) weight: x1 #a__from(x1) weight: (/ 1 8) + x1 #a__first(x1,x2) weight: max{0, (/ 1 8) + x2} a__from(x1) weight: (/ 1 4) + x1 #mark(x1) weight: (/ 1 16) + x1 0() weight: (/ 1 16) from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: max{(/ 3 16) + x2, (/ 1 2) + x1} nil() weight: (/ 1 4) #a__sel(x1,x2) weight: max{(/ 1 8) + x2, (/ 3 16) + x1} mark(x1) weight: x1 a__sel(x1,x2) weight: max{(/ 3 16) + x2, (/ 1 2) + x1} first(x1,x2) weight: max{(/ 1 8) + x2, (/ 3 16) + x1} a__first(x1,x2) weight: max{(/ 1 8) + x2, (/ 3 16) + x1} cons(x1,x2) weight: max{x2, (/ 1 4) + x1} Usable rules: { 1..15 } Removed DPs: #1..6 #9..16 Number of SCCs: 2, DPs: 2, edges: 2 SCC { #7 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: (/ 3 8) + x1 #a__from(x1) weight: 0 #a__first(x1,x2) weight: 0 a__from(x1) weight: (/ 5 8) #mark(x1) weight: x1 0() weight: 0 from(x1) weight: (/ 1 8) + x1 sel(x1,x2) weight: (/ 1 8) + x1 + x2 nil() weight: 0 #a__sel(x1,x2) weight: 0 mark(x1) weight: (/ 3 8) + x1 a__sel(x1,x2) weight: x1 + x2 first(x1,x2) weight: (/ 1 8) a__first(x1,x2) weight: 0 cons(x1,x2) weight: (/ 1 4) + x2 Usable rules: { } Removed DPs: #7 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #8 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... succeeded. s(x1) weight: max{0, (/ 1 16) + x1} #a__from(x1) weight: 0 #a__first(x1,x2) weight: 0 a__from(x1) weight: max{0, (/ 1 4) + x1} #mark(x1) weight: 0 0() weight: (/ 1 8) from(x1) weight: max{0, (/ 1 4) + x1} sel(x1,x2) weight: max{0, (- (/ 1 16)) + x2 + x1} nil() weight: (/ 1 16) #a__sel(x1,x2) weight: max{0, (/ 1 16) + x1} mark(x1) weight: max{0, x1} a__sel(x1,x2) weight: max{0, (- (/ 1 16)) + x2 + x1} first(x1,x2) weight: max{0, (/ 1 8) + x2 + x1} a__first(x1,x2) weight: max{0, (/ 1 8) + x2 + x1} cons(x1,x2) weight: max{0, (/ 1 4) + x1, (- (/ 1 16)) + x2} Usable rules: { 1..15 } Removed DPs: #8 Number of SCCs: 0, DPs: 0, edges: 0 YES