Definition weak_mapsto_ sh e rho :=
match (eval_expr e rho) with
| Vptr b o => (mapsto_ sh (typeof e) (Vptr b o)) ||
              (mapsto_ sh (typeof e) (Vptr b o))
| _ => FF
end.

(* Specifications: *)
Lemma extend_sepcon_TT {A} {JA: Join A} {PA: Perm_alg A}{SA: Sep_alg A} {AG: ageable A} {Aga: Age_alg A}: forall P, boxy extendM (P * TT).
Lemma eval_cast_Vundef: forall t1 t2, eval_cast t1 t2 Vundef = Vundef.
Lemma eqb_attr_true: forall a a', eqb_attr a a' = true -> a=a'.
Lemma res_option_core: forall r, res_option (core r) = None.
Lemma writable0_lub_retainer_Rsh: forall sh, writable0_share sh -> Share.lub (retainer_part sh) Share.Rsh = sh.
Lemma address_mapsto_can_store: forall jm ch v sh (wsh: writable0_share sh) b ofs v' my, (address_mapsto ch v sh (b, Ptrofs.unsigned ofs) * exactly my)%pred (m_phi jm) -> decode_val ch (encode_val ch v') = v' -> exists m', {H: Mem.store ch (m_dry jm) b (Ptrofs.unsigned ofs) v' = Some m'| (address_mapsto ch v' sh (b, Ptrofs.unsigned ofs) * exactly my)%pred (m_phi (store_juicy_mem _ _ _ _ _ _ H))}.