Inductive not_racy : option permission -> Prop :=
  | empty : not_racy None.Inductive not_racy : option permission -> Prop :=
  | empty : not_racy None.Inductive racy : option permission -> Prop :=
  | freeable : racy (Some Freeable).Inductive racy : option permission -> Prop :=
  | freeable : racy (Some Freeable).

Lemma not_racy_union : forall p1 p2 (Hnot_racy: not_racy p1), exists pu, perm_union p1 p2 = Some pu.