Definition tc_numeric_val (v: val) (t: type) : Prop :=
match v,t with
| Vint _, Tint _ _ _ => True
| Vlong _, Tlong _ _ => True
| Vfloat _, Tfloat F64 _ => True
| _, _ => False
end.

Lemma tc_val'_sem_cmp_pp: forall cmp v1 v2 v i s a,
sem_cmp_pp cmp v1 v2 = Some v ->
tc_val' (Tint i s a) v.