]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/core_notation.moo
bugfix in the output notation for eq
[helm.git] / helm / software / matita / core_notation.moo
index 025a9899df5ec6058f6af934231d6c6da772d390..701903d11779c01374fbb4167d014881a13836fe 100644 (file)
@@ -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 }.
+for @{ 'eq ? $a $b }.
+notation < "hvbox(term 46 a break maction (=) (=\sub t) term 46 b)" 
+  non associative with precedence 45
+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
@@ -201,13 +238,20 @@ notation "hvbox(a break \circ b)"
   left associative with precedence 55
 for @{ 'compose $a $b }.
 
-notation "↓a" with precedence 55 for @{ 'downarrow $a }.
+notation < "↓ \ensp a" with precedence 55 for @{ 'downarrow $a }.
+notation > "↓ a" with precedence 55 for @{ 'downarrow $a }.
 
 notation "hvbox(U break ↓ V)" non associative with precedence 55 for @{ 'fintersects $U $V }.
 
-notation "(a \sup b)" left associative with precedence 60 for @{ 'exp $a $b}.
-notation "s \sup (-1)" with precedence 60 for @{ 'invert $s }.
-notation < "s \sup (-1) x" with precedence 60 for @{ 'invert_appl $s $x}. 
+notation "↑a" with precedence 55 for @{ 'uparrow $a }.
+
+notation "hvbox(a break ↑ b)" with precedence 55 for @{ 'funion $a $b }.
+
+notation "a \sup term 89 b" with precedence 90 for @{ 'exp $a $b}.
+notation > "a ^ term 89 b"  with precedence 90 for @{ 'exp $a $b}.
+notation "s \sup (-1)" with precedence 90 for @{ 'invert $s }.
+notation > "s ^ (-1)" with precedence 90 for @{ 'invert $s }.
+notation < "s \sup (-1) x" with precedence 90 for @{ 'invert_appl $s $x}. 
 
 notation "hvbox(|term 90 C|)" with precedence 69 for @{ 'card $C }.
 
@@ -218,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}.
+