X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Flib%2Flambda%2Flambda_notation.ma;h=e9e84c828325405940e566980f07d0a069df1839;hb=53f874fba5b9c39a788085515a4fefe5d29281da;hp=0ad437ab04ba21c70ae70fa78314c80e3acf5dd2;hpb=60779bad5c038c5573514800a7b50eafb45013fa;p=helm.git diff --git a/matita/matita/lib/lambda/lambda_notation.ma b/matita/matita/lib/lambda/lambda_notation.ma index 0ad437ab0..e9e84c828 100644 --- a/matita/matita/lib/lambda/lambda_notation.ma +++ b/matita/matita/lib/lambda/lambda_notation.ma @@ -12,9 +12,8 @@ (* *) (**************************************************************************) -(* NOTATION FOR THE LAMBDA CALCULUS *******************************************) - -(* equivalences *) +(* NOTATION FOR THE LAMBDA CALCULUS *) +(* equivalence, invariance *) notation "hvbox(a break ≅ b)" non associative with precedence 45 @@ -24,34 +23,84 @@ notation "hvbox(a break (≅ ^ term 90 c) b)" non associative with precedence 45 for @{'Eq1 $c $a $b}. +notation "hbox(! term 55 a)" + non associative with precedence 55 + for @{'Invariant $a}. + +notation "hbox((! ^ term 90 b) term 55 a)" + non associative with precedence 55 + for @{'Invariant1 $a $b}. + (* lifting, substitution *) -notation "hvbox(M break [ l ])" +notation "hvbox(↑ [ p break , k ] break t)" + non associative with precedence 55 + for @{'Lift1 $p $k $t}. + +notation "hvbox(M break [ / l ])" non associative with precedence 90 - for @{'Subst1 $M $l}. + for @{'Subst $M $l}. + +notation "hvbox(M break [ k ≝ N ])" + non associative with precedence 90 + for @{'Subst1 $M $k $N}. + +(* type judgements *) + +notation "hvbox(G break ⊢ A break : B)" + non associative with precedence 45 + for @{'TJ $G $A $B}. -(* interpretation *) +notation "hvbox(G break ⊢ A break ÷ B)" + non associative with precedence 45 + for @{'TJ0 $G $A $B}. -notation "hvbox(〚term 90 T〛)" - non associative with precedence 50 +(* interpretations *) + +notation "hvbox(║T║)" + non associative with precedence 55 for @{'IInt $T}. -notation "hvbox(〚term 90 T〛 break _ [term 90 E])" - non associative with precedence 50 +notation "hvbox(║T║ break _ [E])" + non associative with precedence 55 for @{'IInt1 $T $E}. -notation "hvbox(〚term 90 T〛 break _ [term 90 E1 break , term 90 E2])" - non associative with precedence 50 +notation "hvbox(║T║ break _ [E1 break , E2])" + non associative with precedence 55 for @{'IInt2 $T $E1 $E2}. -notation "hvbox(《term 90 T》)" - non associative with precedence 50 +notation "hvbox(║T║ * break _ [E])" + non associative with precedence 55 + for @{'IIntS1 $T $E}. + +notation "hvbox(〚T〛)" + non associative with precedence 55 for @{'EInt $T}. -notation "hvbox(《term 90 T》 break _ [term 90 E])" - non associative with precedence 50 +notation "hvbox(〚T〛 break _ [E])" + non associative with precedence 55 for @{'EInt1 $T $E}. -notation "hvbox(《term 90 T》 break _ [term 90 E1 break , term 90 E2])" - non associative with precedence 50 +notation "hvbox(〚T〛 break _ [E1 break , E2])" + non associative with precedence 55 for @{'EInt2 $T $E1 $E2}. + +notation "hvbox(《T》)" + non associative with precedence 55 + for @{'XInt $T}. + +notation "hvbox(《T》 break _ [E])" + non associative with precedence 55 + for @{'XInt1 $T $E}. + +notation "hvbox(《T》 break _ [E1 break , E2])" + non associative with precedence 55 + for @{'XInt2 $T $E1 $E2}. + +notation "hvbox(𝕂{G})" + non associative with precedence 55 + for @{'IK $G}. + +notation "hvbox(𝕂{T} break _ [G])" + non associative with precedence 55 + for @{'IK $T $G}.