Input TRS: 1: a__from(X) -> cons(mark(X),from(s(X))) 2: a__sel(0(),cons(X,XS)) -> mark(X) 3: a__sel(s(N),cons(X,XS)) -> a__sel(mark(N),mark(XS)) 4: a__minus(X,0()) -> 0() 5: a__minus(s(X),s(Y)) -> a__minus(mark(X),mark(Y)) 6: a__quot(0(),s(Y)) -> 0() 7: a__quot(s(X),s(Y)) -> s(a__quot(a__minus(mark(X),mark(Y)),s(mark(Y)))) 8: a__zWquot(XS,nil()) -> nil() 9: a__zWquot(nil(),XS) -> nil() 10: a__zWquot(cons(X,XS),cons(Y,YS)) -> cons(a__quot(mark(X),mark(Y)),zWquot(XS,YS)) 11: mark(from(X)) -> a__from(mark(X)) 12: mark(sel(X1,X2)) -> a__sel(mark(X1),mark(X2)) 13: mark(minus(X1,X2)) -> a__minus(mark(X1),mark(X2)) 14: mark(quot(X1,X2)) -> a__quot(mark(X1),mark(X2)) 15: mark(zWquot(X1,X2)) -> a__zWquot(mark(X1),mark(X2)) 16: mark(cons(X1,X2)) -> cons(mark(X1),X2) 17: mark(s(X)) -> s(mark(X)) 18: mark(0()) -> 0() 19: mark(nil()) -> nil() 20: a__from(X) -> from(X) 21: a__sel(X1,X2) -> sel(X1,X2) 22: a__minus(X1,X2) -> minus(X1,X2) 23: a__quot(X1,X2) -> quot(X1,X2) 24: a__zWquot(X1,X2) -> zWquot(X1,X2) Number of strict rules: 24 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #a__sel(0(),cons(X,XS)) -> #mark(X) #2: #mark(minus(X1,X2)) -> #a__minus(mark(X1),mark(X2)) #3: #mark(minus(X1,X2)) -> #mark(X1) #4: #mark(minus(X1,X2)) -> #mark(X2) #5: #mark(from(X)) -> #a__from(mark(X)) #6: #mark(from(X)) -> #mark(X) #7: #mark(sel(X1,X2)) -> #a__sel(mark(X1),mark(X2)) #8: #mark(sel(X1,X2)) -> #mark(X1) #9: #mark(sel(X1,X2)) -> #mark(X2) #10: #mark(quot(X1,X2)) -> #a__quot(mark(X1),mark(X2)) #11: #mark(quot(X1,X2)) -> #mark(X1) #12: #mark(quot(X1,X2)) -> #mark(X2) #13: #a__quot(s(X),s(Y)) -> #a__quot(a__minus(mark(X),mark(Y)),s(mark(Y))) #14: #a__quot(s(X),s(Y)) -> #a__minus(mark(X),mark(Y)) #15: #a__quot(s(X),s(Y)) -> #mark(X) #16: #a__quot(s(X),s(Y)) -> #mark(Y) #17: #a__quot(s(X),s(Y)) -> #mark(Y) #18: #a__zWquot(cons(X,XS),cons(Y,YS)) -> #a__quot(mark(X),mark(Y)) #19: #a__zWquot(cons(X,XS),cons(Y,YS)) -> #mark(X) #20: #a__zWquot(cons(X,XS),cons(Y,YS)) -> #mark(Y) #21: #a__minus(s(X),s(Y)) -> #a__minus(mark(X),mark(Y)) #22: #a__minus(s(X),s(Y)) -> #mark(X) #23: #a__minus(s(X),s(Y)) -> #mark(Y) #24: #mark(s(X)) -> #mark(X) #25: #mark(cons(X1,X2)) -> #mark(X1) #26: #a__sel(s(N),cons(X,XS)) -> #a__sel(mark(N),mark(XS)) #27: #a__sel(s(N),cons(X,XS)) -> #mark(N) #28: #a__sel(s(N),cons(X,XS)) -> #mark(XS) #29: #a__from(X) -> #mark(X) #30: #mark(zWquot(X1,X2)) -> #a__zWquot(mark(X1),mark(X2)) #31: #mark(zWquot(X1,X2)) -> #mark(X1) #32: #mark(zWquot(X1,X2)) -> #mark(X2) Number of SCCs: 1, DPs: 31, edges: 381 SCC { #1..12 #14..32 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. a__minus(x1,x2) weight: max{(/ 1 4) + x2, x1} s(x1) weight: x1 #a__zWquot(x1,x2) weight: max{(/ 3 4) + x2, (/ 1 2) + x1} #a__from(x1) weight: (/ 1 4) + x1 #a__quot(x1,x2) weight: max{(/ 3 8) + x2, (/ 3 8) + x1} minus(x1,x2) weight: max{(/ 1 4) + x2, x1} a__from(x1) weight: (/ 1 4) + x1 a__zWquot(x1,x2) weight: max{(/ 3 4) + x2, (/ 1 2) + x1} zWquot(x1,x2) weight: max{(/ 3 4) + x2, (/ 1 2) + x1} a__quot(x1,x2) weight: max{(/ 3 4) + x2, (/ 3 8) + x1} #mark(x1) weight: (/ 1 8) + x1 0() weight: (/ 7 8) quot(x1,x2) weight: max{(/ 3 4) + x2, (/ 3 8) + x1} from(x1) weight: (/ 1 4) + x1 sel(x1,x2) weight: max{(/ 1 2) + x2, (/ 3 4) + x1} #a__minus(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} nil() weight: (/ 7 8) #a__sel(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 2) + x1} mark(x1) weight: x1 a__sel(x1,x2) weight: max{(/ 1 2) + x2, (/ 3 4) + x1} cons(x1,x2) weight: max{x2, (/ 1 8) + x1} Usable rules: { 1..24 } Removed DPs: #1 #4..12 #14..20 #23 #25 #27..32 Number of SCCs: 2, DPs: 6, edges: 14 SCC { #26 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... succeeded. a__minus(x1,x2) weight: 0 s(x1) weight: max{0, (/ 1 4) + x1} #a__zWquot(x1,x2) weight: 0 #a__from(x1) weight: 0 #a__quot(x1,x2) weight: 0 minus(x1,x2) weight: 0 a__from(x1) weight: max{0, (/ 3 8) + x1} a__zWquot(x1,x2) weight: max{0, (/ 3 8) + x1} zWquot(x1,x2) weight: max{0, (/ 3 8) + x1} a__quot(x1,x2) weight: max{0, (/ 3 8) + x1} #mark(x1) weight: 0 0() weight: 0 quot(x1,x2) weight: max{0, (/ 3 8) + x1} from(x1) weight: max{0, (/ 3 8) + x1} sel(x1,x2) weight: max{0, (/ 1 4) + x2 + x1} #a__minus(x1,x2) weight: 0 nil() weight: (/ 1 8) #a__sel(x1,x2) weight: max{0, (- (/ 1 8)) + x1} mark(x1) weight: max{0, x1} a__sel(x1,x2) weight: max{0, (/ 1 4) + x2 + x1} cons(x1,x2) weight: max{0, (- (/ 1 8)) + x1, (- (/ 1 4)) + x2} Usable rules: { 1..24 } Removed DPs: #26 Number of SCCs: 1, DPs: 5, edges: 13 SCC { #2 #3 #21 #22 #24 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. a__minus(x1,x2) weight: max{(/ 1 4) + x2, (/ 3 8) + x1} s(x1) weight: x1 #a__zWquot(x1,x2) weight: 0 #a__from(x1) weight: (/ 1 4) #a__quot(x1,x2) weight: 0 minus(x1,x2) weight: max{(/ 1 4) + x2, (/ 3 8) + x1} a__from(x1) weight: (/ 1 8) + x1 a__zWquot(x1,x2) weight: max{0, (/ 1 2) + x2} zWquot(x1,x2) weight: max{0, (/ 1 2) + x2} a__quot(x1,x2) weight: max{0, (/ 1 2) + x2} #mark(x1) weight: (/ 1 8) + x1 0() weight: (/ 1 2) quot(x1,x2) weight: max{0, (/ 1 2) + x2} from(x1) weight: (/ 1 8) + x1 sel(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} #a__minus(x1,x2) weight: max{0, (/ 1 4) + x1} nil() weight: (/ 1 8) #a__sel(x1,x2) weight: 0 mark(x1) weight: x1 a__sel(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} cons(x1,x2) weight: max{x2, x1} Usable rules: { 1..24 } Removed DPs: #2 #3 #22 Number of SCCs: 2, DPs: 2, edges: 2 SCC { #24 } Removing DPs: Order(PosReal,>,Sum)... succeeded. a__minus(x1,x2) weight: (/ 1 4) s(x1) weight: (/ 1 8) + x1 #a__zWquot(x1,x2) weight: 0 #a__from(x1) weight: (/ 3 8) #a__quot(x1,x2) weight: 0 minus(x1,x2) weight: (/ 3 8) + x1 a__from(x1) weight: (/ 1 4) a__zWquot(x1,x2) weight: (/ 1 4) zWquot(x1,x2) weight: (/ 3 8) + x1 + x2 a__quot(x1,x2) weight: (/ 1 4) #mark(x1) weight: (/ 3 8) + x1 0() weight: 0 quot(x1,x2) weight: (/ 3 8) + x2 from(x1) weight: (/ 3 8) + x1 sel(x1,x2) weight: (/ 1 4) #a__minus(x1,x2) weight: (/ 3 8) nil() weight: 0 #a__sel(x1,x2) weight: (/ 3 8) mark(x1) weight: (/ 1 8) a__sel(x1,x2) weight: (/ 1 8) + x2 cons(x1,x2) weight: (/ 1 4) + x2 Usable rules: { } Removed DPs: #24 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #21 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... succeeded. a__minus(x1,x2) weight: 0 s(x1) weight: max{0, (/ 1 4) + x1} #a__zWquot(x1,x2) weight: 0 #a__from(x1) weight: 0 #a__quot(x1,x2) weight: 0 minus(x1,x2) weight: 0 a__from(x1) weight: max{0, (/ 3 8) + x1} a__zWquot(x1,x2) weight: max{0, (/ 3 8) + x1} zWquot(x1,x2) weight: max{0, (/ 3 8) + x1} a__quot(x1,x2) weight: max{0, (/ 3 8) + x1} #mark(x1) weight: 0 0() weight: 0 quot(x1,x2) weight: max{0, (/ 3 8) + x1} from(x1) weight: max{0, (/ 3 8) + x1} sel(x1,x2) weight: max{0, (/ 1 4) + x2 + x1} #a__minus(x1,x2) weight: max{0, (/ 1 8) + x1} nil() weight: (/ 1 8) #a__sel(x1,x2) weight: max{0, x1} mark(x1) weight: max{0, x1} a__sel(x1,x2) weight: max{0, (/ 1 4) + x2 + x1} cons(x1,x2) weight: max{0, (- (/ 1 8)) + x1, (- (/ 1 4)) + x2} Usable rules: { 1..24 } Removed DPs: #21 Number of SCCs: 0, DPs: 0, edges: 0 YES