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(app(curry(),f),x),y) -> app(app(f,x),y) 4: add() -> app(curry(),plus()) Number of strict rules: 4 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❆3_curry(f,x,y) -> app(app(f,x),y) 4: add() -> app❆1_curry(plus()) 5: app(plus(),_1) ->= app❆1_plus(_1) 6: app(app❆1_plus(_1),_2) ->= app❆2_plus(_1,_2) 7: app(curry(),_1) ->= app❆1_curry(_1) 8: app(app❆1_curry(_1),_2) ->= app❆2_curry(_1,_2) 9: app(app❆2_curry(_1,_2),_3) ->= app❆3_curry(_1,_2,_3) 10: app(s(),_1) ->= app❆1_s(_1) Number of strict rules: 4 Direct Order(PosReal,>,Poly) ... removes: 1 5 10 7 6 2 s() weight: 0 app❆1_plus(x1) weight: (/ 1 4) + 2 * x1 app❆2_plus(x1,x2) weight: (/ 61225 2) + 2 * x1 + x2 curry() weight: 0 app❆3_curry(x1,x2,x3) weight: 61225 + x1 + 2 * x2 + 2 * x3 0() weight: 0 app❆1_curry(x1) weight: x1 plus() weight: 0 app❆2_curry(x1,x2) weight: (/ 61225 2) + x1 + 2 * x2 add() weight: 0 app❆1_s(x1) weight: (/ 1 4) + x1 app(x1,x2) weight: (/ 61225 2) + x1 + 2 * x2 Number of strict rules: 2 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #app(app❆2_curry(_1,_2),_3) ->? #app❆3_curry(_1,_2,_3) #2: #app❆3_curry(f,x,y) -> #app(app(f,x),y) #3: #app❆3_curry(f,x,y) -> #app(f,x) Number of SCCs: 1, DPs: 3, edges: 4 SCC { #1..3 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #app❆3_curry(x1,x2,x3) weight: (/ 1 2) + x1 s() weight: 0 app❆1_plus(x1) weight: 0 app❆2_plus(x1,x2) weight: 0 curry() weight: 0 app❆3_curry(x1,x2,x3) weight: (/ 1 2) + x1 0() weight: 0 #app(x1,x2) weight: x1 app❆1_curry(x1) weight: (/ 1 2) + x1 plus() weight: 0 app❆2_curry(x1,x2) weight: (/ 3 4) + x1 #add() weight: 0 add() weight: 0 app❆1_s(x1) weight: 0 app(x1,x2) weight: (/ 1 4) + x1 Usable rules: { 3 8 9 } Removed DPs: #1..3 Number of SCCs: 0, DPs: 0, edges: 0 YES