YES Input TRS: 1: app(p(),app(s(),x)) -> x 2: app(fact(),0()) -> app(s(),0()) 3: app(fact(),app(s(),x)) -> app(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) 4: app(app(*(),0()),y) -> 0() 5: app(app(*(),app(s(),x)),y) -> app(app(+(),app(app(*(),x),y)),y) 6: app(app(+(),x),0()) -> x 7: app(app(+(),x),app(s(),y)) -> app(s(),app(app(+(),x),y)) 8: app(app(map(),f),nil()) -> nil() 9: app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) 10: app(app(filter(),f),nil()) -> nil() 11: app(app(filter(),f),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(f,x)),f),x),xs) 12: app(app(app(app(filter2(),true()),f),x),xs) -> app(app(cons(),x),app(app(filter(),f),xs)) 13: app(app(app(app(filter2(),false()),f),x),xs) -> app(app(filter(),f),xs) Number of strict rules: 13 Direct POLO(bPol) ... failed. Uncurrying app 1: app^1_p(app^1_s(x)) -> x 2: app^1_fact(0()) -> app^1_s(0()) 3: app^1_fact(app^1_s(x)) -> app^2_*(app^1_s(x),app^1_fact(app^1_p(app^1_s(x)))) 4: app^2_*(0(),y) -> 0() 5: app^2_*(app^1_s(x),y) -> app^2_+(app^2_*(x,y),y) 6: app^2_+(x,0()) -> x 7: app^2_+(x,app^1_s(y)) -> app^1_s(app^2_+(x,y)) 8: app^2_map(f,nil()) -> nil() 9: app^2_map(f,app^2_cons(x,xs)) -> app^2_cons(app(f,x),app^2_map(f,xs)) 10: app^2_filter(f,nil()) -> nil() 11: app^2_filter(f,app^2_cons(x,xs)) -> app^4_filter2(app(f,x),f,x,xs) 12: app^4_filter2(true(),f,x,xs) -> app^2_cons(x,app^2_filter(f,xs)) 13: app^4_filter2(false(),f,x,xs) -> app^2_filter(f,xs) 14: app(p(),_1) ->= app^1_p(_1) 15: app(cons(),_1) ->= app^1_cons(_1) 16: app(app^1_cons(_1),_2) ->= app^2_cons(_1,_2) 17: app(s(),_1) ->= app^1_s(_1) 18: app(filter(),_1) ->= app^1_filter(_1) 19: app(app^1_filter(_1),_2) ->= app^2_filter(_1,_2) 20: app(fact(),_1) ->= app^1_fact(_1) 21: app(+(),_1) ->= app^1_+(_1) 22: app(app^1_+(_1),_2) ->= app^2_+(_1,_2) 23: app(map(),_1) ->= app^1_map(_1) 24: app(app^1_map(_1),_2) ->= app^2_map(_1,_2) 25: app(filter2(),_1) ->= app^1_filter2(_1) 26: app(app^1_filter2(_1),_2) ->= app^2_filter2(_1,_2) 27: app(app^2_filter2(_1,_2),_3) ->= app^3_filter2(_1,_2,_3) 28: app(app^3_filter2(_1,_2,_3),_4) ->= app^4_filter2(_1,_2,_3,_4) 29: app(*(),_1) ->= app^1_*(_1) 30: app(app^1_*(_1),_2) ->= app^2_*(_1,_2) Number of strict rules: 13 Direct POLO(bPol) ... failed. Dependency Pairs: #1: #app^4_filter2(false(),f,x,xs) -> #app^2_filter(f,xs) #2: #app^2_map(f,app^2_cons(x,xs)) -> #app(f,x) #3: #app^2_map(f,app^2_cons(x,xs)) -> #app^2_map(f,xs) #4: #app^2_filter(f,app^2_cons(x,xs)) -> #app^4_filter2(app(f,x),f,x,xs) #5: #app^2_filter(f,app^2_cons(x,xs)) -> #app(f,x) #6: #app(app^1_map(_1),_2) ->? #app^2_map(_1,_2) #7: #app^4_filter2(true(),f,x,xs) -> #app^2_filter(f,xs) #8: #app(p(),_1) ->? #app^1_p(_1) #9: #app(app^1_*(_1),_2) ->? #app^2_*(_1,_2) #10: #app(fact(),_1) ->? #app^1_fact(_1) #11: #app^2_+(x,app^1_s(y)) -> #app^2_+(x,y) #12: #app^2_*(app^1_s(x),y) -> #app^2_+(app^2_*(x,y),y) #13: #app^2_*(app^1_s(x),y) -> #app^2_*(x,y) #14: #app(app^3_filter2(_1,_2,_3),_4) ->? #app^4_filter2(_1,_2,_3,_4) #15: #app(app^1_+(_1),_2) ->? #app^2_+(_1,_2) #16: #app(app^1_filter(_1),_2) ->? #app^2_filter(_1,_2) #17: #app^1_fact(app^1_s(x)) -> #app^2_*(app^1_s(x),app^1_fact(app^1_p(app^1_s(x)))) #18: #app^1_fact(app^1_s(x)) -> #app^1_fact(app^1_p(app^1_s(x))) #19: #app^1_fact(app^1_s(x)) -> #app^1_p(app^1_s(x)) Number of SCCs: 4, DPs: 12 SCC { #18 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... succeeded. s w: 0 app^1_cons w: max(x1 - 1, 0) app^1_+ w: max(x1 - 1, 0) #app^2_map w: 0 #app^1_p w: max(x1 - 1, 0) app^2_filter2 w: 0 app^4_filter2 w: 0 false w: 0 app^1_* w: 0 app^2_* w: 0 app^1_filter2 w: max(x1 - 1, 0) true w: 0 #app^1_fact w: max(x1 - 1, 0) filter2 w: 0 app^1_fact w: max(x1 - 1, 0) app^1_p w: max(x1 - 1, 0) p w: 0 0 w: 0 #app^4_filter2 w: 0 nil w: 0 fact w: 0 #app w: 0 map w: 0 app^1_filter w: max(x1 - 1, 0) app^2_+ w: 0 cons w: 0 filter w: 0 + w: 0 app^3_filter2 w: 0 app^2_filter w: 0 app^1_map w: max(x1 - 1, 0) app^2_cons w: 0 #app^2_* w: 0 app^1_s w: max(x1 + 3, 0) app^2_map w: 0 #app^2_filter w: 0 * w: 0 #app^2_+ w: 0 app w: 0 USABLE RULES: { 1 } Removed DPs: #18 Number of SCCs: 3, DPs: 11 SCC { #13 } POLO(Sum)... succeeded. s w: 0 app^1_cons w: 0 app^1_+ w: 0 #app^2_map w: 0 #app^1_p w: 0 app^2_filter2 w: 0 app^4_filter2 w: 0 false w: 0 app^1_* w: 0 app^2_* w: 0 app^1_filter2 w: 0 true w: 0 #app^1_fact w: 0 filter2 w: 0 app^1_fact w: 0 app^1_p w: 0 p w: 0 0 w: 0 #app^4_filter2 w: 0 nil w: 0 fact w: 0 #app w: 0 map w: 0 app^1_filter w: 0 app^2_+ w: 0 cons w: 0 filter w: 0 + w: 0 app^3_filter2 w: 0 app^2_filter w: 0 app^1_map w: 0 app^2_cons w: 0 #app^2_* w: x1 app^1_s w: x1 + 1 app^2_map w: 0 #app^2_filter w: 0 * w: 0 #app^2_+ w: 0 app w: 0 USABLE RULES: { } Removed DPs: #13 Number of SCCs: 2, DPs: 10 SCC { #11 } POLO(Sum)... succeeded. s w: 0 app^1_cons w: 0 app^1_+ w: 0 #app^2_map w: 0 #app^1_p w: 0 app^2_filter2 w: 0 app^4_filter2 w: 0 false w: 0 app^1_* w: 0 app^2_* w: 0 app^1_filter2 w: 0 true w: 0 #app^1_fact w: 0 filter2 w: 0 app^1_fact w: 0 app^1_p w: 0 p w: 0 0 w: 0 #app^4_filter2 w: 0 nil w: 0 fact w: 0 #app w: 0 map w: 0 app^1_filter w: 0 app^2_+ w: 0 cons w: 0 filter w: 0 + w: 0 app^3_filter2 w: 0 app^2_filter w: 0 app^1_map w: 0 app^2_cons w: 0 #app^2_* w: 0 app^1_s w: x1 + 1 app^2_map w: 0 #app^2_filter w: 0 * w: 0 #app^2_+ w: x2 app w: 0 USABLE RULES: { } Removed DPs: #11 Number of SCCs: 1, DPs: 9 SCC { #1..7 #14 #16 } POLO(Sum)... succeeded. s w: 1 app^1_cons w: 48644 app^1_+ w: 4218 #app^2_map w: x1 + x2 #app^1_p w: 0 app^2_filter2 w: 49608 app^4_filter2 w: x1 + x3 + 49620 false w: 1 app^1_* w: x1 + 7 app^2_* w: x2 + 13 app^1_filter2 w: x1 + 49602 true w: 1 #app^1_fact w: 0 filter2 w: 41231 app^1_fact w: x1 + 7 app^1_p w: 7 p w: 1 0 w: 14 #app^4_filter2 w: x2 + x3 + x4 + 1 nil w: 1 fact w: 1 #app w: x1 + x2 map w: 36736 app^1_filter w: x1 + 30900 app^2_+ w: x2 + 5867 cons w: 48638 filter w: 282 + w: 4212 app^3_filter2 w: x1 + x2 + x3 + 49614 app^2_filter w: x1 + x2 + 49622 app^1_map w: x1 + 36742 app^2_cons w: x1 + x2 + 2 #app^2_* w: 0 app^1_s w: x1 + 8 app^2_map w: x1 + x2 + 36748 #app^2_filter w: x1 + x2 * w: 1 #app^2_+ w: 0 app w: x1 + 5 USABLE RULES: { } Removed DPs: #1..7 #14 #16 Number of SCCs: 0, DPs: 0