Section FreshLastKey.
Variable A : Type.
Implicit Type h : natmap A.
Definition last_key h := last 0 (dom h).
Definition fresh h := (last_key h).+1.
(* freshness *)
(* pcm induced ordering *)
(* backward induction on valid natmaps *)
(* forward induction on valid natmaps *)

Lemma valid_indf (P : natmap A -> Prop) :
P Unit ->
(forall t u h, P h ->
(forall x, x \in dom h -> t < x) ->
valid (t \-> u \+ h) -> P (t \-> u \+ h)) ->
forall h, valid h -> P h.