(* reduction-related categorization *****************************************)
+(* binary items entitled for zeta-reduction *)
+definition zable2 ≝ λI. I = Abbr ∨ I = Cast.
+
+interpretation "is entitled for zeta-reduction" 'Zeta I = (zable2 I).
+
(* binary items entitled for theta reduction *)
definition thable2 ≝ λI. I = Abbr.
-(* binary items entitled for zeta reduction *)
-definition zable2 ≝ λI. I = Abbr ∨ I = Cast.
+interpretation "is entitled for theta-reduction" 'Theta I = (thable2 I).
(* language *****************************************************************)
+notation "hvbox( ζ I )"
+ non associative with precedence 45
+ for @{ 'Zeta $I }.
+
+notation "hvbox( θ I )"
+ non associative with precedence 45
+ for @{ 'Theta $I }.
+
notation "hvbox( ⋆ )"
non associative with precedence 90
for @{ 'Star }.
.
interpretation "relocation" 'RLift T1 d e T2 = (lift T1 d e T2).
+
+(* The basic inversion lemmas ***********************************************)
+
+lemma lift_inv_sort2_aux: ∀d,e,T1,T2. ↑[d,e] T1 ≡ T2 → ∀k. T2 = ⋆k → T1 = ⋆k.
+#d #e #T1 #T2 #H elim H -H d e T1 T2 //
+ [ #i #d #e #_ #k #H destruct (***) (* DESTRUCT FAILS *)
+
+lemma lift_inv_sort2: ∀d,e,T1,k. ↑[d,e] T1 ≡ ⋆k → T1 = ⋆k.
+#d #e #T1 #k #H lapply (lift_inv_sort2_aux … H) /2/
+qed.