Corollary wf_table_upd_same : forall T k v i (Hwf : wf_table T) (HT : Zlength T = size)
  (Hi : fst (Znth i T) = k) (Hk : k <> 0), wf_table (upd_Znth i T (k, v)).

(* Specifications: *)
Lemma hash_size : forall k, (k * 654435761) mod size = hash k mod size.
Lemma upd_entries : forall T lgk lgv i k lv v, value_of lv v -> (k = 0 -> v = 0) -> (v = 0 -> forall j v', lv j = Some v' -> v' = 0) -> Zlength T = size -> 0 <= i < size -> map (hashtable_entry (upd_Znth i T (k, lv)) lgk lgv) (upto (Z.to_nat size)) = upd_Znth i (map (hashtable_entry T lgk lgv) (upto (Z.to_nat size))) (ghost_master gsh1 k (Znth i lgk) * @ghost_master _ _ fmap_order gsh1 lv (Znth i lgv)).
Lemma value_of_inj : forall m v v', value_of m v -> value_of m v' -> v = v'.
Lemma upd_entries_A : forall T lgk lgv entries pk pv i k lv v, Znth i entries = (pk, pv) -> Zlength T = size -> 0 <= i < size -> value_of lv v -> (k = 0 -> v = 0) -> (v = 0 -> forall j v' : Z, lv j = Some v' -> v' = 0) -> map (hashtable_entry_A (upd_Znth i T (k, lv)) lgk lgv entries) (upto (Z.to_nat size)) = upd_Znth i (map (hashtable_entry_A T lgk lgv entries) (upto (Z.to_nat size))) (k_state i lgk pk k * v_state i lgv pv lv).
Lemma sepcon_hoist_if : forall {A} {A_eq : EqDec A} (b c : A) P1 P2 Q, (if eq_dec b c then P1 * Q else P2 * Q) = Q * if eq_dec b c then P1 else P2.
Lemma body_set_item : semax_body Vprog Gprog f_set_item set_item_spec.
Lemma body_get_item : semax_body Vprog Gprog f_get_item get_item_spec.
Lemma body_add_item : semax_body Vprog Gprog f_add_item add_item_spec.
Lemma body_init_table : semax_body Vprog Gprog f_init_table init_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 f_pred_exclusive : forall tsh sh gsh (entries : list (val * val)) gh p t locksp lockt resultsp res, readable_share sh -> exclusive_mpred (f_lock_pred tsh sh gsh entries gh p t locksp lockt resultsp res).
Lemma apply_hist_app : forall h1 h2 H, apply_hist H (h1 ++ h2) = match apply_hist H h1 with Some H' => apply_hist H' h2 | None => None end.
Lemma hashtable_entry_timeless : forall T lg entries i, timeless (hashtable_entry T lg entries i).
Lemma hashtable_timeless : forall H g lg entries, timeless (hashtable H g lg entries).
Lemma hashtable_inv_timeless : forall gh g lg entries, timeless (hashtable_inv gh g lg entries).
Lemma body_f : semax_body Vprog Gprog f_f f_spec.
Lemma lock_struct : forall p, data_at_ Tsh (Tstruct _lock_t noattr) p = data_at_ Tsh tlock p.
Lemma add_fails : forall k v b l H H' (HH : apply_hist H l = Some H') (Hadd : In (HAdd k v b) l) (Hk : H k <> None), b = false.