proposition: Lemma list_sim_app : forall l1 l1' l2 l2', list_sim l1 l1' -> list_sim l2 l2' -> list_sim (l1 ++ l2) (l1' ++ l2').
proof: Proof. induction l1; intros. inversion H; trivial. inversion H. simpl; constructor; trivial. apply IHl1; trivial. Qed.
imports: Coq(Setoid Morphisms Basics) CoLoR(ListExtras NatUtil LogicUtil)