Given a language $L$, I sometimes try to find a subset of $L' \subseteq L$ which I can prove is undecidable. I conclude that if a subset of $L$ is undecidable, then $L$ must be undecidable as well. Is this correct for arbitrary languages $L$ and $L' \subseteq L$?
What if someone said: $L'$ could be empty (we don't know due to the undecidability of $L'$), and we cannot conclude anything about $L$ from $L' = \varnothing$, therefore the proof is insufficient. Is this a valid point?
For example, in order to prove that the language $$L = \left\{ w : M_w \text{ halts on a a finite set of inputs} \right\}$$ is undecidable ($M_w$ is a turing machine constructed from $w$), I use the fact that $L \text{ is undecidable} \iff L^c \text{ is undecidable}$. $L^c$ can be described as $$L^c = \left\{ w : M_w \text{ halts on an infinite set of inputs} \right\}$$ and $$L' = \left\{ w : M_w \text{ halts on all inputs } \Sigma^* \right\}$$ can be considered a subset of $L^c$. Using reduction, I can then prove that $L'$ is undecidable. If my assumption about subsets is correct, then $L^c$ must be undecidable as well, and therefore $L$ is undecidable.
(I know that the undecidability of the above language can be proven simpler, but I need an example for the use of subsets.)