Input TRS: 1: ap(ap(g(),x),y) -> y 2: ap(f(),x) -> ap(f(),app(g(),x)) Number of strict rules: 2 Direct Order(PosReal,>,Poly) ... removes: 1 ap(x1,x2) weight: (/ 1 4) + 2 * x1 + x2 f() weight: 0 g() weight: 0 app(x1,x2) weight: x1 + x2 Number of strict rules: 1 Direct Order(PosReal,>,Poly) ... failed. Freezing ap 2: ap❆1_f(x) -> ap❆1_f(app(g(),x)) 3: ap(f(),_1) ->= ap❆1_f(_1) Number of strict rules: 1 Direct Order(PosReal,>,Poly) ... removes: 3 ap(x1,x2) weight: (/ 1 2) + x1 + x2 f() weight: 0 ap❆1_f(x1) weight: x1 g() weight: 0 app(x1,x2) weight: x1 + x2 Number of strict rules: 1 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #ap❆1_f(x) -> #ap❆1_f(app(g(),x)) Number of SCCs: 1, DPs: 1, edges: 1 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)... Order(PosReal,>,Sum-Sum; NegReal,≥,Sum)... Order(PosReal,>,MaxSum-Sum; NegReal,≥,Sum)... failed. Removing edges: failed. Finding a loop... found. #ap❆1_f(x) -#1-> #ap❆1_f(app(g(),x)) --->* #ap❆1_f(app(g(),x)) Looping with: [ x := app(g(),x); ] NO