Section Facts.
Variable A : Type.
(** *** Generic facts *)
(** Destruction *)
(** *** Head and tail *)
(************************)
(** *** Facts about [In] *)
(************************)
(** Characterization of [In] *)
Hint Resolve app_assoc_reverse : core.
(* end hide *)

(** [app] commutes with [cons] *)
Theorem app_comm_cons : forall (x y:list A) (a:A), a :: (x ++ y) = (a :: x) ++ y.