proposition: Lemma app_rev_eq_nil_inv : forall l1 l2, l1 ++ rev l2 = nil -> l1 = nil /\ l2 = nil.
proof: Proof. Proof using. intros. lets H1 H2: app_eq_nil_inv H. applys_to H2 rev_eq_nil_inv. autos*. Qed.
imports: Coq.Classes.Morphisms TLC(LibTactics LibLogic LibReflect LibOperation LibProd LibOption LibNat LibInt LibWf LibMonoid LibRelation)