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)?
Proving a language is not Turing-recognizable by reduction from $D = \{\langle M\rangle \mid M \text{ rejects input }\langle M\rangle\}$
computability;turing machines;reductions