Proof using.
intros. eauto using ghost_simulation_1.
Qed.

(* Specifications: *)
Theorem ghost_invariant_lower :
forall P : _ -> Prop,
(forall net net' failed failed' out,
step_failure (failed, net) (failed', net') out ->
P (deghost net) ->
P (deghost net')) ->
(forall net net' failed failed' out,
@step_failure _ _ failure_params (failed, net) (failed', net') out ->
P net ->
P net').