If $f(n)$ is $O(g(n))$ is it also $O(g(n-d))$? When trying to prove that a recurrence $g(n)$ satisfies $g(n) = O(f(n))$, we sometimes are not able to find a valid $C$ to show the upper bound, so we try to prove it is $O(f(n-d))$ for some constant $d$ instead. 

If we are able to prove that $g(n) = O(f(n-d)$, does this mean that it is also $O(f(n))$? 
If so, does this go the other way too? That is, if $g(n)=O(f(n-d))$ for some $d$, then $g(n) = O(f(n))$ as well? 

edit 1: 
Here a valid $C$ means, $C$ such that $f(n) &lt;= C*g(n)$ for all $n &gt; n0$ for some $n0$
The answer to your first question (whether $f(n) = O(g(n))$ implies $f(n) = O(g(n-d))$) depends on the function $g$: indeed, what you want holds iff $g(n) = O(g(n-d))$. This is a relation that holds for many functions, for example polynomials and exponentials, but not for the function $g(n) = 2^{2^n}$.

As for your second question, if $f$ is monotone (increasing) then $f(n-d) \leq f(n)$, and in particular $f(n-d) = O(f(n))$. The same holds if $f(n) = \Theta(h(n))$ for some monotone $h$. For example, if $f$ is a degree $a$ polynomial then $f = \Theta(n^a)$, and so $f(n-d) = O(f(n))$, since $n^a$ is monotone.