X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fnotation.ma;h=6a5b14e6213ff083f3f3965a7ba344d2dcb88cd2;hb=640716b0624d2a7cd9f339b9ab975e85b3288a50;hp=54b47600c6beb9f658905763935f05c582fefe0a;hpb=8ff4315142253a1a0478b67c07dddf70c36f50cd;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/notation.ma b/matita/matita/contribs/lambdadelta/basic_2/notation.ma index 54b47600c..6a5b14e62 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/notation.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/notation.ma @@ -48,7 +48,7 @@ notation "hvbox( ② { term 46 I } break term 55 T1 . break term 55 T )" non associative with precedence 55 for @{ 'SnItem2 $I $T1 $T }. -notation "hvbox( ⓑ { term 46 a , term 46 I } break term 55 T1 . break term 55 T )" +notation "hvbox( ⓑ { term 46 a , break term 46 I } break term 55 T1 . break term 55 T )" non associative with precedence 55 for @{ 'SnBind2 $a $I $T1 $T }. @@ -64,7 +64,7 @@ notation "hvbox( ⓕ { term 46 I } break term 55 T1 . break term 55 T )" non associative with precedence 55 for @{ 'SnFlat2 $I $T1 $T }. -notation "hvbox( ⓓ { term 46 a } term 55 T1 . break term 55 T2 )" +notation "hvbox( ⓓ { term 46 a } break term 55 T1 . break term 55 T2 )" non associative with precedence 55 for @{ 'SnAbbr $a $T1 $T2 }. @@ -76,7 +76,7 @@ notation "hvbox( - ⓓ term 55 T1 . break term 55 T2 )" non associative with precedence 55 for @{ 'SnAbbrNeg $T1 $T2 }. -notation "hvbox( ⓛ { term 46 a } term 55 T1 . break term 55 T2 )" +notation "hvbox( ⓛ { term 46 a } break term 55 T1 . break term 55 T2 )" non associative with precedence 55 for @{ 'SnAbst $a $T1 $T2 }. @@ -140,19 +140,19 @@ notation "hvbox( T1 ≃ break term 46 T2 )" non associative with precedence 45 for @{ 'Iso $T1 $T2 }. -(* Substitution *************************************************************) +(* Relocation ***************************************************************) notation "hvbox( ⇧ [ term 46 d , break term 46 e ] break term 46 T1 ≡ break term 46 T2 )" non associative with precedence 45 for @{ 'RLift $d $e $T1 $T2 }. -notation "hvbox( T1 break ≼ [ term 46 d , break term 46 e ] break term 46 T2 )" +notation "hvbox( L1 break ⊑ [ term 46 d , break term 46 e ] break term 46 L2 )" non associative with precedence 45 - for @{ 'SubEq $T1 $d $e $T2 }. + for @{ 'SubEq $L1 $d $e $L2 }. -notation "hvbox( ≽ [ term 46 d , break term 46 e ] break term 46 T2 )" +notation "hvbox( ⊒ [ term 46 d , break term 46 e ] break term 46 L2 )" non associative with precedence 45 - for @{ 'SubEqBottom $d $e $T2 }. + for @{ 'SubEqBottom $d $e $L2 }. notation "hvbox( ⇩ [ term 46 e ] break term 46 L1 ≡ break term 46 L2 )" non associative with precedence 45 @@ -162,19 +162,15 @@ notation "hvbox( ⇩ [ term 46 d , break term 46 e ] break term 46 L1 ≡ break non associative with precedence 45 for @{ 'RDrop $d $e $L1 $L2 }. -notation "hvbox( ⦃ term 46 L1, break term 46 T1 ⦄ ⧁ break ⦃ term 46 L2 , break term 46 T2 ⦄ )" +notation "hvbox( ⦃ term 46 L1, break term 46 T1 ⦄ ⊃ break ⦃ term 46 L2 , break term 46 T2 ⦄ )" non associative with precedence 45 - for @{ 'RestSupTerm $L1 $T1 $L2 $T2 }. + for @{ 'SupTerm $L1 $T1 $L2 $T2 }. notation "hvbox( L ⊢ break ⌘ ⦃ term 46 T ⦄ ≡ break term 46 k )" non associative with precedence 45 for @{ 'ICM $L $T $k }. -notation "hvbox( L ⊢ break term 46 T1 break ▶ [ term 46 d , break term 46 e ] break term 46 T2 )" - non associative with precedence 45 - for @{ 'PSubst $L $T1 $d $e $T2 }. - -(* Unfold *******************************************************************) +(* Substitution *************************************************************) notation "hvbox( @ ⦃ term 46 T1 , break term 46 f ⦄ ≡ break term 46 T2 )" non associative with precedence 45 @@ -192,49 +188,21 @@ notation "hvbox( ⇩ * [ term 46 e ] break term 46 L1 ≡ break term 46 L2 )" non associative with precedence 45 for @{ 'RDropStar $e $L1 $L2 }. -notation "hvbox( ⦃ term 46 L1, break term 46 T1 ⦄ ⧁ + break ⦃ term 46 L2 , break term 46 T2 ⦄ )" - non associative with precedence 45 - for @{ 'RestSupTermPlus $L1 $T1 $L2 $T2 }. - -notation "hvbox( ⦃ term 46 L1, break term 46 T1 ⦄ ⧁ * break ⦃ term 46 L2 , break term 46 T2 ⦄ )" +notation "hvbox( ⦃ term 46 L1, break term 46 T1 ⦄ ⊃ + break ⦃ term 46 L2 , break term 46 T2 ⦄ )" non associative with precedence 45 - for @{ 'RestSupTermStar $L1 $T1 $L2 $T2 }. + for @{ 'SupTermPlus $L1 $T1 $L2 $T2 }. -notation "hvbox( T1 break ▶ * [ term 46 d , break term 46 e ] break term 46 T2 )" +notation "hvbox( ⦃ term 46 L1, break term 46 T1 ⦄ ⊃ * break ⦃ term 46 L2 , break term 46 T2 ⦄ )" non associative with precedence 45 - for @{ 'PSubstStar $T1 $d $e $T2 }. + for @{ 'SupTermStar $L1 $T1 $L2 $T2 }. -notation "hvbox( L ⊢ break term 46 T1 break ▶ * [ term 46 d , break term 46 e ] break term 46 T2 )" +notation "hvbox( L ⊢ break term 46 T1 ▶* break term 46 T2 )" non associative with precedence 45 - for @{ 'PSubstStar $L $T1 $d $e $T2 }. + for @{ 'PSubstStar $L $T1 $T2 }. -notation "hvbox( L ⊢ break term 46 T1 break ▶ ▶ * [ term 46 d , break term 46 e ] break term 46 T2 )" +notation "hvbox( T1 ⊢ ▶ * break term 46 T2 )" non associative with precedence 45 - for @{ 'PSubstStarAlt $L $T1 $d $e $T2 }. - -notation "hvbox( T1 break ⊢ ▶ * [ term 46 d , break term 46 e ] break term 46 T2 )" - non associative with precedence 45 - for @{ 'PSubstStarSn $T1 $d $e $T2 }. - -notation "hvbox( T1 break ⊢ ▶ ▶ * [ term 46 d , break term 46 e ] break term 46 T2 )" - non associative with precedence 45 - for @{ 'PSubstStarSnAlt $T1 $d $e $T2 }. - -notation "hvbox( ▼ * [ term 46 d , break term 46 e ] break term 46 T1 ≡ break term 46 T2 )" - non associative with precedence 45 - for @{ 'TSubst $T1 $d $e $T2 }. - -notation "hvbox( L ⊢ break ▼ * [ term 46 d , break term 46 e ] break term 46 T1 ≡ break term 46 T2 )" - non associative with precedence 45 - for @{ 'TSubst $L $T1 $d $e $T2 }. - -notation "hvbox( ▼ ▼ * [ term 46 d , break term 46 e ] break term 46 T1 ≡ break term 46 T2 )" - non associative with precedence 45 - for @{ 'TSubstAlt $T1 $d $e $T2 }. - -notation "hvbox( L ⊢ break ▼ ▼ * [ term 46 d , break term 46 e ] break term 46 T1 ≡ break term 46 T2 )" - non associative with precedence 45 - for @{ 'TSubstAlt $L $T1 $d $e $T2 }. + for @{ 'PSubstStarSn $T1 $T2 }. (* Static typing ************************************************************) @@ -258,7 +226,7 @@ notation "hvbox( ⦃ term 46 h , break term 46 L ⦄ ⊢ break term 46 T1 • br non associative with precedence 45 for @{ 'StaticType $h $g $L $T1 $T2 $l }. -(* Unwind *******************************************************************) +(* Unfold *******************************************************************) notation "hvbox( ⦃ term 46 h , break term 46 L ⦄ ⊢ break term 46 T1 •* break [ term 46 g ] break term 46 T2 )" non associative with precedence 45 @@ -266,9 +234,17 @@ notation "hvbox( ⦃ term 46 h , break term 46 L ⦄ ⊢ break term 46 T1 •* b notation "hvbox( L1 ⊢ ⧫ * break term 46 T ≡ break term 46 L2 )" non associative with precedence 45 - for @{ 'Unwind $L1 $T $L2 }. + for @{ 'Unfold $L1 $T $L2 }. -(* Reducibility *************************************************************) +notation "hvbox( L ⊢ break term 46 T1 ➤ * break term 46 T2 )" + non associative with precedence 45 + for @{ 'PRestStar $L $T1 $T2 }. + +notation "hvbox( T1 ⊢ ➤ * break term 46 T2 )" + non associative with precedence 45 + for @{ 'PRestStarSn $T1 $T2 }. + +(* Reduction ****************************************************************) notation "hvbox( L ⊢ break 𝐑 ⦃ term 46 T ⦄ )" non associative with precedence 45 @@ -312,59 +288,23 @@ notation "hvbox( L ⊢ break 𝐇𝐍 ⦃ term 46 T ⦄ )" non associative with precedence 45 for @{ 'HdNormal $L $T }. -notation "hvbox( T1 ➡ break term 46 T2 )" - non associative with precedence 45 - for @{ 'PRed $T1 $T2 }. - notation "hvbox( L ⊢ break term 46 T1 ➡ break term 46 T2 )" non associative with precedence 45 for @{ 'PRed $L $T1 $T2 }. -notation "hvbox( ⦃ term 46 L1 ⦄ ➡ break ⦃ term 46 L2 ⦄ )" - non associative with precedence 45 - for @{ 'FocalizedPRed $L1 $L2 }. - -notation "hvbox( ⦃ term 46 L1, break term 46 T1 ⦄ ➡ break ⦃ term 46 L2 , break term 46 T2 ⦄ )" - non associative with precedence 45 - for @{ 'FocalizedPRed $L1 $T1 $L2 $T2 }. - -notation "hvbox( L ⊢ break ⦃ term 46 L1, break term 46 T1 ⦄ ➡ break ⦃ term 46 L2 , break term 46 T2 ⦄ )" +notation "hvbox( L1 ⊢ ➡ break term 46 L2 )" non associative with precedence 45 - for @{ 'FocalizedPRed $L $L1 $T1 $L2 $T2 }. - -notation "hvbox( ⦃ term 46 L1 ⦄ ➡ ➡ break ⦃ term 46 L2 ⦄ )" - non associative with precedence 45 - for @{ 'FocalizedPRedAlt $L1 $L2 }. + for @{ 'PRedSn $L1 $L2 }. (* Computation **************************************************************) -notation "hvbox( T1 ➡ * break term 46 T2 )" - non associative with precedence 45 - for @{ 'PRedStar $T1 $T2 }. - notation "hvbox( L ⊢ break term 46 T1 ➡ * break term 46 T2 )" non associative with precedence 45 for @{ 'PRedStar $L $T1 $T2 }. -notation "hvbox( T1 ➡ ➡ * break term 46 T2 )" +notation "hvbox( L1 ⊢ ➡* break term 46 L2 )" non associative with precedence 45 - for @{ 'PRedStarAlt $T1 $T2 }. - -notation "hvbox( ⦃ term 46 L1 ⦄ ➡ * break ⦃ term 46 L2 ⦄ )" - non associative with precedence 45 - for @{ 'FocalizedPRedStar $L1 $L2 }. - -notation "hvbox( ⦃ term 46 L1 , term 46 T1 ⦄ ➡ * break ⦃ term 46 L2 , term 46 T2 ⦄ )" - non associative with precedence 45 - for @{ 'FocalizedPRedStar $L1 $T1 $L2 $T2 }. - -notation "hvbox( ⦃ term 46 L1 ⦄ ➡ ➡ * break ⦃ term 46 L2 ⦄ )" - non associative with precedence 45 - for @{ 'FocalizedPRedStarAlt $L1 $L2 }. - -notation "hvbox( ⦃ term 46 L1 , term 46 T1 ⦄ ➡ ➡ * break ⦃ term 46 L2 , term 46 T2 ⦄ )" - non associative with precedence 45 - for @{ 'FocalizedPRedStarAlt $L1 $T1 $L2 $T2 }. + for @{ 'PRedSnStar $L1 $L2 }. notation "hvbox( L ⊢ break term 46 T1 ➡ * break 𝐍 ⦃ term 46 T2 ⦄ )" non associative with precedence 45 @@ -404,21 +344,9 @@ notation "hvbox( L ⊢ break term 46 T1 ⬌ break term 46 T2 )" non associative with precedence 45 for @{ 'PConv $L $T1 $T2 }. -notation "hvbox( ⦃ term 46 L1 ⦄ ⬌ break ⦃ term 46 L2 ⦄ )" - non associative with precedence 45 - for @{ 'FocalizedPConv $L1 $L2 }. - -notation "hvbox( ⦃ term 46 L1 , break term 46 T1 ⦄ ⬌ break ⦃ term 46 L2 , break term 46 T2 ⦄ )" - non associative with precedence 45 - for @{ 'FocalizedPConv $L1 $T1 $L2 $T2 }. - -notation "hvbox( ⦃ term 46 L1 ⦄ ⬌ ⬌ break ⦃ term 46 L2 ⦄ )" - non associative with precedence 45 - for @{ 'FocalizedPConvAlt $L1 $L2 }. - -notation "hvbox( ⦃ term 46 L1 , break term 46 T1 ⦄ ⬌ ⬌ break ⦃ term 46 L2 , break term 46 T2 ⦄ )" +notation "hvbox( L1 ⊢ ⬌ break term 46 L2 )" non associative with precedence 45 - for @{ 'FocalizedPConvAlt $L1 $T1 $L2 $T2 }. + for @{ 'PConvSn $L1 $L2 }. (* Equivalence **************************************************************) @@ -430,29 +358,17 @@ notation "hvbox( h ⊢ break term 46 L1 • ⊑ break [ term 46 g ] break term 4 non associative with precedence 45 for @{ 'CrSubEqS $h $g $L1 $L2 }. -notation "hvbox( ⦃ term 46 L1 ⦄ ⬌ * break ⦃ term 46 L2 ⦄ )" - non associative with precedence 45 - for @{ 'FocalizedPConvStar $L1 $L2 }. - -notation "hvbox( ⦃ term 46 L1 , break term 46 T1 ⦄ ⬌ * break ⦃ term 46 L2 , break term 46 T2 ⦄ )" - non associative with precedence 45 - for @{ 'FocalizedPConvStar $L1 $T1 $L2 $T2 }. - -notation "hvbox( ⦃ term 46 L1 ⦄ ⬌ ⬌ * break ⦃ term 46 L2 ⦄ )" - non associative with precedence 45 - for @{ 'FocalizedPConvStarAlt $L1 $L2 }. - -notation "hvbox( ⦃ term 46 L1 , break term 46 T1 ⦄ ⬌ ⬌ * break ⦃ term 46 L2 , break term 46 T2 ⦄ )" +notation "hvbox( L1 ⊢ ⬌* break term 46 L2 )" non associative with precedence 45 - for @{ 'FocalizedPConvStarAlt $L1 $T1 $L2 $T2 }. + for @{ 'PConvSnStar $L1 $L2 }. (* Dynamic typing ***********************************************************) -notation "hvbox( ⦃ term 46 h , break term 46 L ⦄ ⊩ break term 46 T : break [ term 46 g ] )" +notation "hvbox( ⦃ term 46 h , break term 46 L ⦄ ⊢ break term 46 T ¡ break [ term 46 g ] )" non associative with precedence 45 for @{ 'NativeValid $h $g $L $T }. -notation "hvbox( h ⊢ break term 46 L1 ⊩ : ⊑ break [ term 46 g ] break term 46 L2 )" +notation "hvbox( h ⊢ break term 46 L1 ¡ ⊑ break [ term 46 g ] break term 46 L2 )" non associative with precedence 45 for @{ 'CrSubEqV $h $g $L1 $L2 }.