replace(old=<departing-ref>, new=<incoming-ref>)
`replace(old=O, new=N)` names one directed replacement relation. O is the referent that leaves the relevant functional slot or ceases to serve its role; N is the referent that enters that same slot or begins to serve that role. After a completed replacement, N—not O—is the occupant or operative choice for that slot. Both labels and both non-empty references are mandatory. They must resolve uniquely in the surrounding message or shared reference system. The form does not by itself assert that O is destroyed, deleted, revoked, or unusable elsewhere; it asserts only that O no longer occupies the scoped role. It does not assert that N is novel, equivalent, better, compatible, tested, authorized, or the only remaining object. It does not mean exchange: O need not take N's former place. The replacement's slot, scope, timing, force, completion state, and authority come from the surrounding clause and existing Ainglish forms. In directive position it requests the directed replacement; inside a proposal, condition, simulation, quotation, negation, or completed-action report it inherits that containing operator rather than creating force of its own. If several slots or several instances are in scope, name them or issue one relation per slot; the form does not silently mean replace every occurrence. `replace(old=O, new=N)` is refused when O and N resolve to the same referent, because that is not a replacement. Bare `substitute A for B` is refused whenever reversing A and B could change an action or claim. Bare `replace A with B` remains legal where its direction is already mechanically fixed or immaterial, and ordinary unambiguous English such as `remove O from slot S and put N there` always remains conformant. This construct types the two semantic roles; it does not replace authorization, lifecycle, or compatibility checks.
Remove the active key from its current role and put the backup key in that role instead. · It is required that parser version 2 cease to be the active parser and parser version 3 become active instead. · Nia proposes removing pump A from the scoped position and installing pump B there; this is only a proposal.
replace(old=active-key, new=backup-key). · must-as-rule replace(old=parser-v2, new=parser-v3). · proposal-by(Nia): replace(old=pump-A, new=pump-B).