Input TRS: 1: f(a()) -> g(h(a())) 2: h(g(x)) -> g(h(f(x))) 3: k(x,h(x),a()) -> h(x) 4: k(f(x),y,x) -> f(x) Number of strict rules: 4 Direct Order(PosReal,>,Poly) ... removes: 4 3 a() weight: 0 h(x1) weight: x1 k(x1,x2,x3) weight: (/ 1 2) + x1 + x2 + 2 * x3 f(x1) weight: x1 g(x1) weight: x1 Number of strict rules: 2 Direct Order(PosReal,>,Poly) ... failed. Freezing h 1: f(a()) -> g(h❆1_a()) 2: h❆1_g(x) -> g(h(f(x))) 5: h(a()) ->= h❆1_a() 6: h(g(_1)) ->= h❆1_g(_1) Number of strict rules: 2 Direct Order(PosReal,>,Poly) ... removes: 5 a() weight: 0 h(x1) weight: (/ 1 4) + x1 h❆1_a() weight: 0 k(x1,x2,x3) weight: x1 + x2 + x3 f(x1) weight: x1 h❆1_g(x1) weight: (/ 1 4) + x1 g(x1) weight: x1 Number of strict rules: 2 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #h❆1_g(x) -> #h(f(x)) #2: #h❆1_g(x) -> #f(x) #3: #h(g(_1)) ->? #h❆1_g(_1) Number of SCCs: 1, DPs: 2, edges: 2 SCC { #1 #3 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. a() weight: (/ 3 4) h(x1) weight: 0 h❆1_a() weight: (/ 1 4) k(x1,x2,x3) weight: 0 f(x1) weight: (/ 1 4) + x1 #h(x1) weight: x1 #h❆1_g(x1) weight: (/ 1 2) + x1 #f(x1) weight: 0 h❆1_g(x1) weight: 0 g(x1) weight: (/ 3 4) + x1 Usable rules: { 1 } Removed DPs: #1 #3 Number of SCCs: 0, DPs: 0, edges: 0 YES