From 05f30d597443a6709d8df916e962f977a553c8ca Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Sat, 17 Sep 2016 18:43:54 -0400 Subject: Add reserved notation for Let, change # We reserve [a # b] in Notations.v, and make it's level compatible with the notation declared in the std lib for Q. --- src/Util/Notations.v | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/Util/Notations.v') diff --git a/src/Util/Notations.v b/src/Util/Notations.v index 166130824..e0215061f 100644 --- a/src/Util/Notations.v +++ b/src/Util/Notations.v @@ -55,12 +55,17 @@ Reserved Notation "$$ v" (at level 40). Reserved Notation "& x" (at level 30). Reserved Notation "** x" (at level 30). Reserved Notation "A <- X ; B" (at level 70, right associativity). -Reserved Notation "'plet' x := y 'in' z" (at level 60). Reserved Notation "u [ i ]" (at level 30). Reserved Notation "v [[ i ]]" (at level 30). Reserved Notation "u {{ i }}" (at level 30). +Reserved Notation "a # b" (at level 55, no associativity). (* match with theories/QArith/QArith_base.v *) +Reserved Notation "'plet' x := y 'in' z" + (at level 200, z at level 200, format "'plet' x := y 'in' '//' z"). Reserved Notation "'slet' x := A 'in' b" (at level 200, b at level 200, format "'slet' x := A 'in' '//' b"). +(* TODO(@andres-erbsen): Add a comment about why the syntax below is + different from [slet] and [plet], or make it match. *) +Reserved Notation "'Let' x := y 'in' f" + (at level 200, f at level 200, format "'[' 'Let' x := y 'in' ']' '/' '[' f ']'"). Reserved Notation "'λ' x .. y , t" (at level 200, x binder, y binder, right associativity). Reserved Notation "'λn' x .. y , t" (at level 200, right associativity). -(* FIXME: breaks Reflection.Syntax: Reserved Notation "'Let' x := y 'in' f" (at level 200, f at level 200). *) \ No newline at end of file -- cgit v1.2.3