Input TRS: 1: app(app(plus(),0()),y) -> y 2: app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) 3: app(app(times(),0()),y) -> 0() 4: app(app(times(),app(s(),x)),y) -> app(app(plus(),app(app(times(),x),y)),y) 5: app(app(app(curry(),g),x),y) -> app(app(g,x),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: inc() -> app(map(),app(app(curry(),plus()),app(s(),0()))) 9: double() -> app(map(),app(app(curry(),times()),app(s(),app(s(),0())))) Number of strict rules: 9 Direct Order(PosReal,>,Poly) ... failed. Freezing app 1: app❆2_plus(0(),y) -> y 2: app❆2_plus(app❆1_s(x),y) -> app❆1_s(app❆2_plus(x,y)) 3: app❆2_times(0(),y) -> 0() 4: app❆2_times(app❆1_s(x),y) -> app❆2_plus(app❆2_times(x,y),y) 5: app❆3_curry(g,x,y) -> app(app(g,x),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: inc() -> app❆1_map(app❆2_curry(plus(),app❆1_s(0()))) 9: double() -> app❆1_map(app❆2_curry(times(),app❆1_s(app❆1_s(0())))) 10: app(plus(),_1) ->= app❆1_plus(_1) 11: app(app❆1_plus(_1),_2) ->= app❆2_plus(_1,_2) 12: app(curry(),_1) ->= app❆1_curry(_1) 13: app(app❆1_curry(_1),_2) ->= app❆2_curry(_1,_2) 14: app(app❆2_curry(_1,_2),_3) ->= app❆3_curry(_1,_2,_3) 15: app(cons(),_1) ->= app❆1_cons(_1) 16: app(app❆1_cons(_1),_2) ->= app❆2_cons(_1,_2) 17: app(times(),_1) ->= app❆1_times(_1) 18: app(app❆1_times(_1),_2) ->= app❆2_times(_1,_2) 19: app(s(),_1) ->= app❆1_s(_1) 20: app(map(),_1) ->= app❆1_map(_1) 21: app(app❆1_map(_1),_2) ->= app❆2_map(_1,_2) Number of strict rules: 9 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #app❆2_plus(app❆1_s(x),y) -> #app❆2_plus(x,y) #2: #app(app❆1_plus(_1),_2) ->? #app❆2_plus(_1,_2) #3: #app(app❆2_curry(_1,_2),_3) ->? #app❆3_curry(_1,_2,_3) #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❆3_curry(g,x,y) -> #app(app(g,x),y) #7: #app❆3_curry(g,x,y) -> #app(g,x) #8: #app(app❆1_map(_1),_2) ->? #app❆2_map(_1,_2) #9: #app❆2_times(app❆1_s(x),y) -> #app❆2_plus(app❆2_times(x,y),y) #10: #app❆2_times(app❆1_s(x),y) -> #app❆2_times(x,y) #11: #app(app❆1_times(_1),_2) ->? #app❆2_times(_1,_2) Number of SCCs: 3, DPs: 8, edges: 14 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #app❆3_curry(x1,x2,x3) weight: 0 #app❆2_map(x1,x2) weight: 0 s() weight: 0 app❆1_map(x1) weight: 0 app❆1_plus(x1) weight: 0 app❆2_plus(x1,x2) weight: 0 app❆2_map(x1,x2) weight: 0 curry() weight: 0 #inc() weight: 0 app❆3_curry(x1,x2,x3) weight: 0 inc() weight: 0 0() weight: 0 #app❆2_plus(x1,x2) weight: x1 #double() weight: 0 double() weight: 0 times() weight: 0 nil() weight: 0 #app(x1,x2) weight: 0 map() weight: 0 app❆1_curry(x1) weight: 0 #app❆2_times(x1,x2) weight: 0 plus() weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: 0 app❆2_curry(x1,x2) weight: 0 app❆2_times(x1,x2) weight: 0 app❆1_s(x1) weight: (/ 1 2) + x1 app❆1_cons(x1) weight: 0 app❆1_times(x1) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #1 Number of SCCs: 2, DPs: 7, edges: 13 SCC { #10 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #app❆3_curry(x1,x2,x3) weight: 0 #app❆2_map(x1,x2) weight: 0 s() weight: 0 app❆1_map(x1) weight: 0 app❆1_plus(x1) weight: 0 app❆2_plus(x1,x2) weight: 0 app❆2_map(x1,x2) weight: 0 curry() weight: 0 #inc() weight: 0 app❆3_curry(x1,x2,x3) weight: 0 inc() weight: 0 0() weight: 0 #app❆2_plus(x1,x2) weight: 0 #double() weight: 0 double() weight: 0 times() weight: 0 nil() weight: 0 #app(x1,x2) weight: 0 map() weight: 0 app❆1_curry(x1) weight: 0 #app❆2_times(x1,x2) weight: x1 plus() weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: 0 app❆2_curry(x1,x2) weight: 0 app❆2_times(x1,x2) weight: 0 app❆1_s(x1) weight: (/ 1 2) + x1 app❆1_cons(x1) weight: 0 app❆1_times(x1) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #10 Number of SCCs: 1, DPs: 6, edges: 12 SCC { #3..8 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #app❆3_curry(x1,x2,x3) weight: (/ 3 8) + x1 + x2 #app❆2_map(x1,x2) weight: (/ 1 8) + x1 s() weight: 0 app❆1_map(x1) weight: (/ 1 4) + x1 app❆1_plus(x1) weight: (/ 1 8) app❆2_plus(x1,x2) weight: (/ 1 8) + x2 app❆2_map(x1,x2) weight: (/ 1 8) + x1 curry() weight: 0 #inc() weight: 0 app❆3_curry(x1,x2,x3) weight: (/ 1 2) + x1 + x2 + x3 inc() weight: 0 0() weight: 0 #app❆2_plus(x1,x2) weight: 0 #double() weight: 0 double() weight: 0 times() weight: 0 nil() weight: 0 #app(x1,x2) weight: x1 map() weight: 0 app❆1_curry(x1) weight: (/ 1 4) + x1 #app❆2_times(x1,x2) weight: 0 plus() weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 1 8) app❆2_curry(x1,x2) weight: (/ 1 2) + x1 + x2 app❆2_times(x1,x2) weight: (/ 1 8) + x2 app❆1_s(x1) weight: (/ 1 8) app❆1_cons(x1) weight: (/ 1 8) app❆1_times(x1) weight: (/ 1 8) app(x1,x2) weight: (/ 1 4) + x1 + x2 Usable rules: { 1..7 10..21 } Removed DPs: #3 #4 #6..8 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #5 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #app❆3_curry(x1,x2,x3) weight: (/ 3 8) #app❆2_map(x1,x2) weight: (/ 1 8) + x2 s() weight: 0 app❆1_map(x1) weight: (/ 1 4) + x1 app❆1_plus(x1) weight: (/ 1 8) app❆2_plus(x1,x2) weight: (/ 1 8) + x2 app❆2_map(x1,x2) weight: x1 curry() weight: 0 #inc() weight: 0 app❆3_curry(x1,x2,x3) weight: (/ 1 2) + x1 + x2 + x3 inc() weight: 0 0() weight: 0 #app❆2_plus(x1,x2) weight: 0 #double() weight: 0 double() weight: 0 times() weight: 0 nil() weight: 0 #app(x1,x2) weight: 0 map() weight: 0 app❆1_curry(x1) weight: (/ 1 4) + x1 #app❆2_times(x1,x2) weight: 0 plus() weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 1 8) + x2 app❆2_curry(x1,x2) weight: (/ 1 2) + x1 + x2 app❆2_times(x1,x2) weight: (/ 1 8) + x2 app❆1_s(x1) weight: (/ 1 8) app❆1_cons(x1) weight: (/ 1 8) app❆1_times(x1) weight: (/ 1 8) app(x1,x2) weight: (/ 1 4) + x1 + x2 Usable rules: { } Removed DPs: #5 Number of SCCs: 0, DPs: 0, edges: 0 YES