]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/core_notation.moo
Using Prop conjuction on Props lowers the universes.
[helm.git] / helm / software / matita / core_notation.moo
index 3b157ec5877d3933805a51b9344da2162db2c2d6..0043825ceaf32df56b2921c88074abb7b7ac1e3b 100644 (file)
@@ -1,9 +1,32 @@
 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} : $ty. $p}
   @{\lambda ${ident i} . $p}}}.
 
+(* Bugged notation: $T is not used if provided *)
+notation > "\exists list1 ident x sep , opt (: T). term 19 Px"
+  with precedence 20
+  for ${ default
+          @{ ${ fold right @{$Px} rec acc @{'exists (λ${ident x}:$T.$acc)} } }
+          @{ ${ fold right @{$Px} rec acc @{'exists (λ${ident x}.$acc)} } }
+       }.
+
+notation "hvbox(\langle term 19 a, break term 19 b\rangle)" 
+with precedence 90 for @{ 'pair $a $b}.
+
+notation "hvbox(x break \times y)" with precedence 70
+for @{ 'product $x $y}.
+
+notation < "\fst \nbsp term 90 x" with precedence 69 for @{'pi1a $x}.
+notation < "\snd \nbsp term 90 x" with precedence 69 for @{'pi2a $x}.
+
+notation < "\fst \nbsp term 90 x \nbsp term 90 y" with precedence 69 for @{'pi1b $x $y}.
+notation < "\snd \nbsp term 90 x \nbsp term 90 y" with precedence 69 for @{'pi2b $x $y}.
+
+notation > "\fst" with precedence 90 for @{'pi1}.
+notation > "\snd" with precedence 90 for @{'pi2}.
+
 notation "hvbox(a break \to b)" 
   right associative with precedence 20
 for @{ \forall $_:$a.$b }.
@@ -88,12 +111,7 @@ notation "hvbox(a break / b)"
   left associative with precedence 55
 for @{ 'divide $a $b }.
 
-notation > "- a" 
-  right associative with precedence 60
-for @{ 'uminus $a }.
-
-notation < "- a" 
-  right associative with precedence 75
+notation "- term 60 a" with precedence 60 
 for @{ 'uminus $a }.
 
 notation "a !"
@@ -117,5 +135,5 @@ notation "hvbox(a break \land b)"
 for @{ 'and $a $b }.
 
 notation "hvbox(\lnot a)" 
-  left associative with precedence 40
+  non associative with precedence 40
 for @{ 'not $a }.