Definition vanalyze (cu: program) (f: function) :=
ValueAnalysis.analyze (romem_for cu) f.

(* Specifications: *)
Lemma transf_function_at:
forall cu f tf an pc instr,
transf_function (romem_for cu) f = OK tf ->
analyze (vanalyze cu f) f = Some an ->
f.(fn_code)!pc = Some instr ->
tf.(fn_code)!pc = Some(transf_instr (vanalyze cu f) an pc instr).
Lemma is_dead_sound_1:
forall nv, is_dead nv = true -> nv = Nothing.
Lemma is_dead_sound_2:
forall nv, is_dead nv = false -> nv <> Nothing.