proposition: Lemma app_assoc : forall l1 l2 l3, (l1 ++ l2) ++ l3 = l1 ++ (l2 ++ l3).
proof: Proof. Proof using. intros. induction l1. { rewrite_all~ app_nil_l. } { rewrite_all~ app_cons_l. fequals~. } Qed.
imports: Coq.Classes.Morphisms TLC(LibTactics LibLogic LibReflect LibOperation LibProd LibOption LibNat LibInt LibWf LibMonoid LibRelation)