Execution of an expression may change only the variables indicated and evaluation of an expression may change no variables.
Execution of an expression may change only the variables indicated and evaluation of an expression may change no variables.
Thi sprohits functions with side effects and allows us to consider expressions as conventional mathematical entities I.e. we can use associativity, commutativity of addition etc.
Example: Swapping two variables:
wp(t:=x; x:=y; y:=t, x = X ? y = Y}