Definition vplub (v: aval) (p: aptr) : aptr :=
  match v with
  | Ptr q => plub q p
  | Ifptr q => plub q p
  | _ => p
  end.

(* Specifications: *)
Lemma vmatch_vplub_l: forall v x p, vmatch v x -> vmatch v (Ifptr (vplub x p)).
Lemma pmatch_vplub: forall b ofs x p, pmatch b ofs p -> pmatch b ofs (vplub x p).
Lemma vmatch_vplub_r: forall v x p, vmatch v (Ifptr p) -> vmatch v (Ifptr (vplub x p)).