Local Open Scope pred.
Local Open Scope nat_scope.
Section extensions.
Context {CS: compspecs} {Espec : OracleKind}.

(* Specifications: *)
Lemma tc_test_eq1:
forall b i v m,
(denote_tc_test_eq (Vptr b i) v) (m_phi m) ->
Mem.weak_valid_pointer (m_dry m) b (Ptrofs.unsigned i) = true.
Lemma semax_ifthenelse:
forall Delta P (b: expr) c d R,
bool_type (typeof b) = true ->
semax Espec Delta (fun rho => P rho && !! expr_true b rho) c R ->
semax Espec Delta (fun rho => P rho && !! expr_false b rho) d R ->
semax Espec Delta
(fun rho => tc_expr Delta (Eunop Cop.Onotbool b (Tint I32 Signed noattr)) rho && P rho)
(Sifthenelse b c d) R.