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.