(* 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)} } }
}.
-*)
(* other notations **********************************************************)