title: proving if a Turnig machine accept a string is undecidable
body: <p>I have seen the proof of </p>
  
  <pre><code>ATM = {〈M,w〉 | M is a TM and M accepts w} is undecidable.
  </code></pre>
  
  <p>initially we build another Turing machine</p>
  
  <p><code>H</code> with input <code>&lt;M,w&gt;</code> it accept if <code>M accept w otherwise reject</code> 
  then we make another Turing machine </p>
  
  <pre><code>D which on input &lt;M&gt;
  1.run H on &lt;M,&lt;M&gt;&gt;
  2.output the opposite of what H outputs. 
  </code></pre>
  
  <p><code>That is if H accepts reject and if H reject accept</code></p>
  
  <p>I dont understand how is it possible that a Turing machine as input gets its own description and then reject it! Can you please explain it?</p>