MAYBE Trs: { shuffle(x) -> shuff(x, nil()), head(add(n, x)) -> n, app(nil(), y) -> y, app(add(n, x), y) -> add(n, app(x, y)), null(nil()) -> true(), null(add(n, x)) -> false(), if(true(), x, y, z) -> y, if(false(), x, y, z) -> shuff(reverse(tail(x)), z), tail(nil()) -> nil(), tail(add(n, x)) -> x, reverse(nil()) -> nil(), reverse(add(n, x)) -> app(reverse(x), add(n, nil())), shuff(x, y) -> if(null(x), x, y, app(y, add(head(x), nil())))} Comment: We consider a duplicating trs. FAIL: Open