(*  [Inductive invariants and stepping]  The following lemma is the crux of wrapping into inductive invariants, as it leverages the proof of the fact that each transition preserves the invariant.  *)

Lemma pstep_inv A pr I (ii : InductiveInv pr I) s1 s2 sc
(t t' : proc this (mkWorld pr) A):
s1 \In Coh (mkWorld (ProtocolWithIndInv ii)) ->
pstep s1 t sc s2 t' ->
s2 \In Coh (mkWorld (ProtocolWithIndInv ii)).