I see the expression
$$ (f(x) + g(x))^k = O(f^k(x)) + O(g^k(x)) (x \in S) $$ for any set $S$.
in the Introduction section of Asymptotic Methods in Analysis by N.G. de Bruijn and wonder if the proof it provides is consistence to the definition it gave previously.
The definition it provided earlier would read the equality as:
There exists functions $h, l$ such that $h(x) = O(f^k(x))$ and $l(x) = O(g^k(x))$ $(x \in S)$ with $(f(x) + g(x))^k = h(x) + l(x)$.
However, the proof that it provides only shows
$|(f(x) + g(x))^k| \leq 2^k |f(x)|^k + 2^k |g(x)|^k$ for $x \in S$.
But what would be the functions $h$ and $l$ in this case following the previous definition?
Doubts follow next: When one says $f(x) = O(g(x)) + O(h(x))$ for $x \in S$, then is it always enough to simply show $|f(x)| \leq A|g(x)| + B|h(x)|$ for some constants $A, B$? Or do we have to find explicitly a decomposition of $f$ with two functions that are $O(g)$ and $O(h)$ respectively? Or are these two ways somehow the same?


Let $f, g, h : S \to \mathbb{R}$. We show that the followings are equivalent:
Proof. $(2) \implies (1)$ is trivial. So it suffices to prove $(1) \implies (2)$. To this end, assume
$$ |f(x)| \leq A|g(x)| + B|h(x)| \tag{*}$$
holds for all $x \in S$. Then we choose a constant $C$ so that $C > A$, and define $a, b : S \to \mathbb{R}$ by
$$ a(x) = \begin{cases} f(x), & |f(x)| \leq C|g(x)| \\ 0, & |f(x)| > C|g(x)| \end{cases}, \qquad b(x) = \begin{cases} 0, & |f(x)| \leq C|g(x)| \\ f(x), & |f(x)| > C|g(x)| \end{cases} $$
From the definition, it is clear that $f = a + b$ and $a = \mathcal{O}(g)$. To show $b = \mathcal{O}(h)$, it suffices to investigate the case $|f(x)| > C|g(x)|$. Assuming this and invoking the assumption $\text{(*)}$, we get $|g(x)| \leq \frac{B}{C - A}|h(x)|$. Plugging this back to $\text{(*)}$, we get
$$ |b(x)| = |f(x)| \leq \left(\tfrac{AB}{C-A} + B\right)|h(x)|. $$
This is enough to conclude $b = \mathcal{O}(h)$.