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

Lemma cop2_sem_cast' :
forall {CS: compspecs} t2 e rho m,
(denote_tc_assert (isCastResultType (typeof e) t2 e) rho) (m_phi m) ->
tc_val (typeof e) (eval_expr e rho) ->
Cop.sem_cast (eval_expr e rho) (typeof e) t2 (m_dry m) =
sem_cast (typeof e) t2 (eval_expr e rho).