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