This is documentation for Mathematica 3, which was
based on an earlier version of the Wolfram Language.
 2.2.9 Advanced Topic: Working with Operators You can think of an expression like f[x] as being formed by applying an operatorf to the expression x. You can think of an expression like f[g[x]] as the result of composing the operators f and g, and applying the result to x. Some functional operations. This represents the composition of the functions f, g and h. In[1]:= Composition[f, g, h] Out[1]= You can manipulate compositions of functions symbolically. In[2]:= InverseFunction[Composition[%, q]] Out[2]= The composition is evaluated explicitly when you supply a specific argument. In[3]:= %[x] Out[3]= You can get the sum of two expressions in Mathematica just by typing x+y. Sometimes it is also worthwhile to consider performing operations like addition on operators. You can think of this as containing a sum of two operators f and g. In[4]:= (f + g)[x] Out[4]= Using Through, you can convert the expression to a more explicit form. In[5]:= Through[%, Plus] Out[5]= This corresponds to the mathematical operator . In[6]:= Identity + (D[#, x]&) Out[6]= Mathematica does not automatically apply the separate pieces of the operator to an expression. In[7]:= % [x^2] Out[7]= You can use Through to apply the operator. In[8]:= Through[%, Plus] Out[8]= Operations for working with operators. This has a complicated expression as a head. In[9]:= t = ((1 + a)(1 + b))[x] Out[9]= Functions like Expand do not automatically go inside heads of expressions. In[10]:= Expand[%] Out[10]= With the Heads option set to True, MapAll goes inside heads. In[11]:= MapAll[Expand, t, Heads->True] Out[11]= The replacement operator /. does go inside heads of expressions. In[12]:= t /. a->1 Out[12]= You can use Operate to apply a function specifically to the head of an expression. In[13]:= Operate[p, t] Out[13]=