(**************************************************************************) (* ___ *) (* ||M|| *) (* ||A|| A project by Andrea Asperti *) (* ||T|| *) (* ||I|| Developers: *) (* ||T|| The HELM team. *) (* ||A|| http://helm.cs.unibo.it *) (* \ / *) (* \ / This file is distributed under the terms of the *) (* v GNU General Public License Version 2 *) (* *) (**************************************************************************) notation "hvbox( L ⊢ break 𝐇𝐍 ⦃ term 46 T ⦄ )" non associative with precedence 45 for @{ 'HdNormal $L $T }. include "basic_2/reduction/cpr_tshf.ma". (* CONTEXT-SENSITIVE WEAK HEAD NORMAL TERMS *********************************) definition chnf: lenv → predicate term ≝ λL. NF … (cpr L) tshf. interpretation "context-sensitive head normality (term)" 'HdNormal L T = (chnf L T). (* Basic inversion lemmas ***************************************************) lemma chnf_inv_tshf: ∀L,T. L ⊢ 𝐇𝐍⦃T⦄ → T ≈ T. normalize /2 width=1/ qed-. (* Basic properties *********************************************************) lemma tshf_thnf: ∀T. T ≈ T → ⋆ ⊢ 𝐇𝐍⦃T⦄. #T #HT #T2 #H elim (cpr_fwd_tshf1 … H) -H // #H elim H // qed.