Definition store_byte_list m b ofs lv :=
Mem.storebytes m b ofs (concat (map (encode_val Mint8unsigned) lv)).
Definition mem_equiv_jm jm m (Heq : mem_equiv (m_dry jm) m) :
{jm' | level jm' = level jm /\ m_dry jm' = m /\ m_phi jm' = m_phi jm}.

Lemma store_bytes_data_at : forall {CS : compspecs} phi m0 m sh lv b o
(Hsh : readable_share sh) (Hvals : Forall (fun v => exists i, v = Vint i /\ Int.unsigned i <= Byte.max_unsigned) lv)
(Hdata : app_pred (res_predicates.VALspec_range (Zlength lv) sh (b, Ptrofs.unsigned o)) phi)
(Hstore : Mem.storebytes m0 b (Ptrofs.unsigned o) (concat (map (encode_val Mint8unsigned) lv)) = Some m)
(Hbounds : Ptrofs.unsigned o + Zlength lv <= Ptrofs.max_unsigned),
app_pred (data_at sh (tarray tuchar (Zlength lv)) lv (Vptr b o)) (inflate_store m phi).