Definition inj_on_list {A B} (l : list A) (f : A -> B) :=
forall x y, In x l -> In y l -> f x = f y -> x = y.
Definition subset_rel {X} (sub lst : list X) : Prop :=
forall x,
In x sub ->
In x lst.
(*** NoDup general lemmas ***)

(* TODO: eventually replace NoDup_disjointness with this *)
Lemma NoDup_disjointness_1: forall {A} (l1 l2 : list A),
NoDup l1 ->
NoDup l2 ->
disjoint_list l1 l2 ->
NoDup (l1 ++ l2).