If g(0)=0, 2g(x)<g(2x)⇒2g(0)<g(0), so g(0)<0, contradicting the initial premise.
Let P(p,g(p)) be an arbitrary point on g(x). Let a function f(x) be such that f(0)=g(0)=0 and f(p)=g(p), and f(x)>g(x) | 0<x<p. This defines convexity.
Also, f(a)>g(b)⇒a>b (monotonic increasing) for all a,b in the domain of x.
What we have is the arbitrary secant OP of the curve g(x) intersected by f(x) at O(0,0) and P(p,g(p)). OP is a segment of f(x)=xg(p)/p. (When x=0, f(x)=0, and when x=p, f(x)=f(p)=g(p).)
Now take a point x=p/2. We know that f(p/2)>g(p/2) because of the definition of convexity.
But f(p/2)=(p/2)g(p)/p=g(p)/2. Therefore, f(p/2)= g(p)/2>g(p/2).
Since p is arbitrary we can replace it with 2x, and g(2x)/2>g(x), that is, g(2x)>2g(x) or 2g(x)<g(2x) QED. But we have to exclude x=0 when g(0)=0.