I have two functions
G[x_]:=x^6;
S[x_]:=G[x]+x^12
I would like to operate on S[x] with respect to x in three ways, where we take the differentiation as an example for an operator
Plug in G[x] in S[x] and then differentiate
Do not plug in G[x] in S[x] and differentiate, such that x^12 is evaluated, but G[x] is only evaluated symbolically to G'[x]
Do not plug in G[x] in S[x] and regard G[x] as a constant.
While 1. has an obvious solution, do you have an idea how to realize 2. and 3. without changing the lines of code given above, in particular without re-defining G every time?
I tried to build an operator consisting of different elements such as Unevaluated, Defer, Inactivate, Hold and Replace, but either G[x] gets plugged into S[x] or the differentiation is incorrect.
Can I give the function G[x] (temporarily) the Attribute "Constant" for 3.?
Best regards