non associative with precedence 45
for @{ 'ICM $L $T $k }.
-notation "hvbox( T1 break [ d , break e ] ▶ break T2 )"
- non associative with precedence 45
- for @{ 'PSubst $T1 $d $e $T2 }.
-
notation "hvbox( L ⊢ break term 90 T1 break [ d , break e ] ▶ break T2 )"
non associative with precedence 45
for @{ 'PSubst $L $T1 $d $e $T2 }.
non associative with precedence 45
for @{ 'PSubstStar $L $T1 $d $e $T2 }.
+notation "hvbox( L ⊢ break term 90 T1 break [ d , break e ] ▶▶* break T2 )"
+ non associative with precedence 45
+ for @{ 'PSubstStarAlt $L $T1 $d $e $T2 }.
+
notation "hvbox( T1 break [ d , break e ] ≡ break T2 )"
non associative with precedence 45
for @{ 'TSubst $T1 $d $e $T2 }.
non associative with precedence 45
for @{ 'TSubst $L $T1 $d $e $T2 }.
-(* Static Typing ************************************************************)
+notation "hvbox( T1 break [ d , break e ] ≡≡ break term 46 T2 )"
+ non associative with precedence 45
+ for @{ 'TSubstAlt $T1 $d $e $T2 }.
+
+notation "hvbox( L ⊢ break term 90 T1 break [ d , break e ] ≡≡ break term 46 T2 )"
+ non associative with precedence 45
+ for @{ 'TSubstAlt $L $T1 $d $e $T2 }.
+
+(* Static typing ************************************************************)
notation "hvbox( L ⊢ break term 90 T ÷ break A )"
non associative with precedence 45
non associative with precedence 45
for @{ 'CrSubEqA $T1 $T2 }.
+notation "hvbox( ⦃ h , break L ⦄ ⊢ break term 90 T1 • break T2 )"
+ non associative with precedence 45
+ for @{ 'StaticType $h $L $T1 $T2 }.
+
+(* Unwind *******************************************************************)
+
+notation "hvbox( ⦃ h , break L ⦄ ⊢ break term 90 T1 •* break T2 )"
+ non associative with precedence 45
+ for @{ 'StaticTypeStar $h $L $T1 $T2 }.
+
(* Reducibility *************************************************************)
notation "hvbox( 𝐑 [ T ] )"
notation "hvbox( T1 ⊢ ⬌* break T2 )"
non associative with precedence 45
for @{ 'CPConvStar $T1 $T2 }.
+
+(* Dynamic typing ***********************************************************)
+
+notation "hvbox( ⦃ h , break L ⦄ ⊢ break term 90 T1 : break T2 )"
+ non associative with precedence 45
+ for @{ 'NativeType $h $L $T1 $T2 }.
+
+notation "hvbox( h ⊢ break term 90 L1 : ⊑ break L2 )"
+ non associative with precedence 45
+ for @{ 'CrSubEqN $h $L1 $L2 }.