Input TRS: 1: app(app(minus(),0()),y) -> 0() 2: app(app(minus(),app(s(),x)),0()) -> app(s(),x) 3: app(app(minus(),app(s(),x)),app(s(),y)) -> app(app(minus(),x),y) 4: app(app(le(),0()),y) -> true() 5: app(app(le(),app(s(),x)),0()) -> false() 6: app(app(le(),app(s(),x)),app(s(),y)) -> app(app(le(),x),y) 7: app(app(app(if(),true()),x),y) -> x 8: app(app(app(if(),false()),x),y) -> y 9: app(perfectp(),0()) -> false() 10: app(perfectp(),app(s(),x)) -> app(app(app(app(f(),x),app(s(),0())),app(s(),x)),app(s(),x)) 11: app(app(app(app(f(),0()),y),0()),u) -> true() 12: app(app(app(app(f(),0()),y),app(s(),z)),u) -> false() 13: app(app(app(app(f(),app(s(),x)),0()),z),u) -> app(app(app(app(f(),x),u),app(app(minus(),z),app(s(),x))),u) 14: app(app(app(app(f(),app(s(),x)),app(s(),y)),z),u) -> app(app(app(if(),app(app(le(),x),y)),app(app(app(app(f(),app(s(),x)),app(app(minus(),y),x)),z),u)),app(app(app(app(f(),x),u),z),u)) 15: app(app(map(),fun),nil()) -> nil() 16: app(app(map(),fun),app(app(cons(),x),xs)) -> app(app(cons(),app(fun,x)),app(app(map(),fun),xs)) 17: app(app(filter(),fun),nil()) -> nil() 18: app(app(filter(),fun),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(fun,x)),fun),x),xs) 19: app(app(app(app(filter2(),true()),fun),x),xs) -> app(app(cons(),x),app(app(filter(),fun),xs)) 20: app(app(app(app(filter2(),false()),fun),x),xs) -> app(app(filter(),fun),xs) Number of strict rules: 20 Direct Order(PosReal,>,Poly) ... failed. Freezing app 1: app❆2_minus(0(),y) -> 0() 2: app❆2_minus(app❆1_s(x),0()) -> app❆1_s(x) 3: app❆2_minus(app❆1_s(x),app❆1_s(y)) -> app❆2_minus(x,y) 4: app❆2_le(0(),y) -> true() 5: app❆2_le(app❆1_s(x),0()) -> false() 6: app❆2_le(app❆1_s(x),app❆1_s(y)) -> app❆2_le(x,y) 7: app❆3_if(true(),x,y) -> x 8: app❆3_if(false(),x,y) -> y 9: app❆1_perfectp(0()) -> false() 10: app❆1_perfectp(app❆1_s(x)) -> app❆4_f(x,app❆1_s(0()),app❆1_s(x),app❆1_s(x)) 11: app❆4_f(0(),y,0(),u) -> true() 12: app❆4_f(0(),y,app❆1_s(z),u) -> false() 13: app❆4_f(app❆1_s(x),0(),z,u) -> app❆4_f(x,u,app❆2_minus(z,app❆1_s(x)),u) 14: app❆4_f(app❆1_s(x),app❆1_s(y),z,u) -> app❆3_if(app❆2_le(x,y),app❆4_f(app❆1_s(x),app❆2_minus(y,x),z,u),app❆4_f(x,u,z,u)) 15: app❆2_map(fun,nil()) -> nil() 16: app❆2_map(fun,app❆2_cons(x,xs)) -> app❆2_cons(app(fun,x),app❆2_map(fun,xs)) 17: app❆2_filter(fun,nil()) -> nil() 18: app❆2_filter(fun,app❆2_cons(x,xs)) -> app❆4_filter2(app(fun,x),fun,x,xs) 19: app❆4_filter2(true(),fun,x,xs) -> app❆2_cons(x,app❆2_filter(fun,xs)) 20: app❆4_filter2(false(),fun,x,xs) -> app❆2_filter(fun,xs) 21: app(le(),_1) ->= app❆1_le(_1) 22: app(app❆1_le(_1),_2) ->= app❆2_le(_1,_2) 23: app(if(),_1) ->= app❆1_if(_1) 24: app(app❆1_if(_1),_2) ->= app❆2_if(_1,_2) 25: app(app❆2_if(_1,_2),_3) ->= app❆3_if(_1,_2,_3) 26: app(cons(),_1) ->= app❆1_cons(_1) 27: app(app❆1_cons(_1),_2) ->= app❆2_cons(_1,_2) 28: app(s(),_1) ->= app❆1_s(_1) 29: app(filter(),_1) ->= app❆1_filter(_1) 30: app(app❆1_filter(_1),_2) ->= app❆2_filter(_1,_2) 31: app(perfectp(),_1) ->= app❆1_perfectp(_1) 32: app(map(),_1) ->= app❆1_map(_1) 33: app(app❆1_map(_1),_2) ->= app❆2_map(_1,_2) 34: app(minus(),_1) ->= app❆1_minus(_1) 35: app(app❆1_minus(_1),_2) ->= app❆2_minus(_1,_2) 36: app(f(),_1) ->= app❆1_f(_1) 37: app(app❆1_f(_1),_2) ->= app❆2_f(_1,_2) 38: app(app❆2_f(_1,_2),_3) ->= app❆3_f(_1,_2,_3) 39: app(app❆3_f(_1,_2,_3),_4) ->= app❆4_f(_1,_2,_3,_4) 40: app(filter2(),_1) ->= app❆1_filter2(_1) 41: app(app❆1_filter2(_1),_2) ->= app❆2_filter2(_1,_2) 42: app(app❆2_filter2(_1,_2),_3) ->= app❆3_filter2(_1,_2,_3) 43: app(app❆3_filter2(_1,_2,_3),_4) ->= app❆4_filter2(_1,_2,_3,_4) Number of strict rules: 20 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #app(app❆3_filter2(_1,_2,_3),_4) ->? #app❆4_filter2(_1,_2,_3,_4) #2: #app(app❆1_minus(_1),_2) ->? #app❆2_minus(_1,_2) #3: #app❆2_le(app❆1_s(x),app❆1_s(y)) -> #app❆2_le(x,y) #4: #app❆4_f(app❆1_s(x),0(),z,u) -> #app❆4_f(x,u,app❆2_minus(z,app❆1_s(x)),u) #5: #app❆4_f(app❆1_s(x),0(),z,u) -> #app❆2_minus(z,app❆1_s(x)) #6: #app(perfectp(),_1) ->? #app❆1_perfectp(_1) #7: #app❆4_f(app❆1_s(x),app❆1_s(y),z,u) -> #app❆3_if(app❆2_le(x,y),app❆4_f(app❆1_s(x),app❆2_minus(y,x),z,u),app❆4_f(x,u,z,u)) #8: #app❆4_f(app❆1_s(x),app❆1_s(y),z,u) -> #app❆2_le(x,y) #9: #app❆4_f(app❆1_s(x),app❆1_s(y),z,u) -> #app❆4_f(app❆1_s(x),app❆2_minus(y,x),z,u) #10: #app❆4_f(app❆1_s(x),app❆1_s(y),z,u) -> #app❆2_minus(y,x) #11: #app❆4_f(app❆1_s(x),app❆1_s(y),z,u) -> #app❆4_f(x,u,z,u) #12: #app(app❆1_filter(_1),_2) ->? #app❆2_filter(_1,_2) #13: #app(app❆2_if(_1,_2),_3) ->? #app❆3_if(_1,_2,_3) #14: #app❆4_filter2(false(),fun,x,xs) -> #app❆2_filter(fun,xs) #15: #app(app❆3_f(_1,_2,_3),_4) ->? #app❆4_f(_1,_2,_3,_4) #16: #app❆1_perfectp(app❆1_s(x)) -> #app❆4_f(x,app❆1_s(0()),app❆1_s(x),app❆1_s(x)) #17: #app(app❆1_map(_1),_2) ->? #app❆2_map(_1,_2) #18: #app(app❆1_le(_1),_2) ->? #app❆2_le(_1,_2) #19: #app❆4_filter2(true(),fun,x,xs) -> #app❆2_filter(fun,xs) #20: #app❆2_map(fun,app❆2_cons(x,xs)) -> #app(fun,x) #21: #app❆2_map(fun,app❆2_cons(x,xs)) -> #app❆2_map(fun,xs) #22: #app❆2_minus(app❆1_s(x),app❆1_s(y)) -> #app❆2_minus(x,y) #23: #app❆2_filter(fun,app❆2_cons(x,xs)) -> #app❆4_filter2(app(fun,x),fun,x,xs) #24: #app❆2_filter(fun,app❆2_cons(x,xs)) -> #app(fun,x) Number of SCCs: 4, DPs: 14, edges: 31 SCC { #3 } Removing DPs: Order(PosReal,>,Sum)... succeeded. app❆2_minus(x1,x2) weight: 0 le() weight: 0 app❆1_le(x1) weight: 0 #app❆2_map(x1,x2) weight: 0 app❆4_f(x1,x2,x3,x4) weight: 0 s() weight: 0 app❆1_map(x1) weight: 0 app❆1_minus(x1) weight: 0 app❆1_if(x1) weight: 0 app❆2_f(x1,x2) weight: 0 minus() weight: 0 #app❆3_if(x1,x2,x3) weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_map(x1,x2) weight: 0 #app❆2_minus(x1,x2) weight: 0 false() weight: 0 app❆2_if(x1,x2) weight: 0 true() weight: 0 f() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: 0 #app❆1_perfectp(x1) weight: 0 app❆2_le(x1,x2) weight: 0 0() weight: 0 if() weight: 0 app❆1_f(x1) weight: 0 app❆3_f(x1,x2,x3) weight: 0 nil() weight: 0 app❆1_filter(x1) weight: 0 app❆3_if(x1,x2,x3) weight: 0 #app(x1,x2) weight: 0 map() weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_filter2(x1,x2) weight: 0 #app❆2_filter(x1,x2) weight: 0 app❆1_perfectp(x1) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: 0 filter() weight: 0 app❆1_s(x1) weight: (/ 1 2) + x1 #app❆4_f(x1,x2,x3,x4) weight: 0 perfectp() weight: 0 app❆1_filter2(x1) weight: 0 app❆1_cons(x1) weight: 0 app❆3_filter2(x1,x2,x3) weight: 0 #app❆2_le(x1,x2) weight: x2 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #3 Number of SCCs: 3, DPs: 13, edges: 30 SCC { #22 } Removing DPs: Order(PosReal,>,Sum)... succeeded. app❆2_minus(x1,x2) weight: 0 le() weight: 0 app❆1_le(x1) weight: 0 #app❆2_map(x1,x2) weight: 0 app❆4_f(x1,x2,x3,x4) weight: 0 s() weight: 0 app❆1_map(x1) weight: 0 app❆1_minus(x1) weight: 0 app❆1_if(x1) weight: 0 app❆2_f(x1,x2) weight: 0 minus() weight: 0 #app❆3_if(x1,x2,x3) weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_map(x1,x2) weight: 0 #app❆2_minus(x1,x2) weight: x2 false() weight: 0 app❆2_if(x1,x2) weight: 0 true() weight: 0 f() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: 0 #app❆1_perfectp(x1) weight: 0 app❆2_le(x1,x2) weight: 0 0() weight: 0 if() weight: 0 app❆1_f(x1) weight: 0 app❆3_f(x1,x2,x3) weight: 0 nil() weight: 0 app❆1_filter(x1) weight: 0 app❆3_if(x1,x2,x3) weight: 0 #app(x1,x2) weight: 0 map() weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_filter2(x1,x2) weight: 0 #app❆2_filter(x1,x2) weight: 0 app❆1_perfectp(x1) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: 0 filter() weight: 0 app❆1_s(x1) weight: (/ 1 2) + x1 #app❆4_f(x1,x2,x3,x4) weight: 0 perfectp() weight: 0 app❆1_filter2(x1) weight: 0 app❆1_cons(x1) weight: 0 app❆3_filter2(x1,x2,x3) weight: 0 #app❆2_le(x1,x2) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #22 Number of SCCs: 2, DPs: 12, edges: 29 SCC { #4 #9 #11 } Removing DPs: Order(PosReal,>,Sum)... succeeded. app❆2_minus(x1,x2) weight: (/ 1 4) le() weight: 0 app❆1_le(x1) weight: 0 #app❆2_map(x1,x2) weight: 0 app❆4_f(x1,x2,x3,x4) weight: 0 s() weight: 0 app❆1_map(x1) weight: 0 app❆1_minus(x1) weight: 0 app❆1_if(x1) weight: 0 app❆2_f(x1,x2) weight: 0 minus() weight: 0 #app❆3_if(x1,x2,x3) weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_map(x1,x2) weight: 0 #app❆2_minus(x1,x2) weight: 0 false() weight: 0 app❆2_if(x1,x2) weight: 0 true() weight: 0 f() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: 0 #app❆1_perfectp(x1) weight: 0 app❆2_le(x1,x2) weight: 0 0() weight: 0 if() weight: 0 app❆1_f(x1) weight: 0 app❆3_f(x1,x2,x3) weight: 0 nil() weight: 0 app❆1_filter(x1) weight: 0 app❆3_if(x1,x2,x3) weight: 0 #app(x1,x2) weight: 0 map() weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_filter2(x1,x2) weight: 0 #app❆2_filter(x1,x2) weight: 0 app❆1_perfectp(x1) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: 0 filter() weight: 0 app❆1_s(x1) weight: (/ 1 2) + x1 #app❆4_f(x1,x2,x3,x4) weight: x1 perfectp() weight: 0 app❆1_filter2(x1) weight: 0 app❆1_cons(x1) weight: 0 app❆3_filter2(x1,x2,x3) weight: 0 #app❆2_le(x1,x2) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #4 #11 Number of SCCs: 2, DPs: 10, edges: 21 SCC { #9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. app❆2_minus(x1,x2) weight: (/ 1 4) + x1 le() weight: 0 app❆1_le(x1) weight: 0 #app❆2_map(x1,x2) weight: 0 app❆4_f(x1,x2,x3,x4) weight: 0 s() weight: 0 app❆1_map(x1) weight: 0 app❆1_minus(x1) weight: 0 app❆1_if(x1) weight: 0 app❆2_f(x1,x2) weight: 0 minus() weight: 0 #app❆3_if(x1,x2,x3) weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_map(x1,x2) weight: 0 #app❆2_minus(x1,x2) weight: 0 false() weight: 0 app❆2_if(x1,x2) weight: 0 true() weight: 0 f() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: 0 #app❆1_perfectp(x1) weight: 0 app❆2_le(x1,x2) weight: 0 0() weight: 0 if() weight: 0 app❆1_f(x1) weight: 0 app❆3_f(x1,x2,x3) weight: 0 nil() weight: 0 app❆1_filter(x1) weight: 0 app❆3_if(x1,x2,x3) weight: 0 #app(x1,x2) weight: 0 map() weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_filter2(x1,x2) weight: 0 #app❆2_filter(x1,x2) weight: 0 app❆1_perfectp(x1) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: 0 filter() weight: 0 app❆1_s(x1) weight: (/ 1 2) + x1 #app❆4_f(x1,x2,x3,x4) weight: x2 perfectp() weight: 0 app❆1_filter2(x1) weight: 0 app❆1_cons(x1) weight: 0 app❆3_filter2(x1,x2,x3) weight: 0 #app❆2_le(x1,x2) weight: 0 app(x1,x2) weight: 0 Usable rules: { 1..3 } Removed DPs: #9 Number of SCCs: 1, DPs: 9, edges: 20 SCC { #1 #12 #14 #17 #19..21 #23 #24 } Removing DPs: Order(PosReal,>,Sum)... succeeded. app❆2_minus(x1,x2) weight: (/ 3 16) + x1 le() weight: 0 app❆1_le(x1) weight: (/ 3 16) #app❆2_map(x1,x2) weight: (/ 1 16) + x2 app❆4_f(x1,x2,x3,x4) weight: (/ 3 16) + x1 + x2 s() weight: 0 app❆1_map(x1) weight: (/ 3 16) app❆1_minus(x1) weight: (/ 3 16) app❆1_if(x1) weight: (/ 3 16) app❆2_f(x1,x2) weight: (/ 3 16) + x1 minus() weight: 0 #app❆3_if(x1,x2,x3) weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: (/ 3 16) + x1 + x2 + x3 + x4 app❆2_map(x1,x2) weight: (/ 3 16) + x1 #app❆2_minus(x1,x2) weight: 0 false() weight: 0 app❆2_if(x1,x2) weight: (/ 3 16) + x1 true() weight: 0 f() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: (/ 1 4) + x1 #app❆1_perfectp(x1) weight: 0 app❆2_le(x1,x2) weight: (/ 3 16) 0() weight: 0 if() weight: 0 app❆1_f(x1) weight: (/ 3 16) app❆3_f(x1,x2,x3) weight: (/ 3 16) nil() weight: 0 app❆1_filter(x1) weight: (/ 3 16) app❆3_if(x1,x2,x3) weight: (/ 5 8) #app(x1,x2) weight: (/ 1 8) + x2 map() weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: (/ 1 16) + x4 app❆2_filter2(x1,x2) weight: (/ 3 16) + x1 #app❆2_filter(x1,x2) weight: x2 app❆1_perfectp(x1) weight: (/ 3 16) cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 3 16) + x1 + x2 filter() weight: 0 app❆1_s(x1) weight: (/ 3 16) + x1 #app❆4_f(x1,x2,x3,x4) weight: x2 perfectp() weight: 0 app❆1_filter2(x1) weight: (/ 3 16) app❆1_cons(x1) weight: (/ 3 16) app❆3_filter2(x1,x2,x3) weight: (/ 3 16) + x2 #app❆2_le(x1,x2) weight: 0 app(x1,x2) weight: (/ 1 8) + x2 Usable rules: { 1..3 } Removed DPs: #1 #12 #14 #17 #19..21 #23 #24 Number of SCCs: 1, DPs: 0, edges: 0 YES