Input TRS: 1: active(from(X)) -> mark(cons(X,from(s(X)))) 2: active(first(0(),Z)) -> mark(nil()) 3: active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z))) 4: active(sel(0(),cons(X,Z))) -> mark(X) 5: active(sel(s(X),cons(Y,Z))) -> mark(sel(X,Z)) 6: mark(from(X)) -> active(from(mark(X))) 7: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) 8: mark(s(X)) -> active(s(mark(X))) 9: mark(first(X1,X2)) -> active(first(mark(X1),mark(X2))) 10: mark(0()) -> active(0()) 11: mark(nil()) -> active(nil()) 12: mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) 13: from(mark(X)) -> from(X) 14: from(active(X)) -> from(X) 15: cons(mark(X1),X2) -> cons(X1,X2) 16: cons(X1,mark(X2)) -> cons(X1,X2) 17: cons(active(X1),X2) -> cons(X1,X2) 18: cons(X1,active(X2)) -> cons(X1,X2) 19: s(mark(X)) -> s(X) 20: s(active(X)) -> s(X) 21: first(mark(X1),X2) -> first(X1,X2) 22: first(X1,mark(X2)) -> first(X1,X2) 23: first(active(X1),X2) -> first(X1,X2) 24: first(X1,active(X2)) -> first(X1,X2) 25: sel(mark(X1),X2) -> sel(X1,X2) 26: sel(X1,mark(X2)) -> sel(X1,X2) 27: sel(active(X1),X2) -> sel(X1,X2) 28: sel(X1,active(X2)) -> sel(X1,X2) Number of strict rules: 28 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #active(first(0(),Z)) -> #mark(nil()) #2: #mark(from(X)) -> #active(from(mark(X))) #3: #mark(from(X)) -> #from(mark(X)) #4: #mark(from(X)) -> #mark(X) #5: #from(mark(X)) -> #from(X) #6: #mark(first(X1,X2)) -> #active(first(mark(X1),mark(X2))) #7: #mark(first(X1,X2)) -> #first(mark(X1),mark(X2)) #8: #mark(first(X1,X2)) -> #mark(X1) #9: #mark(first(X1,X2)) -> #mark(X2) #10: #mark(nil()) -> #active(nil()) #11: #first(X1,active(X2)) -> #first(X1,X2) #12: #first(active(X1),X2) -> #first(X1,X2) #13: #mark(sel(X1,X2)) -> #active(sel(mark(X1),mark(X2))) #14: #mark(sel(X1,X2)) -> #sel(mark(X1),mark(X2)) #15: #mark(sel(X1,X2)) -> #mark(X1) #16: #mark(sel(X1,X2)) -> #mark(X2) #17: #from(active(X)) -> #from(X) #18: #sel(mark(X1),X2) -> #sel(X1,X2) #19: #s(active(X)) -> #s(X) #20: #mark(cons(X1,X2)) -> #active(cons(mark(X1),X2)) #21: #mark(cons(X1,X2)) -> #cons(mark(X1),X2) #22: #mark(cons(X1,X2)) -> #mark(X1) #23: #mark(0()) -> #active(0()) #24: #active(sel(s(X),cons(Y,Z))) -> #mark(sel(X,Z)) #25: #active(sel(s(X),cons(Y,Z))) -> #sel(X,Z) #26: #sel(X1,active(X2)) -> #sel(X1,X2) #27: #first(X1,mark(X2)) -> #first(X1,X2) #28: #sel(active(X1),X2) -> #sel(X1,X2) #29: #cons(active(X1),X2) -> #cons(X1,X2) #30: #s(mark(X)) -> #s(X) #31: #sel(X1,mark(X2)) -> #sel(X1,X2) #32: #first(mark(X1),X2) -> #first(X1,X2) #33: #cons(X1,mark(X2)) -> #cons(X1,X2) #34: #active(first(s(X),cons(Y,Z))) -> #mark(cons(Y,first(X,Z))) #35: #active(first(s(X),cons(Y,Z))) -> #cons(Y,first(X,Z)) #36: #active(first(s(X),cons(Y,Z))) -> #first(X,Z) #37: #active(from(X)) -> #mark(cons(X,from(s(X)))) #38: #active(from(X)) -> #cons(X,from(s(X))) #39: #active(from(X)) -> #from(s(X)) #40: #active(from(X)) -> #s(X) #41: #mark(s(X)) -> #active(s(mark(X))) #42: #mark(s(X)) -> #s(mark(X)) #43: #mark(s(X)) -> #mark(X) #44: #cons(mark(X1),X2) -> #cons(X1,X2) #45: #active(sel(0(),cons(X,Z))) -> #mark(X) #46: #cons(X1,active(X2)) -> #cons(X1,X2) Number of SCCs: 6, DPs: 30, edges: 145 SCC { #19 #30 } 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 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 first(x1,x2) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #19 #30 Number of SCCs: 5, DPs: 28, edges: 141 SCC { #5 #17 } 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 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 first(x1,x2) weight: 0 #from(x1) weight: x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #5 #17 Number of SCCs: 4, DPs: 26, edges: 137 SCC { #29 #33 #44 #46 } 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 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 first(x1,x2) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #33 #46 Number of SCCs: 4, DPs: 24, edges: 125 SCC { #29 #44 } 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 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 first(x1,x2) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #29 #44 Number of SCCs: 3, DPs: 22, edges: 121 SCC { #18 #26 #28 #31 } 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 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 first(x1,x2) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #26 #31 Number of SCCs: 4, DPs: 20, edges: 109 SCC { #18 #28 } 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 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 first(x1,x2) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #18 #28 Number of SCCs: 3, DPs: 18, edges: 105 SCC { #11 #12 #27 #32 } 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 #first(x1,x2) weight: x1 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 first(x1,x2) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #12 #32 Number of SCCs: 4, DPs: 16, edges: 93 SCC { #11 #27 } 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 #first(x1,x2) weight: x2 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 first(x1,x2) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #11 #27 Number of SCCs: 3, DPs: 14, edges: 89 SCC { #2 #4 #6 #8 #9 #13 #15 #16 #22 #24 #34 #37 #43 #45 } 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 4) + x1 sel(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} #s(x1) weight: 0 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: x1 first(x1,x2) weight: max{(/ 3 8) + x2, (/ 1 4) + x1} #from(x1) weight: 0 active(x1) weight: x1 cons(x1,x2) weight: max{x2, (/ 1 8) + x1} #active(x1) weight: x1 Usable rules: { 1..28 } Removed DPs: #4 #8 #9 #15 #16 #22 #45 Number of SCCs: 5, DPs: 3, edges: 3 SCC { #43 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 #mark(x1) weight: x1 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: (/ 1 4) sel(x1,x2) weight: (/ 1 4) #s(x1) weight: 0 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 4) first(x1,x2) weight: (/ 1 4) #from(x1) weight: 0 active(x1) weight: (/ 1 4) cons(x1,x2) weight: (/ 1 4) #active(x1) weight: 0 Usable rules: { } Removed DPs: #43 Number of SCCs: 4, DPs: 2, edges: 2 SCC { #13 #24 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. #cons(x1,x2) weight: x2 status: [x2] precedence above: s(x1) weight: x1 status: [x1] precedence above: #mark(x1) weight: x1 status: [x1] precedence above: #active 0() weight: 0 status: [] precedence above: #sel(x1,x2) weight: (/ 1 8) + x2 status: [x2] precedence above: from(x1) weight: (/ 1 2) + x1 status: [] precedence above: nil first cons sel(x1,x2) weight: x2 + x1 status: [x1] precedence above: #mark mark active #active #s(x1) weight: x1 status: [] precedence above: #first(x1,x2) weight: (/ 1 8) + x2 + x1 status: [x2,x1] precedence above: nil() weight: (/ 1 8) status: [] precedence above: mark(x1) weight: x1 status: x1 first(x1,x2) weight: (/ 1 4) + x2 status: [] precedence above: from nil cons #from(x1) weight: (/ 1 8) status: [] precedence above: active(x1) weight: x1 status: x1 cons(x1,x2) weight: max{x2, (/ 3 8) + x1} status: [] precedence above: from nil first #active(x1) weight: x1 status: [x1] precedence above: #mark Usable rules: { 1..28 } Removed DPs: #24 Number of SCCs: 3, DPs: 0, edges: 0 YES