Assume an array $X=[x_1,...,x_n]$ is given, where each $x\in X$ is an integer. Array $X$ is sorted if $x_1 \le ... \le x_n$. Typical sorting algorithms have a worst-case performance of $\mathcal{O}(n\log n)$, while in some models of computation, e.g., random-access machines, this can be reduced to $\mathcal{O}(n)$ under specific circumstances.
However, the statement
There exists an algorithm that sorts any $X$ in $\mathcal{O}(\log n)$ time in the worst-case.
seems like nonsense to me. Is there some rigorous refutation of the above statement? I am aware of high-level arguments such as
- "Just reading $X$ takes at least $\mathcal{O}(n)$ time"
- "The sorted array needs $\mathcal{O}(n)$ space, and the runtime of an algorithm is bounded from below by the space it needs"
but these arguments aren't really helpful for a rigorous refutation of the above statement. According to my understanding, such a refutation would need to show that
for every algorithm $A$ in every reasonable model of computation, there exists an $X$ such that $A$ does not correctly sort $X$ in $\mathcal{O}(\log n)$ time.
This is not homework, and I do not have a source for the above statement.