It is sometimes easier to thing of #(fog)(n)# as #f(g(n))#
It might also help to replace #n# in the definition of #f(n)# with some other variable; since #n# is just a variable placeholder there is no problem doing this.
So #f(n)=2n# could equally validly written as
#color(white)("XXX")f(color(red)k)=2color(red)(k)#
Now, if we want to evaluate #f(color(blue)(g(n)))#
we simply replace #color(red)(k)# with #color(blue)(g(n))#
#color(white)("XXX")f(color(blue)(g(n)))=2color(blue)(g(n))#
and since #color(blue)(g(n))color(black)=-n-4#
#color(white)("XXX")f(color(blue)(g(n)))=2(color(blue)(-n-4))=-2n-8#