Input TRS: 1: f(nil()) -> nil() 2: f(.(nil(),y)) -> .(nil(),f(y)) 3: f(.(.(x,y),z)) -> f(.(x,.(y,z))) 4: g(nil()) -> nil() 5: g(.(x,nil())) -> .(g(x),nil()) 6: g(.(x,.(y,z))) -> g(.(.(x,y),z)) Number of strict rules: 6 Direct Order(PosReal,>,Poly) ... removes: 4 1 f(x1) weight: (/ 224801 8) + x1 nil() weight: 0 .(x1,x2) weight: (/ 1 8) + x1 + x2 g(x1) weight: (/ 1 8) + x1 Number of strict rules: 4 Direct Order(PosReal,>,Poly) ... removes: 2 f(x1) weight: (/ 224801 8) + 2 * x1 nil() weight: 0 .(x1,x2) weight: (/ 1 8) + x1 + x2 g(x1) weight: (/ 1 8) + x1 Number of strict rules: 3 Direct Order(PosReal,>,Poly) ... removes: 5 f(x1) weight: (/ 224801 8) + 2 * x1 nil() weight: 0 .(x1,x2) weight: (/ 1 8) + x1 + x2 g(x1) weight: (/ 1 8) + 2 * x1 Number of strict rules: 2 Direct Order(PosReal,>,Poly) ... failed. Freezing f g 3: f❆1_.(.(x,y),z) -> f❆1_.(x,.(y,z)) 6: g❆1_.(x,.(y,z)) -> g❆1_.(.(x,y),z) 7: g(.(_1,_2)) ->= g❆1_.(_1,_2) 8: f(.(_1,_2)) ->= f❆1_.(_1,_2) Number of strict rules: 2 Direct Order(PosReal,>,Poly) ... removes: 8 3 7 g❆1_.(x1,x2) weight: x1 + x2 f(x1) weight: 2 * x1 nil() weight: 0 .(x1,x2) weight: (/ 1 4) + x1 + x2 f❆1_.(x1,x2) weight: 2 * x1 + x2 g(x1) weight: 2 * x1 Number of strict rules: 1 Direct Order(PosReal,>,Poly) ... removes: 6 g❆1_.(x1,x2) weight: x1 + 2 * x2 f(x1) weight: 2 * x1 nil() weight: 0 .(x1,x2) weight: (/ 1 4) + x1 + x2 f❆1_.(x1,x2) weight: 2 * x1 + x2 g(x1) weight: 2 * x1 Number of strict rules: 0 YES