Definition check_one_temp_spec (Q: PTree.t val) (idv: ident * val) : Prop :=
(Q ! (fst idv)) = Some (snd idv).
Definition check_gvars_spec (GV: option globals) (GV': option globals) : Prop :=
match GV' with Some _ => GV = GV' | _ => True end.
Definition strong_cast (t1 t2: type) (v: val) : val :=
force_val (sem_cast t1 t2 v).

Lemma pTree_from_elements_e1:
forall rho fl vl i v,
Forall (fun v => v <> Vundef) vl ->
(pTree_from_elements (combine fl vl)) ! i = Some v ->
v = eval_id i (make_args fl vl rho) /\ v <> Vundef.