(* ----------------- interpreter soundness ------------------- *)
(* Finally, we get to the actual soundness function for the interpreter. *)

Lemma nom_soundness : forall n rho e v,
val _ v = nom_interp n e rho  ->
closed_env rho ->
fv_exp (nom_to_exp e) [<=] dom_rho rho ->
bigstep (nom_envsubst rho (nom_to_exp e)) (nom_val_to_exp v).