(** The needs of a memory store concerning the value being stored. *)

Definition store_argument (chunk: memory_chunk) :=
  match chunk with
  | Mint8signed | Mint8unsigned => I (Int.repr 255)
  | Mint16signed | Mint16unsigned => I (Int.repr 65535)
  | _ => All
  end.

(* Specifications: *)
Lemma store_argument_sound: forall chunk v w, vagree v w (store_argument chunk) -> list_forall2 memval_lessdef (encode_val chunk v) (encode_val chunk w).
Lemma store_argument_load_result: forall chunk v w, vagree v w (store_argument chunk) -> Val.lessdef (Val.load_result chunk v) (Val.load_result chunk w).