(* Why isn't this automatic? *)
Instance zero_ord_preorder : RelationClasses.PreOrder zero_ord.
Instance table_incl_preorder : RelationClasses.PreOrder table_incl.

Lemma f_pred_precise : forall tsh sh gsh (entries : list (val * val)) gh g lgk lgv p t locksp lockt resultsp res,
readable_share sh -> Zlength lgk = Zlength entries -> Zlength lgv = Zlength entries ->
precise (f_lock_pred tsh sh gsh entries gh g lgk lgv p t locksp lockt resultsp res).