Ltac solve_tc_val H :=
  rewrite tc_val_tc_val_PM in H; inv H.Ltac solve_tc_val' H :=
  rewrite tc_val_tc_val_PM' in H; inv H.

Lemma tc_val_sem_binarith': forall {CS: compspecs} sem_int sem_long sem_float sem_single t1 t2 t v1 v2 deferr reterr rho m (TV2: tc_val t2 v2) (TV1: tc_val t1 v1), (denote_tc_assert (binarithType' t1 t2 t deferr reterr) rho) m -> tc_val t (force_val (Clight_Cop2.sem_binarith (fun s n1 n2 => Some (Vint (sem_int s n1 n2))) (fun s n1 n2 => Some (Vlong (sem_long s n1 n2))) (fun n1 n2 => Some (Vfloat (sem_float n1 n2))) (fun n1 n2 => Some (Vsingle (sem_single n1 n2))) t1 t2 v1 v2)).