X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fcore_notation.moo;h=6f5d78d033bcbd223e2ba1e36f759e0451289ab2;hb=50a9ed8c6207145fccf59e6a5dbbff935cd2c6d7;hp=1ea2f922bc55211f29c03acc9533d9f3257ca0b8;hpb=82d3076f6f1a73fd905775cdda0f8293fd69fd6a;p=helm.git diff --git a/helm/software/matita/core_notation.moo b/helm/software/matita/core_notation.moo index 1ea2f922b..6f5d78d03 100644 --- a/helm/software/matita/core_notation.moo +++ b/helm/software/matita/core_notation.moo @@ -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,6 +27,51 @@ 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 + for ${ default + @{ ${ fold right @{$Px} rec acc @{'sigma (λ${ident x}:$T.$acc)} } } + @{ ${ fold right @{$Px} rec acc @{'sigma (λ${ident x}.$acc)} } } + }. + +(* equality, conguence ******************************************************) + +notation > "hvbox(a break = b)" + non associative with precedence 45 +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(n break (≅ \sub term 90 p) m)" + non associative with precedence 45 +for @{ 'congruent $n $m $p }. + +notation < "hvbox(term 46 n break ≅ \sub p term 46 m)" + non associative with precedence 45 +for @{ 'congruent $n $m $p }. + +(* other notations **********************************************************) + notation "hvbox(\langle term 19 a, break term 19 b\rangle)" with precedence 90 for @{ 'pair $a $b}. @@ -34,10 +95,6 @@ notation < "hvbox(a break \to b)" right associative with precedence 20 for @{ \Pi $_:$a.$b }. -notation "hvbox(a break = b)" - non associative with precedence 45 -for @{ 'eq $a $b }. - notation "hvbox(a break \leq b)" non associative with precedence 45 for @{ 'leq $a $b }. @@ -54,9 +111,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 }. +for @{ 'neq ? $a $b }. + +notation < "hvbox(a break maction (\neq) (\neq\sub t) b)" + non associative with precedence 45 +for @{ 'neq $t $a $b }. notation "hvbox(a break \nleq b)" non associative with precedence 45 @@ -137,7 +198,18 @@ notation "hvbox(\lnot a)" non associative with precedence 40 for @{ 'not $a }. -notation "hvbox(\Omega \sup term 90 A)" non associative with precedence 70 +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 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 @@ -146,6 +218,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 }. @@ -155,10 +233,10 @@ 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 +notation "hvbox(a break ∩ b)" left associative with precedence 55 for @{ 'intersects $a $b }. (* \cap *) -notation "hvbox(a break ∪ b)" non associative with precedence 50 +notation "hvbox(a break ∪ b)" left associative with precedence 50 for @{ 'union $a $b }. (* \cup *) notation "hvbox({ term 19 a })" with precedence 90 for @{ 'singl $a}. @@ -173,10 +251,23 @@ 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 < "↓ \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}. +notation > "a ^ term 90 b" non associative with precedence 75 for @{ 'exp $a $b}. +notation "s \sup (-1)" non associative with precedence 75 for @{ 'invert $s }. +notation > "s ^ (-1)" non associative with precedence 75 for @{ 'invert $s }. +notation < "s \sup (-1) x" non associative with precedence 90 for @{ 'invert_appl $s $x}. + +notation "| term 19 C |" with precedence 70 for @{ 'card $C }. notation "\naturals" non associative with precedence 90 for @{'N}. notation "\rationals" non associative with precedence 90 for @{'Q}. @@ -185,3 +276,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}. +