proposition: Lemma app_eq : forall M N (Mapp: isApp M) (Napp: isApp N), appBodyL Mapp = appBodyL Napp -> appBodyR Mapp = appBodyR Napp -> M = N.
proof: Proof. intros M N; term_inv M; term_inv N. intros Mapp Napp Leq Req. inversion Leq; destruct H4. inversion Req; destruct H7. apply deriv_uniq; auto. simpl; congruence. Qed.
imports: CoLoR(RelExtras ListExtras TermsTyping LogicUtil) Coq(Lia)