"Symmetry is a characteristic of the human mind" (Alexander Pushkin).
"Symmetry underlies the laws of the universe" (Brian Greene).
"Symmetry implies dynamics" (Eugene Wigner).
Semantics
Reveert an expression. If the expression is a sequence or an open expression, it is equivalent to evaluating the sequence starting from the right end. If the expression is a set, the operation has no effect, since all components are evaluated in parallel.
Syntax
x∼ // evaluate sequence x on the right-hand side
Definition
〈( (x∼ = ([x/[x#… 1]])) ← (x=( x↓ )〉 // case x sequence or open expression;
〈( (x∼ = x) ← (x={x↓} )〉 // case x set
Justification
This is a very useful operation, especially in arithmetic expressions.
Examples
(a b c d)∼ // ev. (d c b a)
(r1 ^ r2 ^ r3 ^ r4)∼ // ev. (r4 ^ r3 ^ r2 ^ r1)
This expression would evaluate as ((r4^r3)^r2)^r1
(x ← y ← z ← u)∼ // ev. (u → z → y → x) (are equivalent)
By defiinition, 〈( ∼x = x )〉, i.e. is the default evaluation
Following the principle of top-down hierarchical evaluation, the reversal takes place before the evaluation of the expression. That is, the expression is first reversed and then evaluated.
The operation only affects the first level of the expression hierarchy. That is, if an expression contains, in turn, expressions, the latter are not reversed.
((a b) (c d))∼ // ev. ((c d) (a b))
If the expression is a descriptive sequence, the reversal will normally be descriptive as well.
( 1 ... 5 )∼ // ev. ( 5 ... 1 )
If the sequence has only one component, the result is invariant.