Rule in a single direction - equivalences rules:
Hence there the power to replace sub expressions always allows use to prove theorems with equivalences: as given in the above example, that a theorem S[A']↔S[B'] we can use the equivalence as A≡B to rewrite same that theorem to the equivalent as S[A']↔ S[A'], that we know to be true. By proper given a set of equivalences we can prove or disprove that a complex theorem through rewriting it to something logically equivalent which we already know to be true or may false.
There is the fact that we can rewrite for instances of A to instances of B is expressed in terms of the rewrite rule A => B. Evidently, now we can also rewrite Bs to As, that we could use the rewrite rule B => A instead. Moreover, it's very easy to see that having an agent use both rules is dangerous, but as it could get stuck in a loop A => B => A => B => ... and so. Thus, now we typically use atlest one of the rewrite rules for a particular equivalence that we 'orient' the rule in a single direction. But if we do use both then we use to make sure we don't get stuck in a loop.