# Recursively enumerable sets: the halting set

Wikipedia on the Halting Problem:

The conventional representation of decision problems is the set of objects possessing the property in question.

The halting set $K := \{ (i, x) ~|~ \textrm{program$i$halts when run on input } x\}$ represents the halting problem.

(1) This set is recursively enumerable, which means there is a computable function that lists all of the pairs (i, x) it contains.

(2) However, the complement of this set is not recursively enumerable.

If possible, could someone provide a proof for (1) and (2)?