Definition join (j k:meminj):meminj := fun b =>
  match j b with
     Some (b1, delta) => Some (b1,delta)
   | None => k b
  end.Definition disjoint (j k:meminj):Prop :=
    forall b, j b = None \/ k b = None.

Lemma joinD: forall j k (D: disjoint j k) b, match join j k b with Some(b1,delta) => (j b = Some(b1,delta) /\ k b = None) \/ (k b = Some(b1,delta) /\ j b = None) | None => j b = None /\ k b = None end.