I am trying to understand intuitively how the halting set $K := \{(i, x) \mid$ program $i$ halts when run on input $x\}$ is recursively enumerable.
Is there a simple explanation which says why this is? I'm not looking for a proof or anything that contains too many technical terms. One way that I was told to think about it was if you plot Turing machines on the $x$-axis and time on the $y$-axis, you can sort of think about in a diagonalization proof sort of way. I might have missed something and I want to fully understand this way of thinking.
Consider the program which takes a pair $(i,x)$ and runs program $i$ on input $x$. The set of pairs $(i,x)$ for which this program halts is precisely $K$, so $K$ is recursively enumerable.