Definition tc_expropt Delta (e: option expr) (t: type) : environ -> mpred :=
match e with None => `!!(t=Tvoid)
| Some e' => denote_tc_assert (typecheck_expr Delta (Ecast e' t))
end.

Lemma  semax_return:
forall Delta R ret,
semax Espec Delta
(fun rho => tc_expropt Delta ret (ret_type Delta) rho &&
RA_return R (cast_expropt ret (ret_type Delta) rho) rho)
(Sreturn ret)
R.