YES Input TRS: 1: app(app(.(),1()),x) -> x 2: app(app(.(),x),1()) -> x 3: app(app(.(),app(i(),x)),x) -> 1() 4: app(app(.(),x),app(i(),x)) -> 1() 5: app(app(.(),app(i(),y)),app(app(.(),y),z)) -> z 6: app(app(.(),y),app(app(.(),app(i(),y)),z)) -> z 7: app(app(.(),app(app(.(),x),y)),z) -> app(app(.(),x),app(app(.(),y),z)) 8: app(i(),1()) -> 1() 9: app(i(),app(i(),x)) -> x 10: app(i(),app(app(.(),x),y)) -> app(app(.(),app(i(),y)),app(i(),x)) 11: app(app(map(),f),nil()) -> nil() 12: app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) 13: app(app(filter(),f),nil()) -> nil() 14: app(app(filter(),f),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(f,x)),f),x),xs) 15: app(app(app(app(filter2(),true()),f),x),xs) -> app(app(cons(),x),app(app(filter(),f),xs)) 16: app(app(app(app(filter2(),false()),f),x),xs) -> app(app(filter(),f),xs) Number of strict rules: 16 Direct POLO(bPol) ... failed. Uncurrying app 1: app^2_.(1(),x) -> x 2: app^2_.(x,1()) -> x 3: app^2_.(app^1_i(x),x) -> 1() 4: app^2_.(x,app^1_i(x)) -> 1() 5: app^2_.(app^1_i(y),app^2_.(y,z)) -> z 6: app^2_.(y,app^2_.(app^1_i(y),z)) -> z 7: app^2_.(app^2_.(x,y),z) -> app^2_.(x,app^2_.(y,z)) 8: app^1_i(1()) -> 1() 9: app^1_i(app^1_i(x)) -> x 10: app^1_i(app^2_.(x,y)) -> app^2_.(app^1_i(y),app^1_i(x)) 11: app^2_map(f,nil()) -> nil() 12: app^2_map(f,app^2_cons(x,xs)) -> app^2_cons(app(f,x),app^2_map(f,xs)) 13: app^2_filter(f,nil()) -> nil() 14: app^2_filter(f,app^2_cons(x,xs)) -> app^4_filter2(app(f,x),f,x,xs) 15: app^4_filter2(true(),f,x,xs) -> app^2_cons(x,app^2_filter(f,xs)) 16: app^4_filter2(false(),f,x,xs) -> app^2_filter(f,xs) 17: app(cons(),_1) ->= app^1_cons(_1) 18: app(app^1_cons(_1),_2) ->= app^2_cons(_1,_2) 19: app(filter(),_1) ->= app^1_filter(_1) 20: app(app^1_filter(_1),_2) ->= app^2_filter(_1,_2) 21: app(map(),_1) ->= app^1_map(_1) 22: app(app^1_map(_1),_2) ->= app^2_map(_1,_2) 23: app(filter2(),_1) ->= app^1_filter2(_1) 24: app(app^1_filter2(_1),_2) ->= app^2_filter2(_1,_2) 25: app(app^2_filter2(_1,_2),_3) ->= app^3_filter2(_1,_2,_3) 26: app(app^3_filter2(_1,_2,_3),_4) ->= app^4_filter2(_1,_2,_3,_4) 27: app(.(),_1) ->= app^1_.(_1) 28: app(app^1_.(_1),_2) ->= app^2_.(_1,_2) 29: app(i(),_1) ->= app^1_i(_1) Number of strict rules: 16 Direct POLO(bPol) ... failed. Dependency Pairs: #1: #app(i(),_1) ->? #app^1_i(_1) #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_filter(_1),_2) ->? #app^2_filter(_1,_2) #7: #app^2_.(app^2_.(x,y),z) -> #app^2_.(x,app^2_.(y,z)) #8: #app^2_.(app^2_.(x,y),z) -> #app^2_.(y,z) #9: #app^1_i(app^2_.(x,y)) -> #app^2_.(app^1_i(y),app^1_i(x)) #10: #app^1_i(app^2_.(x,y)) -> #app^1_i(y) #11: #app^1_i(app^2_.(x,y)) -> #app^1_i(x) #12: #app(app^1_.(_1),_2) ->? #app^2_.(_1,_2) #13: #app(app^1_map(_1),_2) ->? #app^2_map(_1,_2) #14: #app(app^3_filter2(_1,_2,_3),_4) ->? #app^4_filter2(_1,_2,_3,_4) #15: #app^4_filter2(false(),f,x,xs) -> #app^2_filter(f,xs) #16: #app^4_filter2(true(),f,x,xs) -> #app^2_filter(f,xs) Number of SCCs: 3, DPs: 13 SCC { #10 #11 } POLO(Sum)... succeeded. 1 w: 0 #app^2_. w: 0 app^1_cons w: 0 #app^2_map w: 0 app^2_filter2 w: 0 app^4_filter2 w: 0 #app^1_i w: x1 false w: 0 app^2_. w: x1 + x2 + 1 app^1_i w: 0 app^1_filter2 w: 0 true w: 0 filter2 w: 0 #app^4_filter2 w: 0 nil w: 0 #app w: 0 map w: 0 app^1_filter w: 0 . w: 0 i w: 0 app^1_. w: 0 cons w: 0 filter w: 0 app^3_filter2 w: 0 app^2_filter w: 0 app^1_map w: 0 app^2_cons w: 0 app^2_map w: 0 #app^2_filter w: 0 app w: 0 USABLE RULES: { } Removed DPs: #10 #11 Number of SCCs: 2, DPs: 11 SCC { #7 #8 } POLO(Sum)... succeeded. 1 w: 7760 #app^2_. w: x1 app^1_cons w: 0 #app^2_map w: 0 app^2_filter2 w: 0 app^4_filter2 w: 0 #app^1_i w: 0 false w: 0 app^2_. w: x1 + x2 + 1 app^1_i w: 7758 app^1_filter2 w: 0 true w: 0 filter2 w: 0 #app^4_filter2 w: 0 nil w: 0 #app w: 0 map w: 0 app^1_filter w: 0 . w: 0 i w: 0 app^1_. w: 0 cons w: 0 filter w: 0 app^3_filter2 w: 0 app^2_filter w: 0 app^1_map w: 0 app^2_cons w: 0 app^2_map w: 0 #app^2_filter w: 0 app w: 0 USABLE RULES: { } Removed DPs: #7 #8 Number of SCCs: 1, DPs: 9 SCC { #2..6 #13..16 } POLO(Sum)... succeeded. 1 w: 30617 #app^2_. w: 0 app^1_cons w: x1 + 2 #app^2_map w: x2 app^2_filter2 w: x1 + x2 + 2 app^4_filter2 w: x3 + x4 + 33958 #app^1_i w: 0 false w: 1 app^2_. w: x1 + 2 app^1_i w: x1 + 30614 app^1_filter2 w: x1 + 2 true w: 1 filter2 w: 1 #app^4_filter2 w: x4 + 28101 nil w: 1145 #app w: x2 + 28102 map w: 1 app^1_filter w: x1 + 2 . w: 1 i w: 1 app^1_. w: x1 + 2 cons w: 1 filter w: 1 app^3_filter2 w: x1 + x2 + x3 + 2 app^2_filter w: x2 + 5855 app^1_map w: x1 + 2 app^2_cons w: x1 + x2 + 28103 app^2_map w: x1 + 1144 #app^2_filter w: x2 app w: 1 USABLE RULES: { 13..16 } Removed DPs: #2..6 #13..16 Number of SCCs: 0, DPs: 0