(* Transitive closure of list extension *)
  #[local] Notation "list_ext ^+" := (clos_trans (list A) list_ext).(* Reflexive transitive closure of list extension *)
  #[local] Notation "list_ext ^*" := (clos_refl_trans (list A) list_ext).

Lemma list_ext_app_r l1 l2 l : list_ext l1 l2 -> list_ext (l1 ++ l) (l2 ++ l).