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