Definition call_setup2
(cs: compspecs) Qtemp Qvar GV a Delta P Q R R'
fs argsig retty cc (A: rmaps.TypeTree)  Pre Post NEPre NEPost
(bl: list expr) (vl : list val)
(Qactuals : PTree.t _)
(witness: functors.MixVariantFunctor._functor (rmaps.dependent_type_functor_rec nil A) mpred)
(Frame: list mpred)
(Ppre: list Prop) (Qpre : list localdef) (Rpre: list mpred)
(Qpre_temp : PTree.t _) GV':=
call_setup1 cs Qtemp Qvar GV a Delta P Q R R' fs argsig retty cc A Pre Post NEPre NEPost bl vl Qactuals /\
Pre nil witness = PROPx Ppre (LOCALx Qpre (SEPx Rpre)) /\
local2ptree Qpre = (Qpre_temp, PTree.empty _, nil, GV') /\
ENTAIL Delta, PROPx P (LOCALx Q (SEPx R))
|-- !! Forall (check_one_temp_spec Qactuals) (PTree.elements Qpre_temp) /\
check_gvars_spec GV GV' /\
fold_right_sepcon R |-- fold_right_sepcon Rpre * fold_right_sepcon Frame.

Lemma actual_value_not_Vundef:
forall (cs: compspecs) (Qtemp: PTree.t val) (Qvar: PTree.t (type * val))
Delta P Q R tl bl vl GV
(PTREE : local2ptree Q = (Qtemp, Qvar, nil, GV))
(TC : ENTAIL Delta, PROPx P (LOCALx Q (SEPx R))
|-- tc_exprlist Delta tl bl)
(MSUBST : force_list (map (msubst_eval_expr Delta Qtemp Qvar GV)
(explicit_cast_exprlist tl bl)) = Some vl),
local (tc_environ Delta) && |> PROPx P (LOCALx Q (SEPx R)) = local (tc_environ Delta) && |> (PROPx P (LOCALx Q (SEPx R)) && !! Forall (fun v : val => v <> Vundef) vl).