Section SOUNDNESS.
Variable A V: Type.
Variable genv: Genv.t A V.
Remark type_add:
forall v1 v2, Val.has_type (Val.add v1 v2) Tint.
Remark type_addl:
forall v1 v2, Val.has_type (Val.addl v1 v2) Tlong.

Corollary type_of_addressing_sound:
forall addr vl sp v,
eval_addressing genv sp addr vl = Some v ->
Val.has_type v Tptr.