Input TRS: 1: app(nil(),y) -> y 2: app(add(n,x),y) -> add(n,app(x,y)) 3: reverse(nil()) -> nil() 4: reverse(add(n,x)) -> app(reverse(x),add(n,nil())) 5: shuffle(nil()) -> nil() 6: shuffle(add(n,x)) -> add(n,shuffle(reverse(x))) Number of strict rules: 6 Direct Order(PosReal,>,Poly) ... removes: 5 reverse(x1) weight: x1 shuffle(x1) weight: (/ 1 4) + x1 nil() weight: 0 add(x1,x2) weight: (/ 1 4) + 2 * x1 + x2 app(x1,x2) weight: x1 + x2 Number of strict rules: 5 Direct Order(PosReal,>,Poly) ... removes: 6 reverse(x1) weight: x1 shuffle(x1) weight: (/ 58721 4) + 2 * x1 nil() weight: 0 add(x1,x2) weight: (/ 1 4) + x1 + x2 app(x1,x2) weight: x1 + x2 Number of strict rules: 4 Direct Order(PosReal,>,Poly) ... removes: 4 1 reverse(x1) weight: 2 * x1 shuffle(x1) weight: (/ 117441 8) + 2 * x1 nil() weight: 0 add(x1,x2) weight: (/ 1 4) + x1 + x2 app(x1,x2) weight: (/ 1 8) + x1 + x2 Number of strict rules: 2 Direct Order(PosReal,>,Poly) ... removes: 2 reverse(x1) weight: 2 * x1 shuffle(x1) weight: (/ 58721 4) + 2 * x1 nil() weight: 0 add(x1,x2) weight: (/ 1 4) + x1 + x2 app(x1,x2) weight: (/ 1 4) + 2 * x1 + x2 Number of strict rules: 1 Direct Order(PosReal,>,Poly) ... removes: 3 reverse(x1) weight: (/ 1 8) + 2 * x1 shuffle(x1) weight: (/ 117441 8) + x1 nil() weight: 0 add(x1,x2) weight: (/ 1 4) + x1 + x2 app(x1,x2) weight: (/ 1 8) + 2 * x1 + x2 Number of strict rules: 0 YES