Local Open Scope logic.
Ltac unfold_for_go_lower :=
cbv delta [PROPx LOCALx SEPx locald_denote
eval_exprlist eval_expr eval_lvalue cast_expropt
eval_binop eval_unop force_val1 force_val2
msubst_tc_expropt msubst_tc_expr msubst_tc_exprlist msubst_tc_lvalue msubst_tc_LR (* msubst_tc_LR_strong *) msubst_tc_efield msubst_simpl_tc_assert
function_body_ret_assert frame_ret_assert
make_args' bind_ret get_result1 retval
classify_cast
(* force_val sem_cast_neutral ... NOT THESE TWO!  *)
denote_tc_assert (* tc_andp tc_iszero *)
liftx LiftEnviron Tarrow Tend lift_S lift_T
lift_prod lift_last lifted lift_uncurry_open lift_curry
local lift lift0 lift1 lift2 lift3
] beta iota.

(* Specifications: *)
Lemma grab_tc_environ:
forall Delta PQR S rho,
(tc_environ Delta rho -> PQR rho |-- S) ->
(local (tc_environ Delta) && PQR) rho |-- S.