Let ci = f(bi). Let vn be the sum of cibi, as i runs from 1 to n. Use the linear properties of f to show f(vn) = the sum of ci2, as i runs from 1 to n.
Since f is bounded, let k be a bound on f. Now |f(vn)| is no larger than k×|vn|. Replace |vn| with the square root of the sum of squares. Put this all together and get this.
f(vn) ≤ k × sqrt(f(vn))
f(vn) ≤ k2
This applies in the limit, hence ci forms a square summable sequence. Let u be the infinite sum of cibi.
Let aibi be the representation of an arbitrary element x in S. Since f is continuous, f(x) becomes the limit of f applied to the partial sums. This becomes the sum over aici. The same formula appears if you evaluate the dot product of x and u. Therefore f(S) = S.u.
Let x have norm 1, and apply cauchy schwarz, and x.u has norm bounded by |u|. The bound on f is no larger than |u|. Now f(u) = u.u = |u|2, hence the bound on f is precisely |u|.
Suppose S.u, a continuous linear map, equals S.v for some other vector v. apply u-v to S and get 0. However, (u-v).(u-v) is nonzero, hence each linear function from S into R is S.u for a unique u. The bound on such a function is |u|, and is realized when u is dotted with itself.