X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fcore_notation.moo;h=98658726a1699a40f4dfa5bb4045c56c8b920c73;hb=4dfb1305a9c4a7c292f4b1957de1454d46c1ab8a;hp=8ce02776502647fddc514f84a6a4d6e90ad70eed;hpb=883affb9b633393615ce3cb674834664c5b9c881;p=helm.git diff --git a/helm/software/matita/core_notation.moo b/helm/software/matita/core_notation.moo index 8ce027765..98658726a 100644 --- a/helm/software/matita/core_notation.moo +++ b/helm/software/matita/core_notation.moo @@ -1,9 +1,44 @@ 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}}}. +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(\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}. + +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 }. @@ -72,11 +107,15 @@ notation "hvbox(a break * b)" left associative with precedence 55 for @{ 'times $a $b }. +notation "hvbox(a break \middot b)" + left associative with precedence 55 + for @{ 'middot $a $b }. + notation "hvbox(a break \mod b)" left associative with precedence 55 for @{ 'module $a $b }. -notation "\frac a b" +notation "a \frac b" non associative with precedence 90 for @{ 'divide $a $b }. @@ -88,22 +127,13 @@ 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 !" non associative with precedence 80 for @{ 'fact $a }. -notation "(a \sup b)" - right associative with precedence 65 -for @{ 'exp $a $b}. - notation "\sqrt a" non associative with precedence 60 for @{ 'sqrt $a }. @@ -119,3 +149,77 @@ for @{ 'and $a $b }. 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 }. + +notation < "hvbox({ ident i | term 19 p })" with precedence 90 +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 }. + +notation "hvbox(a break ≬ b)" non associative with precedence 45 +for @{ 'overlaps $a $b }. (* \between *) + +notation "hvbox(a break ⊆ b)" non associative with precedence 45 +for @{ 'subseteq $a $b }. (* \subseteq *) + +notation "hvbox(a break ∩ b)" non associative with precedence 55 +for @{ 'intersects $a $b }. (* \cap *) + +notation "hvbox(a break ∪ b)" non associative with precedence 50 +for @{ 'union $a $b }. (* \cup *) + +notation "hvbox({ term 19 a })" with precedence 90 for @{ 'singl $a}. + +notation "hvbox(a break \approx b)" non associative with precedence 45 + for @{ 'napart $a $b}. + +notation "hvbox(a break # b)" non associative with precedence 45 + for @{ 'apart $a $b}. + +notation "hvbox(a break \circ b)" + left associative with precedence 55 +for @{ 'compose $a $b }. + +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}. +notation "\reals" non associative with precedence 90 for @{'R}. +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 }. (* ⅇ *)