t; auto.
eapply tc_eval'_id_i.
eassumption.Qed.

Definition abbreviate {A:Type} (x:A) := x.
Arguments abbreviate [A] [x].

Ltac clear_Delta :=
match goal with
| Delta := @abbreviate tycontext _ |- _ =>
   first [clear Delta | clearbody Delta]
| _ => idtac
end;
matchgoal with
 |  DS := @abbreviate (PTree.t funspec) _  |- _ =>
   first [clear DS | clearbody DS]
 | |- _ => idtac
 end.

Ltac

intros. destruct v; inv H; reflexivity. Qed. Hint Rewrite is_pointer_force_int_ptr2 using assumption : norm1. Lemma is_pointer_or_null_force_int_ptr2: forall v, is_pointer_or_null (force_val match v with | Vint _ => Some v | Vptr _ _ => Some v | _ => None end) -> (force_val match v wi