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: active(from(X)) -> from(active(X)) 7: active(cons(X1,X2)) -> cons(active(X1),X2) 8: active(s(X)) -> s(active(X)) 9: active(first(X1,X2)) -> first(active(X1),X2) 10: active(first(X1,X2)) -> first(X1,active(X2)) 11: active(sel(X1,X2)) -> sel(active(X1),X2) 12: active(sel(X1,X2)) -> sel(X1,active(X2)) 13: from(mark(X)) -> mark(from(X)) 14: cons(mark(X1),X2) -> mark(cons(X1,X2)) 15: s(mark(X)) -> mark(s(X)) 16: first(mark(X1),X2) -> mark(first(X1,X2)) 17: first(X1,mark(X2)) -> mark(first(X1,X2)) 18: sel(mark(X1),X2) -> mark(sel(X1,X2)) 19: sel(X1,mark(X2)) -> mark(sel(X1,X2)) 20: proper(from(X)) -> from(proper(X)) 21: proper(cons(X1,X2)) -> cons(proper(X1),proper(X2)) 22: proper(s(X)) -> s(proper(X)) 23: proper(first(X1,X2)) -> first(proper(X1),proper(X2)) 24: proper(0()) -> ok(0()) 25: proper(nil()) -> ok(nil()) 26: proper(sel(X1,X2)) -> sel(proper(X1),proper(X2)) 27: from(ok(X)) -> ok(from(X)) 28: cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) 29: s(ok(X)) -> ok(s(X)) 30: first(ok(X1),ok(X2)) -> ok(first(X1,X2)) 31: sel(ok(X1),ok(X2)) -> ok(sel(X1,X2)) 32: top(mark(X)) -> top(proper(X)) 33: top(ok(X)) -> top(active(X)) Number of strict rules: 33 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #s(ok(X)) -> #s(X) #2: #active(from(X)) -> #from(active(X)) #3: #active(from(X)) -> #active(X) #4: #from(mark(X)) -> #from(X) #5: #active(first(X1,X2)) -> #first(active(X1),X2) #6: #active(first(X1,X2)) -> #active(X1) #7: #active(sel(X1,X2)) -> #sel(active(X1),X2) #8: #active(sel(X1,X2)) -> #active(X1) #9: #proper(first(X1,X2)) -> #first(proper(X1),proper(X2)) #10: #proper(first(X1,X2)) -> #proper(X1) #11: #proper(first(X1,X2)) -> #proper(X2) #12: #active(sel(X1,X2)) -> #sel(X1,active(X2)) #13: #active(sel(X1,X2)) -> #active(X2) #14: #sel(ok(X1),ok(X2)) -> #sel(X1,X2) #15: #cons(mark(X1),X2) -> #cons(X1,X2) #16: #first(ok(X1),ok(X2)) -> #first(X1,X2) #17: #proper(from(X)) -> #from(proper(X)) #18: #proper(from(X)) -> #proper(X) #19: #active(cons(X1,X2)) -> #cons(active(X1),X2) #20: #active(cons(X1,X2)) -> #active(X1) #21: #active(first(X1,X2)) -> #first(X1,active(X2)) #22: #active(first(X1,X2)) -> #active(X2) #23: #top(ok(X)) -> #top(active(X)) #24: #top(ok(X)) -> #active(X) #25: #active(sel(s(X),cons(Y,Z))) -> #sel(X,Z) #26: #cons(ok(X1),ok(X2)) -> #cons(X1,X2) #27: #proper(s(X)) -> #s(proper(X)) #28: #proper(s(X)) -> #proper(X) #29: #from(ok(X)) -> #from(X) #30: #first(X1,mark(X2)) -> #first(X1,X2) #31: #top(mark(X)) -> #top(proper(X)) #32: #top(mark(X)) -> #proper(X) #33: #sel(X1,mark(X2)) -> #sel(X1,X2) #34: #proper(sel(X1,X2)) -> #sel(proper(X1),proper(X2)) #35: #proper(sel(X1,X2)) -> #proper(X1) #36: #proper(sel(X1,X2)) -> #proper(X2) #37: #proper(cons(X1,X2)) -> #cons(proper(X1),proper(X2)) #38: #proper(cons(X1,X2)) -> #proper(X1) #39: #proper(cons(X1,X2)) -> #proper(X2) #40: #first(mark(X1),X2) -> #first(X1,X2) #41: #active(first(s(X),cons(Y,Z))) -> #cons(Y,first(X,Z)) #42: #active(first(s(X),cons(Y,Z))) -> #first(X,Z) #43: #active(from(X)) -> #cons(X,from(s(X))) #44: #active(from(X)) -> #from(s(X)) #45: #active(from(X)) -> #s(X) #46: #active(s(X)) -> #s(active(X)) #47: #active(s(X)) -> #active(X) #48: #s(mark(X)) -> #s(X) #49: #sel(mark(X1),X2) -> #sel(X1,X2) Number of SCCs: 8, DPs: 29, edges: 147 SCC { #1 #48 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 top(x1) weight: 0 #top(x1) weight: 0 proper(x1) weight: 0 ok(x1) weight: (/ 1 2) + x1 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 #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #1 #48 Number of SCCs: 7, DPs: 27, edges: 143 SCC { #4 #29 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 top(x1) weight: 0 #top(x1) weight: 0 proper(x1) weight: 0 ok(x1) weight: (/ 1 2) + x1 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 #proper(x1) weight: 0 #from(x1) weight: x1 active(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 Usable rules: { } Removed DPs: #4 #29 Number of SCCs: 6, DPs: 25, edges: 139 SCC { #23 #31 } 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: nil mark first cons top(x1) weight: (/ 1 8) status: [] precedence above: #top(x1) weight: (/ 1 8) + x1 status: [x1] precedence above: proper(x1) weight: x1 status: x1 ok(x1) weight: x1 status: x1 0() weight: (/ 1 4) status: [] precedence above: nil mark #sel(x1,x2) weight: x2 status: [x2] precedence above: from(x1) weight: (/ 1 4) + x1 status: [x1] precedence above: mark active cons sel(x1,x2) weight: (/ 1 4) + x2 + x1 status: [x1,x2] precedence above: mark #s(x1) weight: (/ 1 8) status: [] precedence above: #first(x1,x2) weight: x1 status: [x1] precedence above: nil() weight: (/ 1 8) status: [] precedence above: mark(x1) weight: x1 status: [x1] precedence above: first(x1,x2) weight: x2 + x1 status: [x1,x2] precedence above: nil mark cons #proper(x1) weight: x1 status: [] precedence above: #from(x1) weight: x1 status: [] precedence above: active(x1) weight: x1 status: x1 cons(x1,x2) weight: max{x2, (/ 1 8) + x1} status: [x1] precedence above: mark #active(x1) weight: (/ 1 8) status: [] precedence above: Usable rules: { 1..31 } Removed DPs: #31 Number of SCCs: 6, DPs: 24, edges: 136 SCC { #23 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 top(x1) weight: 0 #top(x1) weight: x1 proper(x1) weight: (/ 1 2) + x1 ok(x1) weight: (/ 1 2) + x1 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: (/ 1 4) + x1 #s(x1) weight: 0 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 4) first(x1,x2) weight: (/ 1 4) + x1 #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: (/ 1 4) + x1 #active(x1) weight: 0 Usable rules: { 1..19 27..31 } Removed DPs: #23 Number of SCCs: 5, DPs: 23, edges: 135 SCC { #15 #26 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: x2 s(x1) weight: (/ 1 4) + x1 top(x1) weight: 0 #top(x1) weight: x1 proper(x1) weight: (/ 1 2) + x1 ok(x1) weight: (/ 1 4) + x1 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: (/ 1 4) + x1 #s(x1) weight: 0 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 4) first(x1,x2) weight: (/ 1 4) + x1 #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: (/ 1 4) + x1 #active(x1) weight: 0 Usable rules: { } Removed DPs: #26 Number of SCCs: 6, DPs: 22, edges: 132 SCC { #15 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: x1 s(x1) weight: (/ 1 4) + x1 top(x1) weight: 0 #top(x1) weight: 0 proper(x1) weight: (/ 1 2) + x1 ok(x1) weight: (/ 1 4) + x1 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: (/ 1 4) #s(x1) weight: 0 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 4) + x1 first(x1,x2) weight: (/ 1 4) #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: x1 #active(x1) weight: 0 Usable rules: { } Removed DPs: #15 Number of SCCs: 5, DPs: 21, edges: 131 SCC { #16 #30 #40 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 top(x1) weight: 0 #top(x1) weight: 0 proper(x1) weight: (/ 1 2) + x1 ok(x1) weight: (/ 1 4) + x1 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: (/ 1 4) #s(x1) weight: 0 #first(x1,x2) weight: x1 nil() weight: 0 mark(x1) weight: (/ 1 4) + x1 first(x1,x2) weight: (/ 1 4) #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: x1 #active(x1) weight: 0 Usable rules: { } Removed DPs: #16 #40 Number of SCCs: 6, DPs: 19, edges: 123 SCC { #30 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 top(x1) weight: 0 #top(x1) weight: 0 proper(x1) weight: (/ 1 2) + x1 ok(x1) weight: (/ 1 4) + x1 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: (/ 1 4) #s(x1) weight: 0 #first(x1,x2) weight: x2 nil() weight: 0 mark(x1) weight: (/ 1 4) + x1 first(x1,x2) weight: (/ 1 4) #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: x1 #active(x1) weight: 0 Usable rules: { } Removed DPs: #30 Number of SCCs: 5, DPs: 18, edges: 122 SCC { #14 #33 #49 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 top(x1) weight: 0 #top(x1) weight: 0 proper(x1) weight: (/ 1 2) + x1 ok(x1) weight: (/ 1 4) + x1 0() weight: 0 #sel(x1,x2) weight: x2 from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: (/ 1 4) #s(x1) weight: 0 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 4) + x1 first(x1,x2) weight: (/ 1 4) #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: x1 #active(x1) weight: 0 Usable rules: { } Removed DPs: #14 #33 Number of SCCs: 6, DPs: 16, edges: 114 SCC { #49 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 top(x1) weight: 0 #top(x1) weight: 0 proper(x1) weight: (/ 1 2) + x1 ok(x1) weight: (/ 1 4) + x1 0() weight: 0 #sel(x1,x2) weight: x1 from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: (/ 1 4) #s(x1) weight: 0 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 4) + x1 first(x1,x2) weight: (/ 1 4) #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: x1 #active(x1) weight: 0 Usable rules: { } Removed DPs: #49 Number of SCCs: 5, DPs: 15, edges: 113 SCC { #3 #6 #8 #13 #20 #22 #47 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 top(x1) weight: 0 #top(x1) weight: 0 proper(x1) weight: (/ 1 2) + x1 ok(x1) weight: (/ 1 4) + x1 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: (/ 1 4) + x1 + x2 #s(x1) weight: 0 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 4) + x1 first(x1,x2) weight: (/ 1 4) + x1 + x2 #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: (/ 1 4) + x1 #active(x1) weight: x1 Usable rules: { } Removed DPs: #3 #6 #8 #13 #20 #22 #47 Number of SCCs: 5, DPs: 8, edges: 64 SCC { #10 #11 #18 #28 #35 #36 #38 #39 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 8) + x1 top(x1) weight: 0 #top(x1) weight: 0 proper(x1) weight: (/ 1 4) + x1 ok(x1) weight: (/ 1 8) + x1 0() weight: 0 #sel(x1,x2) weight: 0 from(x1) weight: (/ 1 8) + x1 sel(x1,x2) weight: (/ 1 8) + x1 + x2 #s(x1) weight: 0 #first(x1,x2) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 8) + x1 first(x1,x2) weight: (/ 1 8) + x1 + x2 #proper(x1) weight: x1 #from(x1) weight: 0 active(x1) weight: (/ 3 8) + x1 cons(x1,x2) weight: (/ 1 8) + x1 + x2 #active(x1) weight: 0 Usable rules: { } Removed DPs: #10 #11 #18 #28 #35 #36 #38 #39 Number of SCCs: 4, DPs: 0, edges: 0 YES