You do realize that it's quite easy to solve the halting problem in most cases, right?
The halting problem is unsolvable because _very particular_ (and pathological) cases are unsolvable. If a process is in a loop between the same instructions at the same states, it's very easy to tell that it's not going to halt -- the only challenge is that you can't make this determination for all processes all the time.
Mathematically, note that the concept of an oracle for the halting problem is well-defined (and a useful concept).
The halting problem is unsolvable because _very particular_ (and pathological) cases are unsolvable. If a process is in a loop between the same instructions at the same states, it's very easy to tell that it's not going to halt -- the only challenge is that you can't make this determination for all processes all the time.
Mathematically, note that the concept of an oracle for the halting problem is well-defined (and a useful concept).