Local Open Scope logic.

Lemma BDY_update: forall
(Espec : OracleKind)
(contents : list byte)
(additional : val) (sha: share)
(add_len : Z)
(ctx : val) (shc: share)
(initial_state : hmac256drbgstate)
(initial_state_abs : hmac256drbgabs)
(gv : globals)
(info_contents : md_info_state)
(sep: val)( K : val)
(H : 0 <= add_len <= Int.max_unsigned)
(H0 : Zlength (hmac256drbgabs_value initial_state_abs) = 32)
(H1 : add_len = Zlength contents \/ add_len = 0)
(Hsha: readable_share sha)
(Hshc: writable_share shc),
@semax hmac_drbg_compspecs.CompSpecs Espec
(func_tycontext f_mbedtls_hmac_drbg_update HmacDrbgVarSpecs
HmacDrbgFunSpecs nil)
(PROP ( )
LOCAL (lvar _K (tarray tuchar 32) K; lvar _sep (tarray tuchar 1) sep;
temp _ctx ctx; temp _additional additional;
temp _add_len (Vint (Int.repr add_len)); gvars gv)
SEP (data_at_ Tsh (tarray tuchar 32) K;
data_at_ Tsh (tarray tuchar 1) sep;
da_emp sha (tarray tuchar (Zlength contents))
(map Vubyte contents) additional;
data_at shc t_struct_hmac256drbg_context_st initial_state ctx;
hmac256drbg_relate initial_state_abs initial_state;
data_at shc t_struct_mbedtls_md_info info_contents
(hmac256drbgstate_md_info_pointer initial_state); K_vector gv))
(fn_body f_mbedtls_hmac_drbg_update)
(normal_ret_assert
(PROP ( )
LOCAL ()
SEP (hmac256drbgabs_common_mpreds shc
(hmac256drbgabs_hmac_drbg_update initial_state_abs
(contents_with_add additional add_len
contents)) initial_state ctx
info_contents;
da_emp sha (tarray tuchar (Zlength contents))
(map Vubyte contents) additional;
K_vector gv) *
stackframe_of f_mbedtls_hmac_drbg_update)).