>Let X be a set of points not all of which are collinear. Then, there are two points a, b in X such that the line l passing through X only passes through a and b.
I don't see how this rephrasing changes anything. Of course there are two points a and b because again, the definition of the problem leads naturally, obviously, and definitionally to this result.
The other thread above helped me. You can have as many collinear points as you want as long as at least one point in the set is non-collinear.
Consider a 3x3 grid. It satisfies this argument.
Not all points being collinear does NOT mean that all 3-tuples of points are non-collinear! The hypothesis of the theorem is the former. And what it proves is that there is at least one such 3-tuple.