Section SOUNDNESS.
Variable ge: genv.
Variable sp: block.
Variables m m': mem.
Hypothesis PERM: forall b ofs k p, Mem.perm m b ofs k p -> Mem.perm m' b ofs k p.

Lemma needs_of_addressing_32_sound:
forall sp addr args v nv args',
eval_addressing32 ge (Vptr sp Ptrofs.zero) addr args = Some v ->
vagree_list args args' (needs_of_addressing_32 addr nv) ->
exists v',
eval_addressing32 ge (Vptr sp Ptrofs.zero) addr args' = Some v'
/\ vagree v v' nv.