Show that if a convex $C$ has a supporting hyperplane at every point of its boundary, then it's convex

Exercise 2.27 in Boyd and Vanderberghe:

Suppose the set C is closed, has nonempty interior, and has a supporting hyperplane at every point in its boundary. Show that C is convex.

Seems to me one approach is to prove that the intersection of all the supporting hyperplanes is exactly C. Clearly this intersection contains C. Geometrically the other direction seems obvious, but any hint how to argue it rigorously?

Thanks!


Solution 1:

Hint: Suppose wlog 0 is in C. Suppose $p$ is not in C. Take $0 < t < 1$ such that $t p$ is on the boundary of C, and consider a supporting hyperplane at $t p$.

Solution 2:

Consider a hypothetical line segment that starts and ends at points p, q inside C, but temporarily passes outside C somewhere in the middle. To exit the set, the line segment must passes through the boundary at some point b, and the boundary hyperplane there separates p from q , thus a contradiction.

diagram

edit: some changes for clarity edit2: add image