subsets of infinite recursive sets A recent exam question went as follows:


  
  $A$ is an infinite recursively enumerable set. Prove that $A$ has an infinite recursive subset.
  Let $C$ be an infinite recursive subset of $A$. Must $C$ have a subset that is not recursively enumerable?
  


I answered 1. already. Regarding 2., I answered affirmatively and argued as follows. 

Suppose that all the subsets of $C$ were recursively enumerable. Since $C$ is infinite, the power set of $C$ is uncountable, so by assumption there would be uncountably many recursively enumerable sets. But the recursively enumerable sets are in one-to-one correspondence with the Turing machines that recognize them, and Turing machines are enumerable. Contradiction. So $C$ must have a subset that is not recursively enumerable.

Is this correct?
It is correct. 

Every infinite set has an undecidable subset, you can use the cardinality argument: $\aleph_0\leq C \implies \aleph_0 &lt; 2^C$. In fact most of its subsets are undecidable (and you can replace undecidable with any countable class of languages, e.g. c.e., arithmetical, analytical, ...).

The bad thing about this argument is that it doesn't give any information about how difficult the subset is. We usually want a subset which is as easy as possible. One way to get this is using a diagonalization similar to the cardinality argument using the fact that $C$ is decidable:

Define $D = \{ i \in C \mid i \notin W_i \}$, where $W_i$ is the $i$th c.e. set. Obviously $D \subseteq C$. Moreover $D$ can be solved with an oracle for $C$ and $K = \{ i \mid i\notin W_i\}$. So if $C$ is decidable then $D$ is a co-c.e. language.