proposition: Lemma beta_direct_funApp : forall M (Mapp: isApp M) (MLabs: isAbs (appBodyL Mapp)), isFunS (appHead M) -> False.
proof: Proof. intros M Mapp MLabs Mhead. absurd (isFunS (appHead M)); trivial. rewrite (appHead_app M Mapp) in Mhead. assert (MLnotApp: ~isApp (appBodyL Mapp)). apply abs_isnot_app; trivial. rewrite (appHead_notApp (appBodyL Mapp) MLnotApp) in Mhead. exfalso. term_inv (appBodyL Mapp). Qed.
imports: CoLoR(RelExtras ListExtras TermsRed TermsConv LogicUtil) Coq(Setoid PeanoNat Lia)