(** ** Preservation of the semantic invariant by one step of execution *)

(* Specifications: *)
Lemma sound_succ_state:
forall bc pc ae am instr ae' am'  s f sp pc' e' m',
(analyze rm f)!!pc = VA.State ae am ->
f.(fn_code)!pc = Some instr ->
In pc' (successors_instr instr) ->
transfer f rm pc ae am = VA.State ae' am' ->
ematch bc e' ae' ->
mmatch bc m' am' ->
romatch bc m' rm ->
genv_match bc ge ->
bc sp = BCstack ->
sound_stack bc s m' sp ->
sound_state_base (State s f (Vptr sp Ptrofs.zero) pc' e' m').
Theorem sound_step_base:
forall st t st', RTL.step ge st t st' -> sound_state_base st -> sound_state_base st'.