Corollary add_items_empty_length : forall h la, add_items_trace empty_hists la h -> Zlength h = size.

(* Specifications: *)
Lemma f_pred_precise : forall tsh sh (entries ghosts : list (val * val)) p t locksp lockt resultsp res, readable_share sh -> Zlength ghosts = Zlength entries -> precise (f_lock_pred tsh sh entries ghosts p t locksp lockt resultsp res).
Lemma f_pred_positive : forall tsh sh entries ghosts p t locksp lockt resultsp res, positive_mpred (f_lock_pred tsh sh entries ghosts p t locksp lockt resultsp res).
Lemma body_f : semax_body Vprog Gprog f_f f_spec.
Lemma join_empty : forall h, Zlength h = size -> join_hists empty_hists h = h.