Input TRS: 1: app(app(twice(),f),x) -> app(f,app(f,x)) 2: app(app(map(),f),nil()) -> nil() 3: app(app(map(),f),app(app(cons(),h),t)) -> app(app(cons(),app(f,h)),app(app(map(),f),t)) 4: app(app(fmap(),nil()),x) -> nil() 5: app(app(fmap(),app(app(cons(),f),t_f())),x) -> app(app(cons(),app(f,x)),app(app(fmap(),t_f()),x)) Number of strict rules: 5 Direct Order(PosReal,>,Poly) ... failed. Freezing app 1: app❆2_twice(f,x) -> app(f,app(f,x)) 2: app❆2_map(f,nil()) -> nil() 3: app❆2_map(f,app❆2_cons(h,t)) -> app❆2_cons(app(f,h),app❆2_map(f,t)) 4: app❆2_fmap(nil(),x) -> nil() 5: app❆2_fmap(app❆2_cons(f,t_f()),x) -> app❆2_cons(app(f,x),app❆2_fmap(t_f(),x)) 6: app(fmap(),_1) ->= app❆1_fmap(_1) 7: app(app❆1_fmap(_1),_2) ->= app❆2_fmap(_1,_2) 8: app(cons(),_1) ->= app❆1_cons(_1) 9: app(app❆1_cons(_1),_2) ->= app❆2_cons(_1,_2) 10: app(twice(),_1) ->= app❆1_twice(_1) 11: app(app❆1_twice(_1),_2) ->= app❆2_twice(_1,_2) 12: app(map(),_1) ->= app❆1_map(_1) 13: app(app❆1_map(_1),_2) ->= app❆2_map(_1,_2) Number of strict rules: 5 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #app(app❆1_map(_1),_2) ->? #app❆2_map(_1,_2) #2: #app(app❆1_twice(_1),_2) ->? #app❆2_twice(_1,_2) #3: #app(app❆1_fmap(_1),_2) ->? #app❆2_fmap(_1,_2) #4: #app❆2_fmap(app❆2_cons(f,t_f()),x) -> #app(f,x) #5: #app❆2_fmap(app❆2_cons(f,t_f()),x) -> #app❆2_fmap(t_f(),x) #6: #app❆2_map(f,app❆2_cons(h,t)) -> #app(f,h) #7: #app❆2_map(f,app❆2_cons(h,t)) -> #app❆2_map(f,t) #8: #app❆2_twice(f,x) -> #app(f,app(f,x)) #9: #app❆2_twice(f,x) -> #app(f,x) Number of SCCs: 1, DPs: 8, edges: 19 SCC { #1..4 #6..9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #app❆2_map(x1,x2) weight: (/ 1 4) + x1 t_f() weight: 0 app❆2_fmap(x1,x2) weight: (/ 1 2) + x2 #app❆2_twice(x1,x2) weight: x1 app❆1_map(x1) weight: (/ 1 2) + x1 twice() weight: 0 app❆1_fmap(x1) weight: (/ 1 2) + x1 app❆2_map(x1,x2) weight: (/ 1 2) + x1 + x2 app❆2_twice(x1,x2) weight: (/ 1 2) + x2 fmap() weight: 0 #app❆2_fmap(x1,x2) weight: x1 nil() weight: 0 #app(x1,x2) weight: x1 map() weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 1 2) + x1 + x2 app❆1_cons(x1) weight: (/ 1 2) + x1 app❆1_twice(x1) weight: x1 app(x1,x2) weight: (/ 1 4) Usable rules: { } Removed DPs: #1 #3 #4 #6 Number of SCCs: 2, DPs: 4, edges: 5 SCC { #7 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #app❆2_map(x1,x2) weight: (/ 1 4) + x2 t_f() weight: 0 app❆2_fmap(x1,x2) weight: (/ 1 2) + x2 #app❆2_twice(x1,x2) weight: 0 app❆1_map(x1) weight: (/ 1 2) + x1 twice() weight: 0 app❆1_fmap(x1) weight: (/ 1 2) + x1 app❆2_map(x1,x2) weight: (/ 1 2) + x1 + x2 app❆2_twice(x1,x2) weight: (/ 1 2) + x2 fmap() weight: 0 #app❆2_fmap(x1,x2) weight: 0 nil() weight: 0 #app(x1,x2) weight: 0 map() weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 1 2) + x1 + x2 app❆1_cons(x1) weight: (/ 1 2) + x1 app❆1_twice(x1) weight: x1 app(x1,x2) weight: (/ 1 4) Usable rules: { } Removed DPs: #7 Number of SCCs: 1, DPs: 3, edges: 4 SCC { #2 #8 #9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #app❆2_map(x1,x2) weight: (/ 1 4) t_f() weight: 0 app❆2_fmap(x1,x2) weight: (/ 3 4) + x2 #app❆2_twice(x1,x2) weight: (/ 1 4) + x1 app❆1_map(x1) weight: (/ 3 4) + x1 twice() weight: 0 app❆1_fmap(x1) weight: (/ 3 4) + x1 app❆2_map(x1,x2) weight: (/ 3 4) + x1 + x2 app❆2_twice(x1,x2) weight: (/ 3 4) + x2 fmap() weight: 0 #app❆2_fmap(x1,x2) weight: 0 nil() weight: 0 #app(x1,x2) weight: x1 map() weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 3 4) + x1 + x2 app❆1_cons(x1) weight: (/ 3 4) + x1 app❆1_twice(x1) weight: (/ 1 2) + x1 app(x1,x2) weight: (/ 1 2) Usable rules: { } Removed DPs: #2 #8 #9 Number of SCCs: 0, DPs: 0, edges: 0 YES