]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/core_notation.moo
go notation go!
[helm.git] / helm / software / matita / core_notation.moo
index 1ea2f922bc55211f29c03acc9533d9f3257ca0b8..98658726a1699a40f4dfa5bb4045c56c8b920c73 100644 (file)
@@ -11,6 +11,19 @@ notation > "\exists list1 ident x sep , opt (: T). term 19 Px"
           @{ ${ fold right @{$Px} rec acc @{'exists (λ${ident x}.$acc)} } }
        }.
 
+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
+  for ${ default
+          @{ ${ fold right @{$Px} rec acc @{'sigma (λ${ident x}:$T.$acc)} } }
+          @{ ${ fold right @{$Px} rec acc @{'sigma (λ${ident x}.$acc)} } }
+       }.
+
 notation "hvbox(\langle term 19 a, break term 19 b\rangle)" 
 with precedence 90 for @{ 'pair $a $b}.
 
@@ -137,6 +150,15 @@ notation "hvbox(\lnot a)"
   non associative with precedence 40
 for @{ 'not $a }.
 
+notation > "hvbox(a break \liff b)" 
+  left associative with precedence 25
+for @{ 'iff $a $b }.
+
+notation "hvbox(a break \leftrightarrow b)" 
+  left associative with precedence 25
+for @{ 'iff $a $b }.
+
+
 notation "hvbox(\Omega \sup term 90 A)" non associative with precedence 70
 for @{ 'powerset $A }.
 
@@ -146,6 +168,12 @@ for @{ 'subset (\lambda ${ident i} : $nonexistent . $p)}.
 notation > "hvbox({ ident i | term 19 p })" with precedence 90
 for @{ 'subset (\lambda ${ident i}. $p)}.
 
+notation < "hvbox({ ident i ∈ s | term 19 p })" with precedence 90
+for @{ 'comprehension $s (\lambda ${ident i} : $nonexistent . $p)}.
+
+notation > "hvbox({ ident i ∈ s | term 19 p })" with precedence 90
+for @{ 'comprehension $s (\lambda ${ident i}. $p)}.
+
 notation "hvbox(a break ∈ b)" non associative with precedence 45
 for @{ 'mem $a $b }.
 
@@ -173,10 +201,20 @@ notation "hvbox(a break \circ b)"
   left associative with precedence 55
 for @{ 'compose $a $b }.
 
-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 @{ 'downarrow $a }.
+
+notation "hvbox(U break ↓ V)" non associative with precedence 55 for @{ 'fintersects $U $V }.
+
+notation "↑a" with precedence 55 for @{ 'uparrow $a }.
+
+notation "hvbox(a break ↑ b)" with precedence 55 for @{ 'funion $a $b }.
+
+notation "a \sup b" left associative 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 }.
 
 notation "\naturals" non associative with precedence 90 for @{'N}.
 notation "\rationals" non associative with precedence 90 for @{'Q}.