(** *** Challenge exercise [simulate_error]  Show that if the machine produces an error, the small step relation is stuck.  This is a challenge exercise because you will need to figure out at least one nontrivial auxiliary lemma.  *)

Lemma no_step_stack : forall s h e0,
not (is_value e0) ->
not (exists e0', step e0 e0') ->
not (exists e1, step (apply_stack h s e0) e1).