Input TRS: 1: active(from(X)) -> mark(cons(X,from(s(X)))) 2: active(sel(0(),cons(X,Y))) -> mark(X) 3: active(sel(s(X),cons(Y,Z))) -> mark(sel(X,Z)) 4: mark(from(X)) -> active(from(mark(X))) 5: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) 6: mark(s(X)) -> active(s(mark(X))) 7: mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) 8: mark(0()) -> active(0()) 9: from(mark(X)) -> from(X) 10: from(active(X)) -> from(X) 11: cons(mark(X1),X2) -> cons(X1,X2) 12: cons(X1,mark(X2)) -> cons(X1,X2) 13: cons(active(X1),X2) -> cons(X1,X2) 14: cons(X1,active(X2)) -> cons(X1,X2) 15: s(mark(X)) -> s(X) 16: s(active(X)) -> s(X) 17: sel(mark(X1),X2) -> sel(X1,X2) 18: sel(X1,mark(X2)) -> sel(X1,X2) 19: sel(active(X1),X2) -> sel(X1,X2) 20: sel(X1,active(X2)) -> sel(X1,X2) Number of strict rules: 20 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #active(sel(0(),cons(X,Y))) -> #mark(X) #2: #mark(s(X)) -> #active(s(mark(X))) #3: #mark(s(X)) -> #s(mark(X)) #4: #mark(s(X)) -> #mark(X) #5: #cons(active(X1),X2) -> #cons(X1,X2) #6: #from(mark(X)) -> #from(X) #7: #cons(mark(X1),X2) -> #cons(X1,X2) #8: #cons(X1,mark(X2)) -> #cons(X1,X2) #9: #cons(X1,active(X2)) -> #cons(X1,X2) #10: #sel(X1,active(X2)) -> #sel(X1,X2) #11: #mark(sel(X1,X2)) -> #active(sel(mark(X1),mark(X2))) #12: #mark(sel(X1,X2)) -> #sel(mark(X1),mark(X2)) #13: #mark(sel(X1,X2)) -> #mark(X1) #14: #mark(sel(X1,X2)) -> #mark(X2) #15: #from(active(X)) -> #from(X) #16: #mark(cons(X1,X2)) -> #active(cons(mark(X1),X2)) #17: #mark(cons(X1,X2)) -> #cons(mark(X1),X2) #18: #mark(cons(X1,X2)) -> #mark(X1) #19: #sel(mark(X1),X2) -> #sel(X1,X2) #20: #sel(active(X1),X2) -> #sel(X1,X2) #21: #s(active(X)) -> #s(X) #22: #active(sel(s(X),cons(Y,Z))) -> #mark(sel(X,Z)) #23: #active(sel(s(X),cons(Y,Z))) -> #sel(X,Z) #24: #active(from(X)) -> #mark(cons(X,from(s(X)))) #25: #active(from(X)) -> #cons(X,from(s(X))) #26: #active(from(X)) -> #from(s(X)) #27: #active(from(X)) -> #s(X) #28: #mark(0()) -> #active(0()) #29: #s(mark(X)) -> #s(X) #30: #mark(from(X)) -> #active(from(mark(X))) #31: #mark(from(X)) -> #from(mark(X)) #32: #mark(from(X)) -> #mark(X) #33: #sel(X1,mark(X2)) -> #sel(X1,X2) Number of SCCs: 5, DPs: 22, edges: 89 SCC { #21 #29 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: x1 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #21 #29 Number of SCCs: 4, DPs: 20, edges: 85 SCC { #6 #15 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #6 #15 Number of SCCs: 3, DPs: 18, edges: 81 SCC { #10 #19 #20 #33 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: x2 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #10 #33 Number of SCCs: 3, DPs: 16, edges: 69 SCC { #19 #20 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: x1 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #19 #20 Number of SCCs: 2, DPs: 14, edges: 65 SCC { #5 #7..9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: x2 s(x1) weight: 0 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #8 #9 Number of SCCs: 3, DPs: 12, edges: 53 SCC { #5 #7 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: x1 s(x1) weight: 0 #mark(x1) weight: 0 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: 0 sel(x1,x2) weight: 0 #s(x1) weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #5 #7 Number of SCCs: 2, DPs: 10, edges: 49 SCC { #1 #4 #11 #13 #14 #18 #22 #24 #30 #32 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: x1 #mark(x1) weight: x1 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: (/ 1 2) + x1 sel(x1,x2) weight: max{(/ 1 2) + x2, (/ 1 4) + x1} #s(x1) weight: 0 mark(x1) weight: x1 #from(x1) weight: 0 active(x1) weight: x1 cons(x1,x2) weight: max{x2, (/ 1 4) + x1} #active(x1) weight: x1 Usable rules: { 1..20 } Removed DPs: #1 #13 #14 #18 #32 Number of SCCs: 4, DPs: 3, edges: 3 SCC { #4 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 #mark(x1) weight: (/ 1 4) + x1 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: (/ 1 4) sel(x1,x2) weight: (/ 1 4) #s(x1) weight: 0 mark(x1) weight: (/ 1 4) #from(x1) weight: 0 active(x1) weight: (/ 1 2) cons(x1,x2) weight: (/ 1 4) #active(x1) weight: 0 Usable rules: { } Removed DPs: #4 Number of SCCs: 3, DPs: 2, edges: 2 SCC { #11 #22 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. #cons(x1,x2) weight: (/ 1 8) + x2 + x1 status: [x1,x2] precedence above: s(x1) weight: x1 status: [x1] precedence above: sel #mark(x1) weight: (/ 3 8) + x1 status: [x1] precedence above: s sel #active 0() weight: (/ 1 8) status: [] precedence above: #sel(x1,x2) weight: (/ 1 8) + x2 + x1 status: [x2,x1] precedence above: from(x1) weight: (/ 3 8) + x1 status: [] precedence above: s sel cons sel(x1,x2) weight: (/ 1 8) + x2 + x1 status: [x1] precedence above: s #s(x1) weight: (/ 1 8) status: [] precedence above: mark(x1) weight: x1 status: x1 #from(x1) weight: (/ 1 8) status: [] precedence above: active(x1) weight: x1 status: x1 cons(x1,x2) weight: max{x2, (/ 1 4) + x1} status: [x1] precedence above: #active(x1) weight: (/ 3 8) + x1 status: [x1] precedence above: s #mark sel Usable rules: { 1..20 } Removed DPs: #22 Number of SCCs: 2, DPs: 0, edges: 0 YES