Definition tc_fn_return (Delta: tycontext) (ret: option ident) (t: type) :=
match ret with
| None => True
| Some i => match (temp_types Delta) ! i with Some t' => t=t' | _ => False end
end.

Lemma make_args_close_precondition:
forall params args ge ve te m tx ve' te' m' P vars,
list_norepet (map fst params) ->
bind_parameter_temps params args tx = Some te' ->
alloc_juicy_variables ge empty_env m vars = (ve', m') ->
P (make_args (map fst params) args (construct_rho (filter_genv ge) ve te))
|-- close_precondition params vars P (construct_rho (filter_genv ge) ve' te').