(* exists *******************************************************************)
-notation < "hvbox(\exists ident i : ty break . p)"
+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
+ with precedence 20
for @{'exists (\lambda ${ident i}. $p) }.
(*
notation < "hvbox(\exists ident i opt (: ty) break . p)"
- with precedence 20
+ right associative with precedence 20
for @{ 'exists ${default
@{\lambda ${ident i} : $ty. $p}
@{\lambda ${ident i} . $p}}}.
*)
-notation > "\exists list1 ident x sep , : T. term 19 Px"
- with precedence 20
-for
- @{ ${ fold right @{$Px} rec acc @{'exists (λ${ident x}:$T.$acc)} } }.
-
-notation > "\exists list1 ident x sep , . term 19 Px"
- with precedence 20
-for
- @{ ${ fold right @{$Px} rec acc @{'exists (λ${ident x}.$acc)} } }.
-
-(*
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)} } }
}.
-*)
(* sigma ********************************************************************)
notation < "hvbox(\Sigma ident i : ty break . p)"
- with precedence 20
+ left associative with precedence 20
for @{'sigma (\lambda ${ident i} : $ty. $p) }.
notation < "hvbox(\Sigma ident i break . p)"
(*
notation < "hvbox(\Sigma ident i opt (: ty) break . p)"
- with precedence 20
+ right associative with precedence 20
for @{ 'sigma ${default
@{\lambda ${ident i} : $ty. $p}
@{\lambda ${ident i} . $p}}}.
*)
-notation > "\Sigma list1 ident x sep , : T. term 19 Px"
- with precedence 20
-for
- @{ ${ fold right @{$Px} rec acc @{'sigma (λ${ident x}:$T.$acc)} } }.
-
-notation > "\Sigma list1 ident x sep , . term 19 Px"
- with precedence 20
-for
- @{ ${ fold right @{$Px} rec acc @{'sigma (λ${ident x}.$acc)} } }.
-
-(*
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 **********************************************************)
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 maction (=) (=\sub t) b)"
- non associative with precedence 45
-for @{ 'eq $t $a $b }.
-
notation "hvbox(a break \leq b)"
non associative with precedence 45
for @{ 'leq $a $b }.
notation "hvbox(a break ↑ b)" with precedence 55 for @{ 'funion $a $b }.
-notation "a \sup term 89 b" with precedence 90 for @{ 'exp $a $b}.
+notation < "term 91 a \sup term 90 b" with precedence 90 for @{ 'exp $a $b}.
+notation > "a \sup term 89 b" with precedence 90 for @{ 'exp $a $b}.
notation > "a ^ term 89 b" 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 "\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 ⊩⎽ 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}.