# Importance of space constructability in time space relation in complexity

I am reading Arora-Barak's Complexity book. In Chapter 4, they state and prove the following theorem.

Why $$S$$ should be space constructible? Wouldn't all three containments of theorem hold, even if $$S$$ is not space constructible?

My other question is about Remark 4.3, the book claims that if $$S$$ is space constructible then you can make an $$NSPACE(S(n))$$ machine halt on every sequence of non-deterministic choices by keeping a counter till $$2^{O(S(n))}$$. I am not sure how we can keep such a counter in $$S(n)$$ space. The space constructability of $$S$$ implies that we can compute $$S(n)$$ in $$O(S(n))$$ space, not $$2^{O(S(n))}$$ in $$O(S(n))$$ space.

Regarding the second question, suppose that you computed $$S(n)$$ (in binary), and are interested to compute $$2^{CS(n)}$$. First, multiply $$S(n)$$ by $$C$$; this uses $$O(\log S(n))$$ space. Second, count $$CS(n)$$ spaces, fill them with zeroes, and add a one to the left. You have computed the binary representation of $$2^{CS(n)}$$, using additional $$S(n)+1$$ space.