Definition diff_dec (l1 l2: loc) : { Loc.diff l1 l2 } + { ~Loc.diff l1 l2 }.

(* Specifications: *)
Lemma notin_not_in:
forall l ll, notin l ll -> ~(In l ll).
Lemma notin_dec (l: loc) (ll: list loc) : {notin l ll} + {~notin l ll}.
Lemma disjoint_cons_right:
forall a l1 l2,
disjoint l1 (a :: l2) -> disjoint l1 l2.
Lemma disjoint_sym:
forall l1 l2, disjoint l1 l2 -> disjoint l2 l1.
Lemma in_notin_diff:
forall l1 l2 ll, notin l1 ll -> In l2 ll -> diff l1 l2.
Lemma notin_disjoint:
forall l1 l2,
(forall x, In x l1 -> notin x l2) -> disjoint l1 l2.
Lemma disjoint_notin:
forall l1 l2 x, disjoint l1 l2 -> In x l1 -> notin x l2.