X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Flib%2Flambda%2Flambda_notation.ma;h=e8ca08046d97164ea86bd987624231f01bb1940b;hb=41c4bfe9415b1b40278878dd767b734c61a47a69;hp=f7f8d9d8fbe26f114abd76b0da08a61fa10b3e06;hpb=adc2a5bba9b4b907fdc1eb8ad443c97e3fdc7bd0;p=helm.git diff --git a/matita/matita/lib/lambda/lambda_notation.ma b/matita/matita/lib/lambda/lambda_notation.ma index f7f8d9d8f..e8ca08046 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,22 +23,76 @@ notation "hvbox(a break (≅ ^ term 90 c) b)" non associative with precedence 45 for @{'Eq1 $c $a $b}. +notation "hbox(! term 50 a)" + non associative with precedence 50 + for @{'Invariant $a}. + +notation "hbox((! ^ term 90 b) term 50 a)" + non associative with precedence 50 + for @{'Invariant1 $a $b}. + (* lifting, substitution *) -notation "hvbox(M break [ l ])" +notation "hvbox(↑ [ p break , k ] break t)" + non associative with precedence 50 + for @{'Lift1 $p $k $t}. + +notation "hvbox(M break [ / l ])" + non associative with precedence 90 + for @{'Subst $M $l}. + +notation "hvbox(M break [ k ≝ N ])" non associative with precedence 90 - for @{'Subst1 $M $l}. + for @{'Subst1 $M $k $N}. + +(* type judgements *) + +notation "hvbox(G break ⊢ A break : B)" + non associative with precedence 45 + for @{'TJ $G $A $B}. + +notation "hvbox(G break ⊢ A break ÷ B)" + non associative with precedence 45 + for @{'TJ0 $G $A $B}. + +(* interpretations *) + +notation "hvbox(║T║)" + non associative with precedence 50 + for @{'IInt $T}. + +notation "hvbox(║T║ break _ [E])" + non associative with precedence 50 + for @{'IInt1 $T $E}. + +notation "hvbox(║T║ break _ [E1 break , E2])" + non associative with precedence 50 + for @{'IInt2 $T $E1 $E2}. + +notation "hvbox(〚T〛)" + non associative with precedence 50 + for @{'EInt $T}. + +notation "hvbox(〚T〛 break _ [E])" + non associative with precedence 50 + for @{'EInt1 $T $E}. -(* evaluation, interpretation *) +notation "hvbox(〚T〛 break _ [E1 break , E2])" + non associative with precedence 50 + for @{'EInt2 $T $E1 $E2}. + +notation "hvbox(《T》)" + non associative with precedence 50 + for @{'XInt $T}. -notation "hvbox(〚term 90 T〛)" +notation "hvbox(《T》 break _ [E])" non associative with precedence 50 - for @{'Eval $T}. + for @{'XInt1 $T $E}. -notation "hvbox(〚term 90 T〛 break _ [term 90 E])" +notation "hvbox(《T》 break _ [E1 break , E2])" non associative with precedence 50 - for @{'Eval1 $T $E}. + for @{'XInt2 $T $E1 $E2}. -notation "hvbox(〚term 90 T〛 break _ [term 90 E1 break , term 90 E2])" +notation "hvbox(𝕂{T} break _ [E])" non associative with precedence 50 - for @{'Eval2 $T $E1 $E2}. + for @{'IK1 $T $E}.