proposition: Lemma of_app l m : of_list (l++m) [=] union (of_list l) (of_list m).
proof: Proof. intro x. fo. destruct (in_app_or H); fo. apply in_appl. hyp. apply in_appr. hyp. Qed.
imports: Coq(Basics Morphisms Setoid) CoLoR(LogicUtil RelUtil FunUtil ListUtil NatUtil ClassicUtil BoundNat)