End step.
Implicit Arguments stepS [state step cont s k s' k' n].
Inductive prog_star : state -> prog -> state -> cont -> Prop :=
| star_prog : forall P s k s' k',
P 0%N = Some k -> star (step P) s k s' k' ->
prog_star s P s' k'.
(** interpreter is sound *)

(* Specifications: *)
Lemma stepN_Ksafe n P (s : state) : stepN (step P) n s Ksafe s Ksafe.
Lemma eval_soundN n k P s h s' h' :
eval n k P s h = Some (State s' h') ->
exists k', stepN (step P) n (State s h) k (State s' h') k'.
Lemma eval_sound n k P s h s' h' :
eval n k P s h = Some (State s' h') ->
exists k', star (step P) (State s h) k (State s' h') k'.
Lemma eval_prog_sound n P s h s' h' :
eval_prog n P s h = Some (State s' h') ->
exists k', prog_star (State s h) P (State s' h') k'.