YES 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 POLO(bPol) ... failed. Uncurrying ... 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 SCC { #1..12 #14..32 } POLO(Sum)... POLO(max)... succeeded. a__minus w: max(x1, x2 + 1) s w: x1 #a__zWquot w: max(x1 + 36413, x2 + 36412) #a__from w: x1 + 60027 #a__quot w: max(x1 + 60027, x2 + 60026) minus w: max(x1, x2 + 1) a__from w: x1 + 23614 a__zWquot w: max(x1 + 40521, x2 + 40522) zWquot w: max(x1 + 40521, x2 + 40522) a__quot w: max(x1 + 16909, x2 + 16910) #mark w: x1 + 60026 0 w: 12457 quot w: max(x1 + 16909, x2 + 16910) from w: x1 + 23614 sel w: max(x1 + 23618, x2 + 23617) #a__minus w: max(x1 + 60026, x2 + 60026) nil w: 868 #a__sel w: max(x1 + 83642, x2 + 60027) mark w: x1 a__sel w: max(x1 + 23618, x2 + 23617) cons w: max(x1 + 23614, x2) USABLE RULES: { 1..24 } Removed DPs: #1 #4..12 #15 #19 #25 #27..32 Number of SCCs: 2, DPs: 7 SCC { #26 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... succeeded. a__minus w: max(x1 - 1, 0) s w: max(x1 + 2, 0) #a__zWquot w: max(x1 - 1, 0) #a__from w: 0 #a__quot w: 0 minus w: max(x1 - 1, 0) a__from w: max(x1 - 3, 0) a__zWquot w: max(x1 + 4, 0) zWquot w: max(x1 + 4, 0) a__quot w: max(x1 + 4, 0) #mark w: max(x1 - 1, 0) 0 w: 0 quot w: max(x1 + 4, 0) from w: max(x1 - 3, 0) sel w: max(x1 + x2 + 3, 0) #a__minus w: 0 nil w: 1 #a__sel w: max(x1 + 1, 0) mark w: max(x1, 0) a__sel w: max(x1 + x2 + 3, 0) cons w: max(x1 - 3, x2 - 2, 0) USABLE RULES: { 1..24 } Removed DPs: #26 Number of SCCs: 1, DPs: 6 SCC { #2 #3 #21..24 } POLO(Sum)... POLO(max)... succeeded. a__minus w: max(x1, x2 + 2) s w: x1 #a__zWquot w: 0 #a__from w: 60027 #a__quot w: 0 minus w: max(x1, x2 + 2) a__from w: x1 + 1 a__zWquot w: max(x1 + 24168) zWquot w: max(x1 + 24168) a__quot w: 0 #mark w: x1 + 43486 0 w: 0 quot w: 0 from w: x1 + 1 sel w: max(x1, x2 + 1) #a__minus w: max(x1 + 43486, x2 + 43487) nil w: 0 #a__sel w: 0 mark w: x1 a__sel w: max(x1, x2 + 1) cons w: max(x1, x2) USABLE RULES: { 1..24 } Removed DPs: #23 Number of SCCs: 1, DPs: 5 SCC { #2 #3 #21 #22 #24 } POLO(Sum)... POLO(max)... succeeded. a__minus w: max(x1 + 12747, x2 + 12746) s w: x1 #a__zWquot w: 0 #a__from w: 60027 #a__quot w: 0 minus w: max(x1 + 12747, x2 + 12746) a__from w: x1 + 16893 a__zWquot w: max(x1 + 33786, x2 + 16892) zWquot w: max(x1 + 33786, x2 + 16892) a__quot w: max(x2 + 1) #mark w: x1 + 18855 0 w: 1 quot w: max(x2 + 1) from w: x1 + 16893 sel w: max(x2) #a__minus w: max(x1 + 31600, x2 + 18856) nil w: 16893 #a__sel w: 0 mark w: x1 a__sel w: max(x2) cons w: max(x1 + 16893, x2) USABLE RULES: { 1..24 } Removed DPs: #2 #3 #22 Number of SCCs: 2, DPs: 2 SCC { #24 } POLO(Sum)... succeeded. a__minus w: 2 s w: x1 + 1 #a__zWquot w: 0 #a__from w: 0 #a__quot w: 0 minus w: x2 + 3 a__from w: 14265 a__zWquot w: x2 + 1 zWquot w: x1 + x2 + 2 a__quot w: 2 #mark w: x1 0 w: 3 quot w: x1 + x2 + 3 from w: 14266 sel w: x1 + 3 #a__minus w: 0 nil w: 3 #a__sel w: 1 mark w: 1 a__sel w: 2 cons w: 14266 USABLE RULES: { } Removed DPs: #24 Number of SCCs: 1, DPs: 1 SCC { #21 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... succeeded. a__minus w: max(x1 - 1, 0) s w: max(x1 + 2, 0) #a__zWquot w: max(x1 - 1, 0) #a__from w: 0 #a__quot w: 0 minus w: max(x1 - 1, 0) a__from w: max(x1 - 3, 0) a__zWquot w: max(x1 + 4, 0) zWquot w: max(x1 + 4, 0) a__quot w: max(x1 + 4, 0) #mark w: max(x1 - 1, 0) 0 w: 0 quot w: max(x1 + 4, 0) from w: max(x1 - 3, 0) sel w: max(x1 + x2 + 3, 0) #a__minus w: max(x1 + 1, 0) nil w: 1 #a__sel w: max(x1 + 1, 0) mark w: max(x1, 0) a__sel w: max(x1 + x2 + 3, 0) cons w: max(x1 - 3, x2 - 2, 0) USABLE RULES: { 1..24 } Removed DPs: #21 Number of SCCs: 0, DPs: 0