YES Input TRS: 1: app(app(le(),0()),y) -> true() 2: app(app(le(),app(s(),x)),0()) -> false() 3: app(app(le(),app(s(),x)),app(s(),y)) -> app(app(le(),x),y) 4: app(pred(),app(s(),x)) -> x 5: app(app(minus(),x),0()) -> x 6: app(app(minus(),x),app(s(),y)) -> app(pred(),app(app(minus(),x),y)) 7: app(app(gcd(),0()),y) -> y 8: app(app(gcd(),app(s(),x)),0()) -> app(s(),x) 9: app(app(gcd(),app(s(),x)),app(s(),y)) -> app(app(app(if_gcd(),app(app(le(),y),x)),app(s(),x)),app(s(),y)) 10: app(app(app(if_gcd(),true()),app(s(),x)),app(s(),y)) -> app(app(gcd(),app(app(minus(),x),y)),app(s(),y)) 11: app(app(app(if_gcd(),false()),app(s(),x)),app(s(),y)) -> app(app(gcd(),app(app(minus(),y),x)),app(s(),x)) 12: app(app(map(),f),nil()) -> nil() 13: app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) 14: app(app(filter(),f),nil()) -> nil() 15: app(app(filter(),f),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(f,x)),f),x),xs) 16: app(app(app(app(filter2(),true()),f),x),xs) -> app(app(cons(),x),app(app(filter(),f),xs)) 17: app(app(app(app(filter2(),false()),f),x),xs) -> app(app(filter(),f),xs) Number of strict rules: 17 Direct POLO(bPol) ... failed. Uncurrying app 1: app^2_le(0(),y) -> true() 2: app^2_le(app^1_s(x),0()) -> false() 3: app^2_le(app^1_s(x),app^1_s(y)) -> app^2_le(x,y) 4: app^1_pred(app^1_s(x)) -> x 5: app^2_minus(x,0()) -> x 6: app^2_minus(x,app^1_s(y)) -> app^1_pred(app^2_minus(x,y)) 7: app^2_gcd(0(),y) -> y 8: app^2_gcd(app^1_s(x),0()) -> app^1_s(x) 9: app^2_gcd(app^1_s(x),app^1_s(y)) -> app^3_if_gcd(app^2_le(y,x),app^1_s(x),app^1_s(y)) 10: app^3_if_gcd(true(),app^1_s(x),app^1_s(y)) -> app^2_gcd(app^2_minus(x,y),app^1_s(y)) 11: app^3_if_gcd(false(),app^1_s(x),app^1_s(y)) -> app^2_gcd(app^2_minus(y,x),app^1_s(x)) 12: app^2_map(f,nil()) -> nil() 13: app^2_map(f,app^2_cons(x,xs)) -> app^2_cons(app(f,x),app^2_map(f,xs)) 14: app^2_filter(f,nil()) -> nil() 15: app^2_filter(f,app^2_cons(x,xs)) -> app^4_filter2(app(f,x),f,x,xs) 16: app^4_filter2(true(),f,x,xs) -> app^2_cons(x,app^2_filter(f,xs)) 17: app^4_filter2(false(),f,x,xs) -> app^2_filter(f,xs) 18: app(le(),_1) ->= app^1_le(_1) 19: app(app^1_le(_1),_2) ->= app^2_le(_1,_2) 20: app(cons(),_1) ->= app^1_cons(_1) 21: app(app^1_cons(_1),_2) ->= app^2_cons(_1,_2) 22: app(if_gcd(),_1) ->= app^1_if_gcd(_1) 23: app(app^1_if_gcd(_1),_2) ->= app^2_if_gcd(_1,_2) 24: app(app^2_if_gcd(_1,_2),_3) ->= app^3_if_gcd(_1,_2,_3) 25: app(s(),_1) ->= app^1_s(_1) 26: app(filter(),_1) ->= app^1_filter(_1) 27: app(app^1_filter(_1),_2) ->= app^2_filter(_1,_2) 28: app(map(),_1) ->= app^1_map(_1) 29: app(app^1_map(_1),_2) ->= app^2_map(_1,_2) 30: app(minus(),_1) ->= app^1_minus(_1) 31: app(app^1_minus(_1),_2) ->= app^2_minus(_1,_2) 32: app(gcd(),_1) ->= app^1_gcd(_1) 33: app(app^1_gcd(_1),_2) ->= app^2_gcd(_1,_2) 34: app(pred(),_1) ->= app^1_pred(_1) 35: app(filter2(),_1) ->= app^1_filter2(_1) 36: app(app^1_filter2(_1),_2) ->= app^2_filter2(_1,_2) 37: app(app^2_filter2(_1,_2),_3) ->= app^3_filter2(_1,_2,_3) 38: app(app^3_filter2(_1,_2,_3),_4) ->= app^4_filter2(_1,_2,_3,_4) Number of strict rules: 17 Direct POLO(bPol) ... failed. Dependency Pairs: #1: #app(app^1_map(_1),_2) ->? #app^2_map(_1,_2) #2: #app(app^3_filter2(_1,_2,_3),_4) ->? #app^4_filter2(_1,_2,_3,_4) #3: #app^2_minus(x,app^1_s(y)) -> #app^1_pred(app^2_minus(x,y)) #4: #app^2_minus(x,app^1_s(y)) -> #app^2_minus(x,y) #5: #app^2_map(f,app^2_cons(x,xs)) -> #app(f,x) #6: #app^2_map(f,app^2_cons(x,xs)) -> #app^2_map(f,xs) #7: #app^2_gcd(app^1_s(x),app^1_s(y)) -> #app^3_if_gcd(app^2_le(y,x),app^1_s(x),app^1_s(y)) #8: #app^2_gcd(app^1_s(x),app^1_s(y)) -> #app^2_le(y,x) #9: #app^3_if_gcd(false(),app^1_s(x),app^1_s(y)) -> #app^2_gcd(app^2_minus(y,x),app^1_s(x)) #10: #app^3_if_gcd(false(),app^1_s(x),app^1_s(y)) -> #app^2_minus(y,x) #11: #app(app^2_if_gcd(_1,_2),_3) ->? #app^3_if_gcd(_1,_2,_3) #12: #app(app^1_minus(_1),_2) ->? #app^2_minus(_1,_2) #13: #app^3_if_gcd(true(),app^1_s(x),app^1_s(y)) -> #app^2_gcd(app^2_minus(x,y),app^1_s(y)) #14: #app^3_if_gcd(true(),app^1_s(x),app^1_s(y)) -> #app^2_minus(x,y) #15: #app(app^1_gcd(_1),_2) ->? #app^2_gcd(_1,_2) #16: #app(pred(),_1) ->? #app^1_pred(_1) #17: #app(app^1_filter(_1),_2) ->? #app^2_filter(_1,_2) #18: #app^4_filter2(false(),f,x,xs) -> #app^2_filter(f,xs) #19: #app(app^1_le(_1),_2) ->? #app^2_le(_1,_2) #20: #app^4_filter2(true(),f,x,xs) -> #app^2_filter(f,xs) #21: #app^2_le(app^1_s(x),app^1_s(y)) -> #app^2_le(x,y) #22: #app^2_filter(f,app^2_cons(x,xs)) -> #app^4_filter2(app(f,x),f,x,xs) #23: #app^2_filter(f,app^2_cons(x,xs)) -> #app(f,x) Number of SCCs: 4, DPs: 14 SCC { #4 } POLO(Sum)... succeeded. app^3_if_gcd w: 0 le w: 0 #app^2_minus w: x2 s w: 0 app^1_cons w: 0 #app^2_map w: 0 minus w: 0 gcd w: 0 app^2_filter2 w: 0 app^4_filter2 w: 0 false w: 0 #app^2_le w: 0 app^1_gcd w: 0 app^1_le w: 0 app^1_filter2 w: 0 true w: 0 pred w: 0 filter2 w: 0 #app^1_pred w: 0 #app^2_gcd w: 0 app^1_pred w: 0 0 w: 0 #app^4_filter2 w: 0 nil w: 0 app^2_le w: 0 #app w: 0 app^1_if_gcd w: 0 #app^3_if_gcd w: 0 app^2_minus w: 0 map w: 0 app^2_gcd w: 0 app^1_filter w: 0 cons w: 0 app^2_if_gcd w: 0 if_gcd w: 0 filter w: 0 app^1_minus w: 0 app^3_filter2 w: 0 app^2_filter 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 USABLE RULES: { } Removed DPs: #4 Number of SCCs: 3, DPs: 13 SCC { #21 } POLO(Sum)... succeeded. app^3_if_gcd w: 0 le w: 0 #app^2_minus w: 0 s w: 0 app^1_cons w: 0 #app^2_map w: 0 minus w: 0 gcd w: 0 app^2_filter2 w: 0 app^4_filter2 w: 0 false w: 0 #app^2_le w: x2 app^1_gcd w: 0 app^1_le w: 0 app^1_filter2 w: 0 true w: 0 pred w: 0 filter2 w: 0 #app^1_pred w: 0 #app^2_gcd w: 0 app^1_pred w: 0 0 w: 0 #app^4_filter2 w: 0 nil w: 0 app^2_le w: 0 #app w: 0 app^1_if_gcd w: 0 #app^3_if_gcd w: 0 app^2_minus w: 0 map w: 0 app^2_gcd w: 0 app^1_filter w: 0 cons w: 0 app^2_if_gcd w: 0 if_gcd w: 0 filter w: 0 app^1_minus w: 0 app^3_filter2 w: 0 app^2_filter 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 USABLE RULES: { } Removed DPs: #21 Number of SCCs: 2, DPs: 12 SCC { #7 #9 #13 } POLO(Sum)... succeeded. app^3_if_gcd w: 0 le w: 0 #app^2_minus w: 0 s w: 0 app^1_cons w: 0 #app^2_map w: 0 minus w: 0 gcd w: 0 app^2_filter2 w: 0 app^4_filter2 w: 0 false w: 52873 #app^2_le w: 0 app^1_gcd w: 0 app^1_le w: 0 app^1_filter2 w: 0 true w: 3 pred w: 0 filter2 w: 0 #app^1_pred w: 0 #app^2_gcd w: x1 + x2 + 1 app^1_pred w: x1 0 w: 1 #app^4_filter2 w: 0 nil w: 0 app^2_le w: x1 + x2 + 1 #app w: 0 app^1_if_gcd w: 0 #app^3_if_gcd w: x2 + x3 app^2_minus w: x1 + 52868 map w: 0 app^2_gcd w: 0 app^1_filter w: 0 cons w: 0 app^2_if_gcd w: 0 if_gcd w: 0 filter w: 0 app^1_minus w: 0 app^3_filter2 w: 0 app^2_filter w: 0 app^1_map w: 0 app^2_cons w: 0 app^1_s w: x1 + 52870 app^2_map w: 0 #app^2_filter w: 0 app w: 0 USABLE RULES: { 4..6 } Removed DPs: #7 #9 #13 Number of SCCs: 1, DPs: 9 SCC { #1 #2 #5 #6 #17 #18 #20 #22 #23 } POLO(Sum)... succeeded. app^3_if_gcd w: x2 + x3 + 7 le w: 1 #app^2_minus w: 0 s w: 1 app^1_cons w: x1 + 3 #app^2_map w: x1 + x2 minus w: 13485 gcd w: 1 app^2_filter2 w: 5 app^4_filter2 w: x1 + x4 + 9 false w: 13 #app^2_le w: 0 app^1_gcd w: x1 + 3 app^1_le w: 3 app^1_filter2 w: x1 + 3 true w: 7 pred w: 1 filter2 w: 1 #app^1_pred w: 0 #app^2_gcd w: x1 + 1 app^1_pred w: x1 0 w: 1 #app^4_filter2 w: x2 + x3 + x4 + 1 nil w: 41990 app^2_le w: x1 + x2 + 5 #app w: x1 + x2 app^1_if_gcd w: 3 #app^3_if_gcd w: 0 app^2_minus w: x1 + 13489 map w: 1 app^2_gcd w: 5 app^1_filter w: x1 + 3 cons w: 1 app^2_if_gcd w: x1 + 5 if_gcd w: 1 filter w: 1 app^1_minus w: 13487 app^3_filter2 w: x1 + x2 + x3 + 7 app^2_filter w: x1 + x2 + 23 app^1_map w: x1 + 3 app^2_cons w: x1 + x2 + 5 app^1_s w: x1 + 6 app^2_map w: x1 + x2 + 5 #app^2_filter w: x1 + x2 app w: x1 + 1 USABLE RULES: { 4..6 } Removed DPs: #1 #2 #5 #6 #17 #18 #20 #22 #23 Number of SCCs: 0, DPs: 0