destruct t; simpl; normalize.
Qed.

Definition is_void_type (ty: type) : bool :=match ty with Tvoid => true | _ => false end.

Definition ret_tycon (Delta: tycontext): tycontext :=
  mk_tycontext 
    (if is_void_type (ret_type Delta) 
      then (PTree.empty _)
      else (PTree.set ret_temp (ret_type Delta) (PTree.empty _)))
     (PTree.empty _)
     (ret_type Delta)
     (glob_types Delta)
     (glob_specs Delta)f; intros. rewrite PTree.gempty in H2; inv H2.
Qed.

Definition ret0_tycon (Delta: tycontext): tycontext :=mk_tycontext (PTree.empty _) (PTree.empty _) (ret_type Delta) (glob_types Delta) (glob_specs Delta) (annotations Delta).

Definition ret1_tycon (Delta: tycontext): tycontext :=
  mk_tycontext (PTree.set ret_temp (ret_type Delta) (PTree.empty _))

(* Specifications: *)
Lemma make_args0_tc_environ: forall rho Delta, tc_environ Delta rho ->
Lemma make_args1_tc_environ: forall rho Delta v, tc_environ Delta rho -> tc_val (ret_type Delta) v ->