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 perm_order_clash: forall p p' (Hreadable: Mem.perm_order' p Readable) (Hwritable: Mem.perm_order' p' Writable), ~ exists pu, perm_union p p' = Some pu.