Indexed objects can be given values by the assignment statement of REDUCE or can be used in LET rules or in rule lists in the usual way in most of the cases:
| <indexed expr> := <indexed expr> | assignment statement | |
| LET <indexed expr> = <indexed expr> | LET rule | |
| { <indexed expr> => <indexed expr> } | rule list |
Naturally the different kinds of indices would make the matter complicated but the system can automatically take them into account. It means that in the case of indexed expressions the statements above are really equal to bigger, sometimes complicated hidden statements which determine the restrictions from the indices of the expressions on the left hand side (i.e. on the left hand side of the signs , , or ) when and how the expressions will be valid:
An important property of these statements is that one need not keep in mind which abstract indices are used on the right hand side as dummy indices, since they are stored in a special way. Let us see some simple examples:
The existence or nonexistence of the metric tensor is stored in the expressions themselves in the case of each statement. Therefore after declaring the metric tensor all given statements consisting of tensorial quantities on their left hand side must be repeated again in order that the existence of the metric tensor can be stored in them.
If there are for example concrete indices on the left hand side of the statements and the symmetry properties are related to them then the statements should be expressed only once according to the symmetries: during the application of the declared relations, they and the symmetry properties are used together.
Both the assignment statements and the LET rules referring to the indexed quantities can be removed simply by the CLEAR command:
It may occur that one would like to clear a scalar object (e.g. A) without losing the other quantities named by the same identifier. It could not be done by the command CLEAR A; because it would not clear the scalar value of the identifier only but would clear the values of all objects named by A. Therefore there is an additional CLEAR SCALAR command for removing only the scalar value of a tensor or symbol identifier. All other properties and values stored on the identifier remain the same: