Input TRS: 1: app(app(:(),app(app(:(),x),y)),z) -> app(app(:(),x),app(app(:(),y),z)) 2: app(app(:(),app(app(+(),x),y)),z) -> app(app(+(),app(app(:(),x),z)),app(app(:(),y),z)) 3: app(app(:(),z),app(app(+(),x),app(f,y))) -> app(app(:(),app(app(g(),z),y)),app(app(+(),x),a())) 4: app(app(map(),f),nil()) -> nil() 5: app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) 6: app(app(filter(),f),nil()) -> nil() 7: app(app(filter(),f),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(f,x)),f),x),xs) 8: app(app(app(app(filter2(),true()),f),x),xs) -> app(app(cons(),x),app(app(filter(),f),xs)) 9: app(app(app(app(filter2(),false()),f),x),xs) -> app(app(filter(),f),xs) Number of strict rules: 9 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #app(app(:(),app(app(+(),x),y)),z) -> #app(app(+(),app(app(:(),x),z)),app(app(:(),y),z)) #2: #app(app(:(),app(app(+(),x),y)),z) -> #app(+(),app(app(:(),x),z)) #3: #app(app(:(),app(app(+(),x),y)),z) -> #app(app(:(),x),z) #4: #app(app(:(),app(app(+(),x),y)),z) -> #app(:(),x) #5: #app(app(:(),app(app(+(),x),y)),z) -> #app(app(:(),y),z) #6: #app(app(:(),app(app(+(),x),y)),z) -> #app(:(),y) #7: #app(app(app(app(filter2(),false()),f),x),xs) -> #app(app(filter(),f),xs) #8: #app(app(app(app(filter2(),false()),f),x),xs) -> #app(filter(),f) #9: #app(app(filter(),f),app(app(cons(),x),xs)) -> #app(app(app(app(filter2(),app(f,x)),f),x),xs) #10: #app(app(filter(),f),app(app(cons(),x),xs)) -> #app(app(app(filter2(),app(f,x)),f),x) #11: #app(app(filter(),f),app(app(cons(),x),xs)) -> #app(app(filter2(),app(f,x)),f) #12: #app(app(filter(),f),app(app(cons(),x),xs)) -> #app(filter2(),app(f,x)) #13: #app(app(filter(),f),app(app(cons(),x),xs)) -> #app(f,x) #14: #app(app(map(),f),app(app(cons(),x),xs)) -> #app(app(cons(),app(f,x)),app(app(map(),f),xs)) #15: #app(app(map(),f),app(app(cons(),x),xs)) -> #app(cons(),app(f,x)) #16: #app(app(map(),f),app(app(cons(),x),xs)) -> #app(f,x) #17: #app(app(map(),f),app(app(cons(),x),xs)) -> #app(app(map(),f),xs) #18: #app(app(:(),z),app(app(+(),x),app(f,y))) -> #app(app(:(),app(app(g(),z),y)),app(app(+(),x),a())) #19: #app(app(:(),z),app(app(+(),x),app(f,y))) -> #app(:(),app(app(g(),z),y)) #20: #app(app(:(),z),app(app(+(),x),app(f,y))) -> #app(app(g(),z),y) #21: #app(app(:(),z),app(app(+(),x),app(f,y))) -> #app(g(),z) #22: #app(app(:(),z),app(app(+(),x),app(f,y))) -> #app(app(+(),x),a()) #23: #app(app(:(),app(app(:(),x),y)),z) -> #app(app(:(),x),app(app(:(),y),z)) #24: #app(app(:(),app(app(:(),x),y)),z) -> #app(app(:(),y),z) #25: #app(app(:(),app(app(:(),x),y)),z) -> #app(:(),y) #26: #app(app(app(app(filter2(),true()),f),x),xs) -> #app(app(cons(),x),app(app(filter(),f),xs)) #27: #app(app(app(app(filter2(),true()),f),x),xs) -> #app(cons(),x) #28: #app(app(app(app(filter2(),true()),f),x),xs) -> #app(app(filter(),f),xs) #29: #app(app(app(app(filter2(),true()),f),x),xs) -> #app(filter(),f) Number of SCCs: 2, DPs: 9, edges: 30 SCC { #3 #5 #23 #24 } Removing DPs: Order(PosReal,>,Sum)... succeeded. a() weight: 0 false() weight: 0 true() weight: 0 filter2() weight: 0 :() weight: 0 nil() weight: 0 #app(x1,x2) weight: x1 map() weight: 0 cons() weight: 0 filter() weight: 0 +() weight: 0 g() weight: 0 app(x1,x2) weight: (/ 1 8) + x1 + x2 Usable rules: { } Removed DPs: #3 #5 #23 #24 Number of SCCs: 1, DPs: 5, edges: 14 SCC { #7 #13 #16 #17 #28 } Removing DPs: Order(PosReal,>,Sum)... succeeded. a() weight: 0 false() weight: 0 true() weight: 0 filter2() weight: 0 :() weight: 0 nil() weight: 0 #app(x1,x2) weight: x1 map() weight: 0 cons() weight: 0 filter() weight: 0 +() weight: 0 g() weight: 0 app(x1,x2) weight: (/ 1 8) + x1 + x2 Usable rules: { } Removed DPs: #7 #13 #16 #28 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #17 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. a() weight: 0 false() weight: 0 true() weight: 0 filter2() weight: 0 :() weight: 0 nil() weight: 0 #app(x1,x2) weight: max{0, (/ 1 4) + x2} map() weight: (/ 1 2) cons() weight: 0 filter() weight: 0 +() weight: 0 g() weight: 0 app(x1,x2) weight: max{(/ 1 4) + x2, x1} Usable rules: { } Removed DPs: #17 Number of SCCs: 0, DPs: 0, edges: 0 YES