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

Lemma typecheck_Omod_sound:
forall {CS: compspecs} (rho : environ) m (e1 e2 : expr) (t : type)
(IBR: denote_tc_assert (isBinOpResultType Omod e1 e2 t) rho m)
(TV2: tc_val (typeof e2) (eval_expr e2 rho))
(TV1: tc_val (typeof e1) (eval_expr e1 rho)),
tc_val t
(eval_binop Omod (typeof e1) (typeof e2)
(eval_expr e1 rho) (eval_expr e2 rho)).