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