Definition cast_pointer_to_bool t1 t2 :=
match t1 with (Tpointer _ _ | Tarray _ _ _ | Tfunction _ _ _) =>
match t2 with Tint IBool _ _ => true | _ => false end
| _ => false
end.

Lemma sem_cast_e1:
forall t t1 v1 v m,
sem_cast t t1 v = Some v1 ->
cast_pointer_to_bool t t1 = false ->
tc_val t v ->
Cop.sem_cast v t t1 m = Some v1.