YES Input TRS: 1: app(app(minus(),x),0()) -> x 2: app(app(minus(),app(s(),x)),app(s(),y)) -> app(app(minus(),x),y) 3: app(f(),0()) -> app(s(),0()) 4: app(f(),app(s(),x)) -> app(app(minus(),app(s(),x)),app(g(),app(f(),x))) 5: app(g(),0()) -> 0() 6: app(g(),app(s(),x)) -> app(app(minus(),app(s(),x)),app(f(),app(g(),x))) 7: app(app(map(),fun),nil()) -> nil() 8: app(app(map(),fun),app(app(cons(),x),xs)) -> app(app(cons(),app(fun,x)),app(app(map(),fun),xs)) 9: app(app(filter(),fun),nil()) -> nil() 10: app(app(filter(),fun),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(fun,x)),fun),x),xs) 11: app(app(app(app(filter2(),true()),fun),x),xs) -> app(app(cons(),x),app(app(filter(),fun),xs)) 12: app(app(app(app(filter2(),false()),fun),x),xs) -> app(app(filter(),fun),xs) Number of strict rules: 12 Direct POLO(bPol) ... failed. Uncurrying app 1: app^2_minus(x,0()) -> x 2: app^2_minus(app^1_s(x),app^1_s(y)) -> app^2_minus(x,y) 3: app^1_f(0()) -> app^1_s(0()) 4: app^1_f(app^1_s(x)) -> app^2_minus(app^1_s(x),app^1_g(app^1_f(x))) 5: app^1_g(0()) -> 0() 6: app^1_g(app^1_s(x)) -> app^2_minus(app^1_s(x),app^1_f(app^1_g(x))) 7: app^2_map(fun,nil()) -> nil() 8: app^2_map(fun,app^2_cons(x,xs)) -> app^2_cons(app(fun,x),app^2_map(fun,xs)) 9: app^2_filter(fun,nil()) -> nil() 10: app^2_filter(fun,app^2_cons(x,xs)) -> app^4_filter2(app(fun,x),fun,x,xs) 11: app^4_filter2(true(),fun,x,xs) -> app^2_cons(x,app^2_filter(fun,xs)) 12: app^4_filter2(false(),fun,x,xs) -> app^2_filter(fun,xs) 13: app(cons(),_1) ->= app^1_cons(_1) 14: app(app^1_cons(_1),_2) ->= app^2_cons(_1,_2) 15: app(s(),_1) ->= app^1_s(_1) 16: app(filter(),_1) ->= app^1_filter(_1) 17: app(app^1_filter(_1),_2) ->= app^2_filter(_1,_2) 18: app(map(),_1) ->= app^1_map(_1) 19: app(app^1_map(_1),_2) ->= app^2_map(_1,_2) 20: app(minus(),_1) ->= app^1_minus(_1) 21: app(app^1_minus(_1),_2) ->= app^2_minus(_1,_2) 22: app(g(),_1) ->= app^1_g(_1) 23: app(f(),_1) ->= app^1_f(_1) 24: app(filter2(),_1) ->= app^1_filter2(_1) 25: app(app^1_filter2(_1),_2) ->= app^2_filter2(_1,_2) 26: app(app^2_filter2(_1,_2),_3) ->= app^3_filter2(_1,_2,_3) 27: app(app^3_filter2(_1,_2,_3),_4) ->= app^4_filter2(_1,_2,_3,_4) Number of strict rules: 12 Direct POLO(bPol) ... failed. Dependency Pairs: #1: #app^2_minus(app^1_s(x),app^1_s(y)) -> #app^2_minus(x,y) #2: #app^1_g(app^1_s(x)) -> #app^2_minus(app^1_s(x),app^1_f(app^1_g(x))) #3: #app^1_g(app^1_s(x)) -> #app^1_f(app^1_g(x)) #4: #app^1_g(app^1_s(x)) -> #app^1_g(x) #5: #app^4_filter2(true(),fun,x,xs) -> #app^2_filter(fun,xs) #6: #app(f(),_1) ->? #app^1_f(_1) #7: #app^4_filter2(false(),fun,x,xs) -> #app^2_filter(fun,xs) #8: #app^2_filter(fun,app^2_cons(x,xs)) -> #app^4_filter2(app(fun,x),fun,x,xs) #9: #app^2_filter(fun,app^2_cons(x,xs)) -> #app(fun,x) #10: #app(g(),_1) ->? #app^1_g(_1) #11: #app(app^3_filter2(_1,_2,_3),_4) ->? #app^4_filter2(_1,_2,_3,_4) #12: #app(app^1_filter(_1),_2) ->? #app^2_filter(_1,_2) #13: #app(app^1_map(_1),_2) ->? #app^2_map(_1,_2) #14: #app(app^1_minus(_1),_2) ->? #app^2_minus(_1,_2) #15: #app^2_map(fun,app^2_cons(x,xs)) -> #app(fun,x) #16: #app^2_map(fun,app^2_cons(x,xs)) -> #app^2_map(fun,xs) #17: #app^1_f(app^1_s(x)) -> #app^2_minus(app^1_s(x),app^1_g(app^1_f(x))) #18: #app^1_f(app^1_s(x)) -> #app^1_g(app^1_f(x)) #19: #app^1_f(app^1_s(x)) -> #app^1_f(x) Number of SCCs: 3, DPs: 14 SCC { #1 } POLO(Sum)... succeeded. #app^2_minus w: x1 + x2 s w: 0 app^1_cons w: 0 #app^2_map w: 0 minus w: 0 #app^1_g w: 0 app^2_filter2 w: 0 app^4_filter2 w: 0 false w: 0 #app^1_f w: 0 app^1_filter2 w: 0 true w: 0 f w: 0 filter2 w: 0 0 w: 0 #app^4_filter2 w: 0 nil w: 0 #app w: 0 app^2_minus w: 0 map w: 0 app^1_filter w: 0 cons w: 0 app^1_f w: 0 filter w: 0 app^1_minus w: 0 app^3_filter2 w: 0 app^2_filter w: 0 g w: 0 app^1_map w: 0 app^2_cons w: 0 app^1_s w: x1 + 1 app^2_map w: 0 #app^2_filter w: 0 app w: 0 app^1_g w: 0 USABLE RULES: { } Removed DPs: #1 Number of SCCs: 2, DPs: 13 SCC { #3 #4 #18 #19 } POLO(Sum)... succeeded. #app^2_minus w: 0 s w: 0 app^1_cons w: 0 #app^2_map w: 0 minus w: 0 #app^1_g w: x1 app^2_filter2 w: 0 app^4_filter2 w: 0 false w: 0 #app^1_f w: x1 + 1 app^1_filter2 w: 0 true w: 0 f w: 0 filter2 w: 0 0 w: 1 #app^4_filter2 w: 0 nil w: 0 #app w: 0 app^2_minus w: x1 map w: 0 app^1_filter w: 0 cons w: 0 app^1_f w: x1 + 41065 filter w: 0 app^1_minus w: 0 app^3_filter2 w: 0 app^2_filter w: 0 g w: 0 app^1_map w: 0 app^2_cons w: 0 app^1_s w: x1 + 41065 app^2_map w: 0 #app^2_filter w: 0 app w: 0 app^1_g w: x1 + 41063 USABLE RULES: { 1..6 } Removed DPs: #3 #4 #18 #19 Number of SCCs: 1, DPs: 9 SCC { #5 #7..9 #11..13 #15 #16 } POLO(Sum)... succeeded. #app^2_minus w: 0 s w: 3 app^1_cons w: x1 + 3 #app^2_map w: x1 + 1 minus w: 1 #app^1_g w: x1 app^2_filter2 w: x1 + x2 + 5 app^4_filter2 w: x3 + 9 false w: 1 #app^1_f w: x1 + 1 app^1_filter2 w: x1 + 3 true w: 1 f w: 3 filter2 w: 1 0 w: 50736 #app^4_filter2 w: x2 + 1 nil w: 1 #app w: x1 app^2_minus w: x1 + 5 map w: 1 app^1_filter w: x1 + 6 cons w: 1 app^1_f w: x1 + 5 filter w: 1 app^1_minus w: x1 + 3 app^3_filter2 w: x2 + 7 app^2_filter w: x1 + x2 + 10 g w: 2447 app^1_map w: x1 + 3 app^2_cons w: x2 + 5 app^1_s w: x1 + 5 app^2_map w: x1 + x2 + 5 #app^2_filter w: x1 + 1 app w: x1 + 1 app^1_g w: x1 + 9730 USABLE RULES: { 1..6 } Removed DPs: #9 #11..13 #15 Number of SCCs: 2, DPs: 4 SCC { #16 } POLO(Sum)... succeeded. #app^2_minus w: 0 s w: 3 app^1_cons w: x1 + 49463 #app^2_map w: x2 + 1 minus w: 1 #app^1_g w: x1 app^2_filter2 w: x1 + x2 + 5 app^4_filter2 w: x3 + 9 false w: 1 #app^1_f w: x1 + 1 app^1_filter2 w: x1 + 3 true w: 1 f w: 3 filter2 w: 1 0 w: 1 #app^4_filter2 w: 1 nil w: 1 #app w: 0 app^2_minus w: x1 + 5 map w: 1 app^1_filter w: x1 + 4 cons w: 49461 app^1_f w: x1 + 5 filter w: 2 app^1_minus w: x1 + 3 app^3_filter2 w: x2 + 7 app^2_filter w: x1 + x2 + 10 g w: 789 app^1_map w: x1 + 3 app^2_cons w: x2 + 49465 app^1_s w: x1 + 5 app^2_map w: x1 + x2 + 12461 #app^2_filter w: 1 app w: x1 + 1 app^1_g w: x1 + 872 USABLE RULES: { 1..6 } Removed DPs: #16 Number of SCCs: 1, DPs: 3 SCC { #5 #7 #8 } POLO(Sum)... succeeded. #app^2_minus w: 0 s w: 1 app^1_cons w: x1 + 23931 #app^2_map w: 1 minus w: 32018 #app^1_g w: x1 app^2_filter2 w: x1 + x2 + 5 app^4_filter2 w: x3 + 9 false w: 1 #app^1_f w: x1 + 1 app^1_filter2 w: x1 + 3 true w: 1 f w: 1 filter2 w: 1 0 w: 42910 #app^4_filter2 w: x4 + 1 nil w: 1 #app w: 0 app^2_minus w: x1 + 32022 map w: 1 app^1_filter w: x1 + 3 cons w: 23929 app^1_f w: x1 + 32022 filter w: 1 app^1_minus w: x1 + 32020 app^3_filter2 w: x2 + 7 app^2_filter w: x1 + x2 + 10 g w: 1 app^1_map w: x1 + 3 app^2_cons w: x2 + 23933 app^1_s w: x1 + 3 app^2_map w: x1 + x2 + 12461 #app^2_filter w: x2 app w: x1 + 1 app^1_g w: x1 + 32022 USABLE RULES: { 1..6 } Removed DPs: #5 #7 #8 Number of SCCs: 0, DPs: 0