How to prove Big O, Omega and Theta asymptotic notations? I know the definitions of this notations

*

*Big $\mathcal{O} \; : \enspace T(n) \in \mathcal{O}(f(n))$ if and only if $∃ \, c, n_0$, such that $T(n) \leq c \cdot f(n) \enspace \forall \,n \geq n_0$.

*Big $\Omega \; : \enspace T(n) \in \Omega(f(n))$ if and only if $∃ \, c, n_0$, such that $T(n) \geq c \cdot f(n) \enspace \forall \,n \geq n_0$.

*Big $\Theta \; : \enspace T(n) \in \Theta(f(n))$ if and only if $∃ \, c_1, c_2, n_0$ such that $c_1 f(n) \leq T(n) \leq c_2 f(n) \enspace$ $\forall \,n \geq n_0$.

I'm having trouble manipulating this definitions to prove some notation for example:

*

*Suppose that $f = \Theta(g)$ and $g = \Theta(h)$.
Prove that $f = \Theta(h)$

*Suppose that $f$ and $g$ are two non-negative functions such that  $g = \mathcal{O}(f)$.
Prove that $f + g = \Theta(f)$.

Is there anything that could help me? I've read, watch videos but nothing helps me clarifying to prove these notations. Anything helps thanks. Also if you're a tutor and there's a way to set up a meeting it would help.
 A: Considering the first problem:
1.) Because $f \in \Theta(g)$ there must exist $c_1, c_2$ and $n_0$ such that
$$ c_1 g(n) \leq f(n) \leq c_2 g(n) \tag{1}$$
for all $n \geq n_0$.

2.) Because $g \in \Theta(h)$ there must exist $\tilde{c}_1, \tilde{c}_2$ and $\tilde{n}_0$ such that
$$ \tilde{c}_1 h(n) \leq g(n) \leq \tilde{c}_2 h(n) \tag{2}$$
for all $n \geq \tilde{n}_0$.

3.) Combining 1.) and 2.) yields
$$c_1 \tilde{c}_1 h(n) \leq f(n) \leq c_2 \tilde{c_2} h(n) \tag{3}$$
Therefore there exist $\hat{c}_1, \hat{c}_2$, namely $\hat{c}_1 = c_1 \tilde{c}_1$ and $\hat{c}_2 = c_2 \tilde{c}_2$ and a $\hat{n}_0 = \max \{ n_0, \tilde{n_0} \}$ such that $f$ satisfies the conditions for being an element of $\Theta(h)$, i.e. $f \in \Theta(h)$

P.S.: Why $\hat{n}_0 = \max \{ n_0, \tilde{n_0} \}$? Because you want both inequalites to hold, in order to insert them into each other. The first one holds for all $n \geq n_0$, the second one holds for all $n \geq \tilde{n}_0$ and therefore a combination of those two can only hold for all $n \geq \hat{n}_0 = \max \{ n_0, \tilde{n}_0 \}$

Edit 1 I numbered the inequalities for better reference.
Row $(1)$ consists of two inequalities, namely $c_1 g(n) \leq f(n)$ and $f(n) \leq c_2 g(n)$. These inequalities are true for all $n \geq n_0$.
Row $(2)$ consists again of two inequalities, namely $\tilde{c}_1 h(n) \leq g(n)$ and $g(n) \leq \tilde{c}_2 h(n)$. These inequalities are true for all $n \geq \tilde{n}_0$.
Note, that $n_0$ and $\tilde{n}_0$ do not necessarily have to be the same.
We insert the inequalities of $(1)$ and $(2)$ into each other to obtain $(3)$. This only makes sense if the inequalities we are inserting are indeed true.
But if $n_0 < \tilde{n}_0$, then row $(1)$ is still true for all $n \geq \tilde{n}_0$. Otherwise, if $n_0 > \tilde{n}_0$ then row $(2)$ is still true for all $n \geq n_0$. So you choose the greater of these two, i.e. $\max \{ n_0, \tilde{n}_0 \}$ in order for both rows $(1)$ and $(2)$ to hold. Then you have no problems combining them.
A: From scratch then:
Consider some arbitrary function $f$ and the "Big O" of $f$, i.e. $\mathcal{O}(f)$. This $\mathcal{O}(f)$ is a set, consisting of all functions that satisfy a certain condition. This condition somehow includes $f$. You have already given the definition of $\mathcal{O}(f)$, but I will rewrite it now:
$$\mathcal{O}(f) \enspace = \enspace \Big\{ \; g : \mathbb{N} \longrightarrow \mathbb{R} \; \Big| \; \exists \, c > 0 \; \exists \, n_0 \in \mathbb{N} \; \forall \, n \geq n_0 \; : \; g(n) \leq c \cdot f(n) \; \Big\}$$
In other words, the set $\mathcal{O}(f)$ is a set of functions who map from the natural numbers $\mathbb{N}$ to the real numbers $\mathbb{R}$. These functions have to satisfy a certain condition, namely that there is some constant $c$, which is greater than zero, such that $g(n) \leq c \cdot f(n)$. This inequality does not have to hold for every function value of $g(n)$ and $f(n)$. It only has to hold for all function values after a certain "point" $n_0$. Let us look at an example:

Example:
Consider the functions
$$g(n) = n \qquad \text{and} \qquad f(n) = n^2 - n$$
We want to show that $g \in \mathcal{O}(f)$ holds. If we insert $n=1$, we find
$$g(1) = 1 \qquad \text{and} \qquad f(1) = 0$$
But there exists no constant $c > 0$, such that $1 \leq c \cdot 0$. Does this mean, that $g \notin \mathcal{O}(f)$? The answer is NO. Why? Because if we insert $n=2$ or $n=3$ or $n = 4,5,6, \ldots$ we find that for these values the inequality
$$ g(n) \leq c \cdot f(n) $$
is fulfilled when e.g. picking $c = 1$. This means, that when $c = 1$ then for all $n$ that are greater than $n_0 = 1$ we find $g(n) \leq c \cdot f(n)$. However, this is exactly the definition of $\mathcal{O}(f)$. Therefore,
$$g(n) \in \enspace \mathcal{O}(n^2 - n)$$
${}$
Problem 2
Consider now the second problem you have stated. We want to prove that if $g \in \mathcal{O}(f)$ then $f + g \in \Theta(f)$.
How do we do this? First of all, we gather the information we have. In this case, we know that $g \in \mathcal{O}(f)$. By definition, we know that there exists a $c>0$ and a $n_0$ such that for all $n \geq n_0$ the inequality $g(n) \leq c \cdot f(n)$ holds.
Now we simply add $f(n)$ on both sides of the inequality (which we know by assumption to be true). This gives us
$$g(n) + f(n) \leq (c+1) \cdot f(n)$$
This was the first part. Now the second part: $g(n)$ is nonnegative, so we know that $g(n) \geq 0$ and therefore
$$f(n) \leq f(n) + g(n)$$
(because adding something positive to a number always makes the number greater).
We combine these two results and have
$$ f(n) \; \leq \; f(n) + g(n) \; \leq \; (c+1) f(n)$$
This completes the proof that $(f + g) \in \Theta(f)$.
