Module Type PRACTICAL_CLIGHT_SEPARATION_HOARE_LOGIC.
Declare Module CSHL_MinimumLogic: MINIMUM_CLIGHT_SEPARATION_HOARE_LOGIC.

Axiom semax_set :
forall {CS: compspecs} {Espec: OracleKind},
forall (Delta: tycontext) (P: environ->mpred) id e,
@semax CS Espec Delta
(|> ( (tc_expr Delta e) &&
(tc_temp_id id (typeof e) Delta e) &&
subst id (eval_expr e) P))
(Sset id e) (normal_ret_assert P).