X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fcore_notation.moo;h=ae589803f7d4dbe16a50f64ccde8da4e922b9594;hb=e78cf74f8976cf0ca554f64baa9979d0423ee927;hp=9970c9cfb6d6d331dd4847490f399e6e197ca9fb;hpb=970430a378f27d4e5cc2a45dc2fa3d79bc9bf088;p=helm.git diff --git a/helm/software/matita/core_notation.moo b/helm/software/matita/core_notation.moo index 9970c9cfb..ae589803f 100644 --- a/helm/software/matita/core_notation.moo +++ b/helm/software/matita/core_notation.moo @@ -1,8 +1,24 @@ +(* exists *******************************************************************) + +notation "hvbox(∃ _ break . p)" + with precedence 20 +for @{'exists $p }. + +notation < "hvbox(\exists ident i : ty break . p)" + right associative with precedence 20 +for @{'exists (\lambda ${ident i} : $ty. $p) }. + +notation < "hvbox(\exists ident i break . p)" + with precedence 20 +for @{'exists (\lambda ${ident i}. $p) }. + +(* notation < "hvbox(\exists ident i opt (: ty) break . p)" right associative with precedence 20 for @{ 'exists ${default @{\lambda ${ident i} : $ty. $p} @{\lambda ${ident i} . $p}}}. +*) notation > "\exists list1 ident x sep , opt (: T). term 19 Px" with precedence 20 @@ -11,11 +27,23 @@ notation > "\exists list1 ident x sep , opt (: T). term 19 Px" @{ ${ fold right @{$Px} rec acc @{'exists (λ${ident x}.$acc)} } } }. +(* sigma ********************************************************************) + +notation < "hvbox(\Sigma ident i : ty break . p)" + left associative with precedence 20 +for @{'sigma (\lambda ${ident i} : $ty. $p) }. + +notation < "hvbox(\Sigma ident i break . p)" + with precedence 20 +for @{'sigma (\lambda ${ident i}. $p) }. + +(* notation < "hvbox(\Sigma ident i opt (: ty) break . p)" right associative with precedence 20 for @{ 'sigma ${default @{\lambda ${ident i} : $ty. $p} @{\lambda ${ident i} . $p}}}. +*) notation > "\Sigma list1 ident x sep , opt (: T). term 19 Px" with precedence 20 @@ -24,6 +52,8 @@ notation > "\Sigma list1 ident x sep , opt (: T). term 19 Px" @{ ${ fold right @{$Px} rec acc @{'sigma (λ${ident x}.$acc)} } } }. +(* other notations **********************************************************) + notation "hvbox(\langle term 19 a, break term 19 b\rangle)" with precedence 90 for @{ 'pair $a $b}. @@ -47,9 +77,12 @@ notation < "hvbox(a break \to b)" right associative with precedence 20 for @{ \Pi $_:$a.$b }. -notation "hvbox(a break = b)" +notation > "hvbox(a break = b)" + non associative with precedence 45 +for @{ 'eq ? $a $b }. +notation < "hvbox(term 46 a break maction (=) (=\sub t) term 46 b)" non associative with precedence 45 -for @{ 'eq $a $b }. +for @{ 'eq $t $a $b }. notation "hvbox(a break \leq b)" non associative with precedence 45 @@ -67,9 +100,13 @@ notation "hvbox(a break \gt b)" non associative with precedence 45 for @{ 'gt $a $b }. -notation "hvbox(a break \neq b)" +notation > "hvbox(a break \neq b)" + non associative with precedence 45 +for @{ 'neq ? $a $b }. + +notation < "hvbox(a break maction (\neq) (\neq\sub t) b)" non associative with precedence 45 -for @{ 'neq $a $b }. +for @{ 'neq $t $a $b }. notation "hvbox(a break \nleq b)" non associative with precedence 45 @@ -225,3 +262,13 @@ notation "\integers" non associative with precedence 90 for @{'Z}. notation "\complexes" non associative with precedence 90 for @{'C}. notation "\ee" with precedence 90 for @{ 'neutral }. (* ⅇ *) + +notation > "x ⊩ y" with precedence 45 for @{'Vdash2 $x $y ?}. +notation > "x ⊩⎽ term 90 c y" with precedence 45 for @{'Vdash2 $x $y $c}. +notation "x (⊩ \sub term 90 c) y" with precedence 45 for @{'Vdash2 $x $y $c}. +notation > "⊩ " with precedence 60 for @{'Vdash ?}. +notation "(⊩ \sub term 90 c) " with precedence 60 for @{'Vdash $c}. + +notation < "maction (mstyle color #ff0000 (­…­)) (t)" +non associative with precedence 90 for @{'hide $t}. +