I'm having a really hard time understanding some of these concepts. I've read them over from several different sources and still can't reach the a-ha moment.
I need to prove a language $L$ is not Turing-recognizable by giving a reduction from the following language:
$$D = \{\langle M\rangle \mid M \text{ rejects input }\langle M\rangle\}\,,$$
where $M$ is a Turing machine, and $\langle M\rangle$ is a binary encoding of $M$, and it is already assumed $M$ is neither decidable nor recognizable.
Most of the things I've read show how to prove a language is undecidable, but not unrecognizable. How would it be different?
I've encountered the following that I feel I can modify for my problem:
$$\mathrm{A_{TM}} = \{\langle M,w\rangle \mid M \text{ accepts }w\}\,.$$
$D$ reduces to $\mathrm{A_{TM}}$. Consider the computable function that maps $\langle M\rangle$ to $\langle M',w\rangle$, where $w=\langle M\rangle$ and $M'$ is a machine that accepts if and only if $M$ rejects. Therefore, $\mathrm{A_{TM}}$ is undecidable.
But I'm not really sure how to understand it, in plain English. Could someone explain it? Plus, how could I change this to show $\mathrm{A_{TM}}$ is unrecognizable (even if it is recognizable)?