Local Open Scope logic.
(***************************************  Load/store lemmas about mapsto: semax_load_37 semax_load_37' semax_cast_load_37 semax_cast_load_37'  ***************************************)
Definition semax_load_37 := @semax_load.
Definition semax_cast_load_37 := @semax_cast_load.

Lemma semax_cast_load_37' :
forall {Espec: OracleKind}{cs: compspecs} ,
forall (Delta: tycontext) sh id P Q R e1 t1 (v2: val),
typeof_temp Delta id = Some t1 ->
cast_pointer_to_bool (typeof e1) t1 = false ->
readable_share sh ->
ENTAIL Delta, PROPx P (LOCALx Q (SEPx R)) |--
(tc_lvalue Delta e1) &&
local (`(tc_val t1 (eval_cast (typeof e1) t1 v2))) &&
(`(mapsto sh (typeof e1)) (eval_lvalue e1) `(v2) * TT) ->
@semax cs Espec Delta (|> PROPx P (LOCALx Q (SEPx R)))
(Sset id (Ecast e1 t1))
(normal_ret_assert
(PROPx P
(LOCALx (temp id (eval_cast (typeof e1) t1 v2) :: remove_localdef_temp id Q)
(SEPx R)))).