Input TRS: 1: app(D(),t()) -> 1() 2: app(D(),constant()) -> 0() 3: app(D(),app(app(+(),x),y)) -> app(app(+(),app(D(),x)),app(D(),y)) 4: app(D(),app(app(*(),x),y)) -> app(app(+(),app(app(*(),y),app(D(),x))),app(app(*(),x),app(D(),y))) 5: app(D(),app(app(-(),x),y)) -> app(app(-(),app(D(),x)),app(D(),y)) 6: app(app(map(),f),nil()) -> nil() 7: app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) 8: app(app(filter(),f),nil()) -> nil() 9: app(app(filter(),f),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(f,x)),f),x),xs) 10: app(app(app(app(filter2(),true()),f),x),xs) -> app(app(cons(),x),app(app(filter(),f),xs)) 11: app(app(app(app(filter2(),false()),f),x),xs) -> app(app(filter(),f),xs) Number of strict rules: 11 Direct Order(PosReal,>,Poly) ... failed. Freezing app 1: app❆1_D(t()) -> 1() 2: app❆1_D(constant()) -> 0() 3: app❆1_D(app❆2_+(x,y)) -> app❆2_+(app❆1_D(x),app❆1_D(y)) 4: app❆1_D(app❆2_*(x,y)) -> app❆2_+(app❆2_*(y,app❆1_D(x)),app❆2_*(x,app❆1_D(y))) 5: app❆1_D(app❆2_-(x,y)) -> app❆2_-(app❆1_D(x),app❆1_D(y)) 6: app❆2_map(f,nil()) -> nil() 7: app❆2_map(f,app❆2_cons(x,xs)) -> app❆2_cons(app(f,x),app❆2_map(f,xs)) 8: app❆2_filter(f,nil()) -> nil() 9: app❆2_filter(f,app❆2_cons(x,xs)) -> app❆4_filter2(app(f,x),f,x,xs) 10: app❆4_filter2(true(),f,x,xs) -> app❆2_cons(x,app❆2_filter(f,xs)) 11: app❆4_filter2(false(),f,x,xs) -> app❆2_filter(f,xs) 12: app(cons(),_1) ->= app❆1_cons(_1) 13: app(app❆1_cons(_1),_2) ->= app❆2_cons(_1,_2) 14: app(filter(),_1) ->= app❆1_filter(_1) 15: app(app❆1_filter(_1),_2) ->= app❆2_filter(_1,_2) 16: app(+(),_1) ->= app❆1_+(_1) 17: app(app❆1_+(_1),_2) ->= app❆2_+(_1,_2) 18: app(-(),_1) ->= app❆1_-(_1) 19: app(app❆1_-(_1),_2) ->= app❆2_-(_1,_2) 20: app(map(),_1) ->= app❆1_map(_1) 21: app(app❆1_map(_1),_2) ->= app❆2_map(_1,_2) 22: app(D(),_1) ->= app❆1_D(_1) 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) Number of strict rules: 11 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #app❆2_filter(f,app❆2_cons(x,xs)) -> #app❆4_filter2(app(f,x),f,x,xs) #2: #app❆2_filter(f,app❆2_cons(x,xs)) -> #app(f,x) #3: #app❆4_filter2(false(),f,x,xs) -> #app❆2_filter(f,xs) #4: #app❆2_map(f,app❆2_cons(x,xs)) -> #app(f,x) #5: #app❆2_map(f,app❆2_cons(x,xs)) -> #app❆2_map(f,xs) #6: #app❆4_filter2(true(),f,x,xs) -> #app❆2_filter(f,xs) #7: #app❆1_D(app❆2_-(x,y)) -> #app❆1_D(x) #8: #app❆1_D(app❆2_-(x,y)) -> #app❆1_D(y) #9: #app(D(),_1) ->? #app❆1_D(_1) #10: #app(app❆3_filter2(_1,_2,_3),_4) ->? #app❆4_filter2(_1,_2,_3,_4) #11: #app(app❆1_map(_1),_2) ->? #app❆2_map(_1,_2) #12: #app❆1_D(app❆2_+(x,y)) -> #app❆1_D(x) #13: #app❆1_D(app❆2_+(x,y)) -> #app❆1_D(y) #14: #app(app❆1_filter(_1),_2) ->? #app❆2_filter(_1,_2) #15: #app❆1_D(app❆2_*(x,y)) -> #app❆1_D(x) #16: #app❆1_D(app❆2_*(x,y)) -> #app❆1_D(y) Number of SCCs: 2, DPs: 14, edges: 51 SCC { #7 #8 #12 #13 #15 #16 } Removing DPs: Order(PosReal,>,Sum)... succeeded. 1() weight: 0 #app❆2_map(x1,x2) weight: 0 app❆1_map(x1) weight: 0 constant() weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_*(x1,x2) weight: (/ 1 2) + x1 + x2 app❆2_map(x1,x2) weight: 0 t() weight: 0 false() weight: 0 app❆1_D(x1) weight: 0 app❆1_-(x1) weight: 0 D() weight: 0 app❆2_-(x1,x2) weight: (/ 1 2) + x1 + x2 true() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: 0 0() weight: 0 app❆2_+(x1,x2) weight: (/ 1 2) + x1 + x2 nil() weight: 0 app❆1_filter(x1) weight: 0 -() weight: 0 #app(x1,x2) weight: 0 map() weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: 0 #app❆1_D(x1) weight: x1 app❆2_filter2(x1,x2) weight: 0 #app❆2_filter(x1,x2) weight: 0 app❆1_*(x1) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: 0 filter() weight: 0 +() weight: 0 app❆1_+(x1) weight: 0 app❆1_filter2(x1) weight: 0 app❆1_cons(x1) weight: 0 app❆3_filter2(x1,x2,x3) weight: 0 *() weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #7 #8 #12 #13 #15 #16 Number of SCCs: 1, DPs: 8, edges: 15 SCC { #2..6 #10 #11 #14 } Removing DPs: Order(PosReal,>,Sum)... succeeded. 1() weight: 0 #app❆2_map(x1,x2) weight: (/ 1 4) + x1 app❆1_map(x1) weight: (/ 1 2) + x1 constant() weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_*(x1,x2) weight: (/ 1 4) app❆2_map(x1,x2) weight: 0 t() weight: 0 false() weight: 0 app❆1_D(x1) weight: 0 app❆1_-(x1) weight: 0 D() weight: 0 app❆2_-(x1,x2) weight: (/ 1 4) true() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: 0 0() weight: 0 app❆2_+(x1,x2) weight: (/ 1 4) nil() weight: 0 app❆1_filter(x1) weight: (/ 1 2) + x1 -() weight: 0 #app(x1,x2) weight: x1 map() weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: (/ 1 2) + x2 #app❆1_D(x1) weight: 0 app❆2_filter2(x1,x2) weight: 0 #app❆2_filter(x1,x2) weight: (/ 1 4) + x1 app❆1_*(x1) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 1 4) filter() weight: 0 +() weight: 0 app❆1_+(x1) weight: 0 app❆1_filter2(x1) weight: 0 app❆1_cons(x1) weight: 0 app❆3_filter2(x1,x2,x3) weight: (/ 3 4) + x2 *() weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #2..4 #6 #10 #11 #14 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #5 } Removing DPs: Order(PosReal,>,Sum)... succeeded. 1() weight: 0 #app❆2_map(x1,x2) weight: (/ 1 4) + x2 app❆1_map(x1) weight: (/ 1 2) constant() weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_*(x1,x2) weight: (/ 1 4) app❆2_map(x1,x2) weight: 0 t() weight: 0 false() weight: 0 app❆1_D(x1) weight: 0 app❆1_-(x1) weight: 0 D() weight: 0 app❆2_-(x1,x2) weight: (/ 1 4) true() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: 0 0() weight: 0 app❆2_+(x1,x2) weight: (/ 1 4) nil() weight: 0 app❆1_filter(x1) weight: (/ 1 2) -() weight: 0 #app(x1,x2) weight: 0 map() weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: (/ 1 2) #app❆1_D(x1) weight: 0 app❆2_filter2(x1,x2) weight: 0 #app❆2_filter(x1,x2) weight: (/ 1 4) app❆1_*(x1) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 1 4) + x2 filter() weight: 0 +() weight: 0 app❆1_+(x1) weight: 0 app❆1_filter2(x1) weight: 0 app❆1_cons(x1) weight: 0 app❆3_filter2(x1,x2,x3) weight: (/ 3 4) *() weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #5 Number of SCCs: 0, DPs: 0, edges: 0 YES