Atlas package simplification routine

The size of computations involving mappings, tensors, p-forms can grow quite rapidly. Thus some simplification must be done during the computations. But the type of simplification depends on the particular computation, the coframe and the metric of the geometry involved. This is why the simplification routine SimplifyAtlas is presented. By redefining the simplification routine the user can customize the way simplification is done at each step of computation.
It should be pointed out that in the Atlas package there is no need to use separate simplification routine for each computation routine. It is just because the tensor quantities in the Atlas package are linear combinations of tensors, vectors and p-forms declared.
The simplification routine must take a single algebraic argument and return something (presumably a simpler version of the argument) of an algebraic type.
Once the user has customized the simplification routine for a particular problem, it can be written to a file (see save) so that it is easily retrievable in subsequent sessions.

Examples:

In[7]:=
Click for copyable input
To what is the simplifier initialized?
In[8]:=
Click for copyable input
Out[8]=
Now suppose that we wish to change the simplifier so that it use Maple's "simplify" function instead of "normal". We can accomplish this easily:
In[9]:=
Click for copyable input
Now suppose that we wish to simplify each component of a tensor quantity, make the substitution Cos[]2 = 1 - Sin[]2, and then factor the result. We can do this by re-defining the `atlas/simp` procedure:
In[10]:=
Click for copyable input