\textbf{Answer: (i) and (iv)}
\section*{Explanation}
The notation is interpreted as follows:
\[
R_1 \rightarrow Loc : \text{Store the contents of register } R_1 \text{ into memory location } Loc
\]
\[
Loc \rightarrow R_2 : \text{Load the contents of memory location } Loc \text{ into register } R_2
\]
\[
R_1 \rightarrow R_2 : \text{Copy the contents of } R_1 \text{ directly into } R_2
\]
The replacements are examined below.
\subsection*{Option (i)}
\[
R_1 \rightarrow Loc,\; Loc \rightarrow R_2
\equiv
R_1 \rightarrow R_2,\; R_1 \rightarrow Loc
\]
LHS:
\[
\begin{aligned}
&Loc \leftarrow R_1,\\
&R_2 \leftarrow Loc
\end{aligned}
\]
After execution,
\[
Loc = R_1,\qquad R_2 = R_1.
\]
RHS:
\[
\begin{aligned}
&R_2 \leftarrow R_1,\\
&Loc \leftarrow R_1
\end{aligned}
\]
Again,
\[
Loc = R_1,\qquad R_2 = R_1.
\]
Both the register and memory contents are identical after execution.
\[
\boxed{\text{Option (i) is correct.}}
\]
\subsection*{Option (ii)}
\[
R_1 \rightarrow Loc,\; Loc \rightarrow R_2
\equiv
R_1 \rightarrow R_2
\]
LHS:
\[
Loc = R_1,\qquad R_2 = R_1.
\]
RHS:
\[
R_2 = R_1,\qquad Loc \text{ remains unchanged.}
\]
If a later instruction accesses memory location \(Loc\), the two executions produce different results.
\[
\boxed{\text{Option (ii) is incorrect.}}
\]
\subsection*{Option (iii)}
\[
R_1 \rightarrow Loc,\; R_2 \rightarrow Loc
\equiv
R_1 \rightarrow Loc
\]
LHS:
\[
Loc \leftarrow R_1,\qquad
Loc \leftarrow R_2.
\]
The second store overwrites the first, so
\[
Loc = R_2.
\]
RHS:
\[
Loc = R_1.
\]
Unless \(R_1 = R_2\), the final memory contents differ.
\[
\boxed{\text{Option (iii) is incorrect.}}
\]
\subsection*{Option (iv)}
\[
R_1 \rightarrow Loc,\; R_2 \rightarrow Loc
\equiv
R_2 \rightarrow Loc
\]
LHS:
\[
Loc \leftarrow R_1,\qquad
Loc \leftarrow R_2.
\]
Final value:
\[
Loc = R_2.
\]
RHS:
\[
Loc \leftarrow R_2.
\]
Again,
\[
Loc = R_2.
\]
The first store is completely overwritten by the second and has no observable effect.
\[
\boxed{\text{Option (iv) is correct.}}
\]
\section*{Final Answer}
The replacements that always preserve the program behavior, irrespective of the instructions that follow, are
\[
\boxed{\text{(i) and (iv)}}
\]