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 no_race_racy : forall p1 p2 (Hracy: racy p1) (Hnorace: exists pu, perm_union p1 p2 = Some pu), not_racy p2.