Definition mgv_ghost_packet p :=
  @mkPacket _ mgv_refined_multi_params
            (@pSrc _ multi_params p)
            (pDst p)
            (ghost_msg_default, pBody p).Definition mgv_reghost (net : @network _ multi_params) : @network _ mgv_refined_multi_params.

Theorem mgv_ghost_invariant_lower : forall P : _ -> Prop, (forall net net' failed failed' out, step_failure (failed, net) (failed', net') out -> P (mgv_deghost net) -> P (mgv_deghost net')) -> (forall net net' failed failed' out, @step_failure _ _ failure_params (failed, net) (failed', net') out -> P net -> P net').