Arguments aftA [A B s p P].
Arguments aftI [A s p P Q].
End Always.
Section AlwaysInject.
Variables (V W : world) (K : hooks) (A : Type) (w : injects V W K) (this: nid).
Notation W2 := (inj_ext w).

Lemma aft_inject (p : proc this V A) (P : A -> state -> Prop) i j :
i \+ j \In Coh W ->
after i p P ->
after (i \+ j) (Inject w p)
(fun v m => exists i' j',
[/\ m = i' \+ j', i' \In Coh V,
network_rely W2 this j j' & P v i']).