proposition: Lemma rev_cons : forall x l, rev (x::l) = rev l & x.
proof: Proof. Proof using. intros. rewrite <- app_cons_one_r. rewrite~ rev_app. Qed.
imports: Coq.Classes.Morphisms TLC(LibTactics LibLogic LibReflect LibOperation LibProd LibOption LibNat LibInt LibWf LibMonoid LibRelation)