Cantor Theorem assumes set is non-empty?

No. The proof assumes nothing.

If $f\colon A\to\mathcal P(A)$ is any function, then $A_f=\{a\in A\mid a\notin f(a)\}$ is not in the range of $f$.

  • If $A=\varnothing$, then the only function with the empty domain is $\varnothing$ itself, which has an empty range. Then $A_f=\varnothing$, but $\varnothing\notin\operatorname{rng}(\varnothing)$. So we're fine.
  • If $A_f$ is empty, e.g. $f(a)=\{a\}$, then it just means that no element is mapped to the empty set. This is an extension of the first case, where indeed no element is mapped to the empty set.

In either case, it's fine, since $\varnothing$ is indeed a subset of $A$ and therefore an element of $\mathcal P(A)$.


Assuming this is your formulation of Cantor's Theorem:

For any set $S$, there is no onto mapping from $S$ to its power set.

or some equivalent formulation, let's see what happens if $S$ is empty.

If $S$ is empty, that is, of cardinality zero, then we see that its power set contains one element - the empty set. We can see no surjection exists from $\emptyset$ to $\mathcal{P}(\emptyset)$ through some work.

If this doesn't help, I suggest updating your question with the formulation of Cantor's Theorem you are looking at and details of the proof you see.