X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Flib%2Fbasics%2Fcore_notation.ma;h=3bf1de3b26415caaaa7f52883e477eeeeb1a660c;hb=bf816f05ddbe0ded4948dd33490619724dc4f7cf;hp=4eae6c6c34467f679a90cafa4f8d6fe15e601798;hpb=c9c6cae5121a25b05450ea42578f14f74569cfbf;p=helm.git diff --git a/matita/matita/lib/basics/core_notation.ma b/matita/matita/lib/basics/core_notation.ma index 4eae6c6c3..3bf1de3b2 100644 --- a/matita/matita/lib/basics/core_notation.ma +++ b/matita/matita/lib/basics/core_notation.ma @@ -27,6 +27,14 @@ notation > "\exists list1 ident x sep , opt (: T). term 19 Px" @{ ${ fold right @{$Px} rec acc @{'exists (λ${ident x}.$acc)} } } }. +notation > "hvbox(∃∃ ident x0 break . term 19 P0 break & term 19 P1)" + non associative with precedence 20 + for @{ 'exists2 (λ${ident x0}.$P0) (λ${ident x0}.$P1) }. + +notation < "hvbox(∃∃ ident x0 break . term 19 P0 break & term 19 P1)" + non associative with precedence 20 + for @{ 'exists2 (λ${ident x0}:$T0.$P0) (λ${ident x0}:$T0.$P1) }. + (* sigma ********************************************************************) notation < "hvbox(\Sigma ident i : ty break . p)" @@ -101,7 +109,7 @@ notation < "hvbox(term 46 n break ≅ \sub p term 46 m)" non associative with precedence 45 for @{ 'congruent $n $m $p }. -(* other notations **********************************************************) +(* pairs, projections *******************************************************) notation "hvbox(\langle term 19 a, break term 19 b\rangle)" with precedence 90 for @{ 'pair $a $b}. @@ -118,6 +126,8 @@ notation < "\snd \nbsp term 90 x \nbsp term 90 y" with precedence 69 for @{'pi2b notation > "\fst" with precedence 90 for @{'pi1}. notation > "\snd" with precedence 90 for @{'pi2}. +(* implication **************************************************************) + notation "hvbox(a break \to b)" right associative with precedence 20 for @{ \forall $_:$a.$b }. @@ -126,6 +136,8 @@ notation < "hvbox(a break \to b)" right associative with precedence 20 for @{ \Pi $_:$a.$b }. +(* orders *******************************************************************) + notation "hvbox(a break \leq b)" non associative with precedence 45 for @{ 'leq $a $b }. @@ -142,6 +154,8 @@ notation "hvbox(a break \gt b)" non associative with precedence 45 for @{ 'gt $a $b }. +(* negated equality *********************************************************) + notation > "hvbox(a break \neq b)" non associative with precedence 45 for @{ 'neq ? $a $b }. @@ -150,6 +164,8 @@ notation < "hvbox(a break maction (\neq) (\neq\sub t) b)" non associative with precedence 45 for @{ 'neq $t $a $b }. +(* negated orders ***********************************************************) + notation "hvbox(a break \nleq b)" non associative with precedence 45 for @{ 'nleq $a $b }. @@ -166,6 +182,8 @@ notation "hvbox(a break \ngtr b)" non associative with precedence 45 for @{ 'ngtr $a $b }. +(* divides, negated divides *************************************************) + notation "hvbox(a break \divides b)" non associative with precedence 45 for @{ 'divides $a $b }. @@ -174,24 +192,26 @@ notation "hvbox(a break \ndivides b)" non associative with precedence 45 for @{ 'ndivides $a $b }. +(* arithmetics **************************************************************) + notation "hvbox(a break + b)" - left associative with precedence 50 + left associative with precedence 55 for @{ 'plus $a $b }. notation "hvbox(a break - b)" - left associative with precedence 50 + left associative with precedence 55 for @{ 'minus $a $b }. notation "hvbox(a break * b)" - left associative with precedence 55 + left associative with precedence 60 for @{ 'times $a $b }. notation "hvbox(a break \middot b)" - left associative with precedence 55 + left associative with precedence 60 for @{ 'middot $a $b }. notation "hvbox(a break \mod b)" - left associative with precedence 55 + left associative with precedence 60 for @{ 'module $a $b }. notation < "a \frac b" @@ -199,24 +219,22 @@ notation < "a \frac b" for @{ 'divide $a $b }. notation "a \over b" - left associative with precedence 55 + left associative with precedence 60 for @{ 'divide $a $b }. notation "hvbox(a break / b)" - left associative with precedence 55 + left associative with precedence 60 for @{ 'divide $a $b }. -notation "- term 60 a" with precedence 60 +notation "- term 65 a" with precedence 65 for @{ 'uminus $a }. -notation "a !" - non associative with precedence 80 -for @{ 'fact $a }. - notation "\sqrt a" - non associative with precedence 60 + non associative with precedence 65 for @{ 'sqrt $a }. +(* logical connectives ******************************************************) + notation "hvbox(a break \lor b)" left associative with precedence 30 for @{ 'or $a $b }. @@ -237,59 +255,36 @@ notation "hvbox(a break \leftrightarrow b)" left associative with precedence 25 for @{ 'iff $a $b }. +(* subsets ******************************************************************) notation "hvbox(\Omega \sup term 90 A)" non associative with precedence 90 for @{ 'powerset $A }. + notation > "hvbox(\Omega ^ term 90 A)" non associative with precedence 90 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 @{ 'notmem $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)" left associative with precedence 55 +notation "hvbox(a break ∩ b)" left associative with precedence 60 for @{ 'intersects $a $b }. (* \cap *) -notation "hvbox(a break ∪ b)" left associative with precedence 50 +notation "hvbox(a break ∪ b)" left associative with precedence 55 for @{ 'union $a $b }. (* \cup *) -notation "hvbox({ term 19 a })" with precedence 90 for @{ 'singl $a}. +(* other notations **********************************************************) 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 < "↓ \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" with precedence 55 for @{ 'uparrow $a }. - -notation "hvbox(a break ↑ b)" with precedence 55 for @{ 'funion $a $b }. notation < "term 76 a \sup term 90 b" non associative with precedence 75 for @{ 'exp $a $b}. notation > "a \sup term 90 b" non associative with precedence 75 for @{ 'exp $a $b}. @@ -311,8 +306,8 @@ 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 > "⊩ " with precedence 65 for @{'Vdash ?}. +notation "(⊩ \sub term 90 c) " with precedence 65 for @{'Vdash $c}. notation < "maction (mstyle color #ff0000 (­…­)) (t)" non associative with precedence 90 for @{'hide $t}.