title: How does this proof, that the halting problem is undecidable, work?
body: <p>I'm going over the proof for The Halting Problem in <em>Intro to the Theory of Computation</em> by Sipser and my main concern is about the proof below: </p>
  
  <p>If TM M doesn't know when it's looping (it can't accept or reject which is why a TM is Turing Recognizable for all strings), then how would could the decider H decide if M could possibly be in a loop? The same problem will carry through when TM D does its processing.</p>
  
  <p><img src="https://i.stack.imgur.com/fXjhV.png" alt="the halting problem is undecideable"></p>