Point. Not sure how to fix that.
Maybe defined the Reasonable’ set of programs to be the maximal Reasonable set? That is, a set is Reasonable if it has the property as described, then take the maximal such set to be the Reasonable’ set (I’m pretty sure this is guaranteed to exist by Zorn’s Lemma, but it’s been a while...)
By “implement it”, you mean, one can’t verify something is Reasonable on a halting TM? Not in general, of course. You can for certain machines, though, particularly if they come with their own proofs.
Note that the definition is that Reasonable programs cooperate with those they can prove are Reasonable, not programs which are Reasonable.