Input TRS: 1: a__fst(0(),Z) -> nil() 2: a__fst(s(X),cons(Y,Z)) -> cons(mark(Y),fst(X,Z)) 3: a__from(X) -> cons(mark(X),from(s(X))) 4: a__add(0(),X) -> mark(X) 5: a__add(s(X),Y) -> s(add(X,Y)) 6: a__len(nil()) -> 0() 7: a__len(cons(X,Z)) -> s(len(Z)) 8: mark(fst(X1,X2)) -> a__fst(mark(X1),mark(X2)) 9: mark(from(X)) -> a__from(mark(X)) 10: mark(add(X1,X2)) -> a__add(mark(X1),mark(X2)) 11: mark(len(X)) -> a__len(mark(X)) 12: mark(0()) -> 0() 13: mark(s(X)) -> s(X) 14: mark(nil()) -> nil() 15: mark(cons(X1,X2)) -> cons(mark(X1),X2) 16: a__fst(X1,X2) -> fst(X1,X2) 17: a__from(X) -> from(X) 18: a__add(X1,X2) -> add(X1,X2) 19: a__len(X) -> len(X) Number of strict rules: 19 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #a__fst(s(X),cons(Y,Z)) -> #mark(Y) #2: #mark(from(X)) -> #a__from(mark(X)) #3: #mark(from(X)) -> #mark(X) #4: #mark(len(X)) -> #a__len(mark(X)) #5: #mark(len(X)) -> #mark(X) #6: #mark(add(X1,X2)) -> #a__add(mark(X1),mark(X2)) #7: #mark(add(X1,X2)) -> #mark(X1) #8: #mark(add(X1,X2)) -> #mark(X2) #9: #a__from(X) -> #mark(X) #10: #mark(fst(X1,X2)) -> #a__fst(mark(X1),mark(X2)) #11: #mark(fst(X1,X2)) -> #mark(X1) #12: #mark(fst(X1,X2)) -> #mark(X2) #13: #mark(cons(X1,X2)) -> #mark(X1) #14: #a__add(0(),X) -> #mark(X) Number of SCCs: 1, DPs: 13, edges: 103 SCC { #1..3 #5..14 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #a__len(x1) weight: 0 s(x1) weight: (/ 1 4) #a__from(x1) weight: (/ 1 2) + x1 a__from(x1) weight: (/ 1 2) + x1 #a__add(x1,x2) weight: (/ 1 2) + x2 fst(x1,x2) weight: x1 + x2 a__add(x1,x2) weight: (/ 1 2) + x1 + x2 a__fst(x1,x2) weight: x1 + x2 #mark(x1) weight: (/ 1 4) + x1 0() weight: 0 from(x1) weight: (/ 1 2) + x1 nil() weight: 0 mark(x1) weight: x1 a__len(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: (/ 1 2) + x1 add(x1,x2) weight: (/ 1 2) + x1 + x2 #a__fst(x1,x2) weight: x2 len(x1) weight: (/ 1 4) + x1 Usable rules: { 1..19 } Removed DPs: #1..3 #5..10 #13 #14 Number of SCCs: 1, DPs: 2, edges: 4 SCC { #11 #12 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #a__len(x1) weight: 0 s(x1) weight: (/ 1 4) #a__from(x1) weight: (/ 1 2) + x1 a__from(x1) weight: (/ 1 2) + x1 #a__add(x1,x2) weight: (/ 1 2) + x2 fst(x1,x2) weight: (/ 1 4) + x1 + x2 a__add(x1,x2) weight: (/ 1 2) + x1 + x2 a__fst(x1,x2) weight: (/ 1 4) + x1 + x2 #mark(x1) weight: (/ 1 4) + x1 0() weight: 0 from(x1) weight: (/ 1 2) + x1 nil() weight: 0 mark(x1) weight: x1 a__len(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: (/ 1 2) + x1 add(x1,x2) weight: (/ 1 2) + x1 + x2 #a__fst(x1,x2) weight: x2 len(x1) weight: (/ 1 4) + x1 Usable rules: { } Removed DPs: #11 #12 Number of SCCs: 0, DPs: 0, edges: 0 YES