unfold facl in |- *.
intros until z.
cut
match PARTFUNC OBJeq_dec (acl s) o with
| Some y => set_In (o, y) (acl s)
| None => ~ set_In o (DOM OBJeq_dec (acl s))
end.
unfold rmdir_acl in |- *.
unfold facl in |- *.
elim (PARTFUNC OBJeq_dec (acl s) o).
intros.
cut (PARTFUNC OBJeq_dec (set_remove ACLeq_dec (o, a) (acl s)) o = None).
rewrite H2.
intro.
discriminate H3.
auto.
intros.
discriminate H1.
apply DOMFuncRel4.
Qed.

Lemma Eqfacl5 :
forall (s : SFSstate) (o : OBJECT) (y z : AccessCtrlListData),
FuncPre4 s ->
facl (acl s) o = Some y -> facl (unlink_acl s o) o = Some z -> False.