Opaque Znth.

(* Specifications: *)
Lemma Zlength_empty : Zlength empty_hists = size.
Lemma body_init_table : semax_body Vprog Gprog f_init_table init_table_spec.
Lemma body_freeze_table : semax_body Vprog Gprog f_freeze_table freeze_table_spec.
Lemma lock_struct_array : forall sh z (v : list val) p,
data_at sh (tarray (tptr (Tstruct _lock_t noattr)) z) v p =
data_at sh (tarray (tptr tlock) z) v p.
Lemma add_item_trace_wf : forall h k v i s h' (Hwf : wf_hists h) (Htrace : add_item_trace h k v i s h'),
wf_hists h'.
Corollary add_items_trace_wf : forall h la h', add_items_trace h la h' ->
wf_hists h -> wf_hists h'.
Lemma wf_empty : wf_hists empty_hists.
Hint Resolve wf_empty.
Lemma add_items_length : forall h la h', add_items_trace h la h' -> Zlength h' = Zlength h.
Corollary add_items_empty_length : forall h la, add_items_trace empty_hists la h -> Zlength h = size.
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).