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 peq_eq_block: forall a b A (c d: A), is_true (peq a b) -> (if eq_block a b then c else d) = c.