Qed.
(** Nc to Gc  The hardest part is proving weakening for Gc*)
Local Ltac temp1 := econstructor;split;reflexivity||(rewrite app_comm_cons;reflexivity).

Lemma in_split_app : forall A (a:A) l2 l4 l1 l3, l1++a::l2=l3++l4 -> ((exists l,l3=l1++a::l/\l2=l++l4)\/
(exists l,l4=l++a::l2/\l1=l3++l)).