Input TRS: 1: app(f(),|0|()) -> true() 2: app(f(),|1|()) -> false() 3: app(f(),app(s(),x)) -> app(f(),x) 4: app(app(app(if(),true()),app(s(),x)),app(s(),y)) -> app(s(),x) 5: app(app(app(if(),false()),app(s(),x)),app(s(),y)) -> app(s(),y) 6: app(app(g(),x),app(c(),y)) -> app(c(),app(app(g(),x),y)) 7: app(app(g(),x),app(c(),y)) -> app(app(g(),x),app(app(app(if(),app(f(),x)),app(c(),app(app(g(),app(s(),x)),y))),app(c(),y))) 8: app(app(map(),|fun|),nil()) -> nil() 9: app(app(map(),|fun|),app(app(cons(),x),xs)) -> app(app(cons(),app(|fun|,x)),app(app(map(),|fun|),xs)) 10: app(app(filter(),|fun|),nil()) -> nil() 11: app(app(filter(),|fun|),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(|fun|,x)),|fun|),x),xs) 12: app(app(app(app(filter2(),true()),|fun|),x),xs) -> app(app(cons(),x),app(app(filter(),|fun|),xs)) 13: app(app(app(app(filter2(),false()),|fun|),x),xs) -> app(app(filter(),|fun|),xs) Number of strict rules: 13 Direct Order(PosReal,>,Poly) ... failed. Freezing app 1: app❆1_f(|0|()) -> true() 2: app❆1_f(|1|()) -> false() 3: app❆1_f(app❆1_s(x)) -> app❆1_f(x) 4: app❆3_if(true(),app❆1_s(x),app❆1_s(y)) -> app❆1_s(x) 5: app❆3_if(false(),app❆1_s(x),app❆1_s(y)) -> app❆1_s(y) 6: app❆2_g(x,app❆1_c(y)) -> app❆1_c(app❆2_g(x,y)) 7: app❆2_g(x,app❆1_c(y)) -> app❆2_g(x,app❆3_if(app❆1_f(x),app❆1_c(app❆2_g(app❆1_s(x),y)),app❆1_c(y))) 8: app❆2_map(|fun|,nil()) -> nil() 9: app❆2_map(|fun|,app❆2_cons(x,xs)) -> app❆2_cons(app(|fun|,x),app❆2_map(|fun|,xs)) 10: app❆2_filter(|fun|,nil()) -> nil() 11: app❆2_filter(|fun|,app❆2_cons(x,xs)) -> app❆4_filter2(app(|fun|,x),|fun|,x,xs) 12: app❆4_filter2(true(),|fun|,x,xs) -> app❆2_cons(x,app❆2_filter(|fun|,xs)) 13: app❆4_filter2(false(),|fun|,x,xs) -> app❆2_filter(|fun|,xs) 14: app(if(),_1) ->= app❆1_if(_1) 15: app(app❆1_if(_1),_2) ->= app❆2_if(_1,_2) 16: app(app❆2_if(_1,_2),_3) ->= app❆3_if(_1,_2,_3) 17: app(cons(),_1) ->= app❆1_cons(_1) 18: app(app❆1_cons(_1),_2) ->= app❆2_cons(_1,_2) 19: app(s(),_1) ->= app❆1_s(_1) 20: app(filter(),_1) ->= app❆1_filter(_1) 21: app(app❆1_filter(_1),_2) ->= app❆2_filter(_1,_2) 22: app(c(),_1) ->= app❆1_c(_1) 23: app(map(),_1) ->= app❆1_map(_1) 24: app(app❆1_map(_1),_2) ->= app❆2_map(_1,_2) 25: app(g(),_1) ->= app❆1_g(_1) 26: app(app❆1_g(_1),_2) ->= app❆2_g(_1,_2) 27: app(f(),_1) ->= app❆1_f(_1) 28: app(filter2(),_1) ->= app❆1_filter2(_1) 29: app(app❆1_filter2(_1),_2) ->= app❆2_filter2(_1,_2) 30: app(app❆2_filter2(_1,_2),_3) ->= app❆3_filter2(_1,_2,_3) 31: app(app❆3_filter2(_1,_2,_3),_4) ->= app❆4_filter2(_1,_2,_3,_4) Number of strict rules: 13 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #app❆2_g(x,app❆1_c(y)) -> #app❆2_g(x,y) #2: #app❆4_filter2(false(),|fun|,x,xs) -> #app❆2_filter(|fun|,xs) #3: #app❆2_map(|fun|,app❆2_cons(x,xs)) -> #app(|fun|,x) #4: #app❆2_map(|fun|,app❆2_cons(x,xs)) -> #app❆2_map(|fun|,xs) #5: #app❆2_filter(|fun|,app❆2_cons(x,xs)) -> #app❆4_filter2(app(|fun|,x),|fun|,x,xs) #6: #app❆2_filter(|fun|,app❆2_cons(x,xs)) -> #app(|fun|,x) #7: #app(app❆1_map(_1),_2) ->? #app❆2_map(_1,_2) #8: #app❆4_filter2(true(),|fun|,x,xs) -> #app❆2_filter(|fun|,xs) #9: #app(app❆3_filter2(_1,_2,_3),_4) ->? #app❆4_filter2(_1,_2,_3,_4) #10: #app❆2_g(x,app❆1_c(y)) -> #app❆2_g(x,app❆3_if(app❆1_f(x),app❆1_c(app❆2_g(app❆1_s(x),y)),app❆1_c(y))) #11: #app❆2_g(x,app❆1_c(y)) -> #app❆3_if(app❆1_f(x),app❆1_c(app❆2_g(app❆1_s(x),y)),app❆1_c(y)) #12: #app❆2_g(x,app❆1_c(y)) -> #app❆1_f(x) #13: #app❆2_g(x,app❆1_c(y)) -> #app❆2_g(app❆1_s(x),y) #14: #app(f(),_1) ->? #app❆1_f(_1) #15: #app(app❆1_g(_1),_2) ->? #app❆2_g(_1,_2) #16: #app(app❆1_filter(_1),_2) ->? #app❆2_filter(_1,_2) #17: #app(app❆2_if(_1,_2),_3) ->? #app❆3_if(_1,_2,_3) #18: #app❆1_f(app❆1_s(x)) -> #app❆1_f(x) Number of SCCs: 3, DPs: 12, edges: 25 SCC { #18 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #app❆2_map(x1,x2) weight: 0 s() weight: 0 app❆1_c(x1) weight: 0 app❆1_map(x1) weight: 0 app❆1_if(x1) 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 false() weight: 0 c() 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 if() weight: 0 app❆1_f(x1) weight: 0 nil() weight: 0 app❆1_filter(x1) weight: 0 |1|() weight: 0 app❆3_if(x1,x2,x3) weight: 0 #app(x1,x2) weight: 0 map() weight: 0 #app❆2_g(x1,x2) 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 cons() weight: 0 app❆2_cons(x1,x2) weight: 0 #app❆1_f(x1) weight: x1 filter() weight: 0 app❆1_s(x1) weight: (/ 1 2) + x1 app❆1_g(x1) weight: 0 app❆1_filter2(x1) weight: 0 app❆1_cons(x1) weight: 0 app❆3_filter2(x1,x2,x3) weight: 0 g() weight: 0 app❆2_g(x1,x2) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #18 Number of SCCs: 2, DPs: 11, edges: 24 SCC { #1 #13 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #app❆2_map(x1,x2) weight: 0 s() weight: 0 app❆1_c(x1) weight: (/ 1 2) + x1 app❆1_map(x1) weight: 0 app❆1_if(x1) 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 false() weight: 0 c() 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 if() weight: 0 app❆1_f(x1) weight: 0 nil() weight: 0 app❆1_filter(x1) weight: 0 |1|() weight: 0 app❆3_if(x1,x2,x3) weight: 0 #app(x1,x2) weight: 0 map() weight: 0 #app❆2_g(x1,x2) weight: x2 #app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_filter2(x1,x2) weight: 0 #app❆2_filter(x1,x2) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: 0 #app❆1_f(x1) weight: 0 filter() weight: 0 app❆1_s(x1) weight: (/ 1 2) app❆1_g(x1) weight: 0 app❆1_filter2(x1) weight: 0 app❆1_cons(x1) weight: 0 app❆3_filter2(x1,x2,x3) weight: 0 g() weight: 0 app❆2_g(x1,x2) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #1 #13 Number of SCCs: 1, DPs: 9, edges: 20 SCC { #2..9 #16 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #app❆2_map(x1,x2) weight: (/ 1 8) + x1 s() weight: 0 app❆1_c(x1) weight: (/ 1 4) app❆1_map(x1) weight: (/ 1 4) + x1 app❆1_if(x1) weight: (/ 1 4) #app❆3_if(x1,x2,x3) weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: (/ 1 4) + x3 + x4 app❆2_map(x1,x2) weight: (/ 1 4) false() weight: 0 c() weight: 0 app❆2_if(x1,x2) weight: (/ 1 4) + x1 + x2 true() weight: 0 f() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: (/ 3 8) + x1 if() weight: 0 app❆1_f(x1) weight: (/ 1 4) + x1 nil() weight: 0 app❆1_filter(x1) weight: (/ 1 4) + x1 |1|() weight: 0 app❆3_if(x1,x2,x3) weight: (/ 1 4) + x1 #app(x1,x2) weight: x1 map() weight: 0 #app❆2_g(x1,x2) weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: (/ 1 8) + x2 app❆2_filter2(x1,x2) weight: (/ 1 4) + x1 + x2 #app❆2_filter(x1,x2) weight: (/ 1 8) + x1 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 3 8) #app❆1_f(x1) weight: 0 filter() weight: 0 app❆1_s(x1) weight: (/ 3 8) + x1 app❆1_g(x1) weight: (/ 1 4) + x1 app❆1_filter2(x1) weight: (/ 1 4) + x1 app❆1_cons(x1) weight: (/ 1 4) app❆3_filter2(x1,x2,x3) weight: (/ 1 4) + x2 + x3 g() weight: 0 app❆2_g(x1,x2) weight: (/ 1 4) + x2 app(x1,x2) weight: (/ 1 8) Usable rules: { 1..3 } Removed DPs: #3 #6 #7 #9 #16 Number of SCCs: 2, DPs: 4, edges: 5 SCC { #4 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #app❆2_map(x1,x2) weight: (/ 1 8) + x2 s() weight: 0 app❆1_c(x1) weight: (/ 1 4) app❆1_map(x1) weight: (/ 1 4) + x1 app❆1_if(x1) weight: (/ 1 4) #app❆3_if(x1,x2,x3) weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: (/ 1 4) + x2 + x3 + x4 app❆2_map(x1,x2) weight: 0 false() weight: 0 c() weight: 0 app❆2_if(x1,x2) weight: (/ 1 4) + x1 + x2 true() weight: 0 f() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: x1 if() weight: 0 app❆1_f(x1) weight: (/ 1 4) + x1 nil() weight: 0 app❆1_filter(x1) weight: (/ 1 4) + x1 |1|() weight: 0 app❆3_if(x1,x2,x3) weight: (/ 1 4) + x1 #app(x1,x2) weight: 0 map() weight: 0 #app❆2_g(x1,x2) weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: (/ 1 8) app❆2_filter2(x1,x2) weight: (/ 1 4) + x1 + x2 #app❆2_filter(x1,x2) weight: (/ 1 8) cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 3 8) + x2 #app❆1_f(x1) weight: 0 filter() weight: 0 app❆1_s(x1) weight: (/ 3 8) + x1 app❆1_g(x1) weight: (/ 1 4) + x1 app❆1_filter2(x1) weight: (/ 1 4) + x1 app❆1_cons(x1) weight: (/ 1 4) app❆3_filter2(x1,x2,x3) weight: (/ 1 4) + x2 + x3 g() weight: 0 app❆2_g(x1,x2) weight: (/ 1 4) + x2 app(x1,x2) weight: (/ 1 8) Usable rules: { } Removed DPs: #4 Number of SCCs: 1, DPs: 3, edges: 4 SCC { #2 #5 #8 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #app❆2_map(x1,x2) weight: (/ 1 8) s() weight: 0 app❆1_c(x1) weight: 0 app❆1_map(x1) weight: (/ 1 4) + x1 app❆1_if(x1) weight: (/ 1 4) #app❆3_if(x1,x2,x3) weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: (/ 1 4) + x2 + x3 + x4 app❆2_map(x1,x2) weight: (/ 1 4) false() weight: 0 c() weight: 0 app❆2_if(x1,x2) weight: (/ 1 4) + x1 + x2 true() weight: 0 f() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: x1 if() weight: 0 app❆1_f(x1) weight: (/ 1 4) + x1 nil() weight: 0 app❆1_filter(x1) weight: (/ 1 4) + x1 |1|() weight: 0 app❆3_if(x1,x2,x3) weight: (/ 1 4) + x1 #app(x1,x2) weight: 0 map() weight: 0 #app❆2_g(x1,x2) weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: (/ 1 8) + x4 app❆2_filter2(x1,x2) weight: (/ 1 4) + x1 + x2 #app❆2_filter(x1,x2) weight: x2 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 3 8) + x2 #app❆1_f(x1) weight: 0 filter() weight: 0 app❆1_s(x1) weight: (/ 3 8) + x1 app❆1_g(x1) weight: (/ 1 4) + x1 app❆1_filter2(x1) weight: (/ 1 4) + x1 app❆1_cons(x1) weight: (/ 1 4) app❆3_filter2(x1,x2,x3) weight: (/ 1 4) + x2 + x3 g() weight: 0 app❆2_g(x1,x2) weight: (/ 1 4) app(x1,x2) weight: (/ 1 8) Usable rules: { } Removed DPs: #2 #5 #8 Number of SCCs: 0, DPs: 0, edges: 0 YES