proposition: Lemma disjoint_app_lr : forall {A:Type} (l1 l2 r1 r2 : list A), disjoint (l1 ++ l2) (r1 ++ r2) <=> (disjoint l1 r1 # disjoint l1 r2) # disjoint l2 r1 # disjoint l2 r2.
proof: Proof. introv. rw disjoint_app_l. rw disjoint_app_r. rw disjoint_app_r. apply t_iff_refl. Qed.
imports: UsefulTypes bin_rels Omega