Definition one_pos : pos.pos := pos.mkPos NPeano.Nat.lt_0_1.Definition mkPool c res :=
      mk one_pos
        (fun _ =>  c)
        (fun _ => res) (*initially there are no locks*)
        empty_lset.Definition lockGuts := lset.Definition lockSet (tp:t) := A2PMap (lset tp).Definition lockRes t : address -> option lock_info:=
      AMap.find (elt:=lock_info)^~ (lockGuts t).Definition lr_valid (lr: address -> option lock_info):=
      forall b ofs,
        match lr (b,ofs) with
        | Some r => forall ofs0:Z, (ofs < ofs0 < ofs+LKSIZE)%Z -> lr (b, ofs0) = None
        | _ => True
        end.

(* Specifications: *)
Lemma is_pos: forall n, (0 < S n)%coq_nat.