Section FINITE.
Variable A: Type.

(* Specifications: *)
Lemma ptree_finite:
forall (t: PTree.t A), exists p, forall n, (p <= n)%positive -> PTree.get n t = None.
Lemma pmap_finite:
forall (m: PMap.t A), exists p, forall n, (p <= n)%positive -> PMap.get n m = fst m.
Lemma pmap_construct:
forall (f: positive -> A) hi dfl,
(forall n, (n >= hi)%positive -> f n = dfl) ->
exists m: PMap.t A, forall n, PMap.get n m = f n.
Lemma zmap_finite:
forall (m: ZMap.t A), exists lo, exists hi, forall n, n < lo \/ n > hi -> ZMap.get n m = fst m.
Lemma zmap_construct:
forall (f: Z -> A) lo hi dfl,
(forall n, n < lo \/ n > hi -> f n = dfl) ->
exists m: ZMap.t A, forall n, ZMap.get n m = f n.
Lemma ptree_finite:
forall (t: PTree.t A), exists p, forall n, (p <= n)%positive -> PTree.get n t = None.
Lemma pmap_finite:
forall (m: PMap.t A), exists p, forall n, (p <= n)%positive -> PMap.get n m = fst m.
Lemma pmap_construct:
forall (f: positive -> A) hi dfl,
(forall n, (n >= hi)%positive -> f n = dfl) ->
exists m: PMap.t A, forall n, PMap.get n m = f n.
Lemma zmap_finite:
forall (m: ZMap.t A), exists lo, exists hi, forall n, n < lo \/ n > hi -> ZMap.get n m = fst m.
Lemma zmap_construct:
forall (f: Z -> A) lo hi dfl,
(forall n, n < lo \/ n > hi -> f n = dfl) ->
exists m: ZMap.t A, forall n, ZMap.get n m = f n.