Built with Alectryon, running Coq+SerAPI v8.18.0+0.18.3. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
(** To reserve this notation, we must first bootstrap, and preserve the underlying [forall] notation *)Notation"'forall' x .. y , P" := (forallx , .. (forally, P) ..) (at level200, x binder, y binder, right associativity).
Identifier 'exists' nowakeyword
(** Work around bug 5569, https://coq.inria.fr/bugs/show_bug.cgi?id=5569, Warning skip-spaces-curly,parsing seems bogus *)Local Set Warnings Append "-skip-spaces-curly".(** These are the notations whose level and associativity are imposed by Coq *)(** Notations for propositional connectives *)Reserved Notation"x -> y" (at level99, right associativity, y at level200).Reserved Notation"x <-> y" (at level95, no associativity).Reserved Notation"x /\ y" (at level80, right associativity).Reserved Notation"x \/ y" (at level85, right associativity).Reserved Notation"x |_| y" (at level85, right associativity).Reserved Notation"~ x" (at level35, right associativity).(** Notations for equality and inequalities *)Reserved Notation"x = y :> T"
(at level70, y at next level, no associativity).Reserved Notation"x = y" (at level70, no associativity).Reserved Notation"x = y = z"
(at level70, no associativity, y at next level).Reserved Notation"x <> y :> T"
(at level70, y at next level, no associativity).Reserved Notation"x <> y" (at level70, no associativity).Reserved Notation"x <= y" (at level70, no associativity).Reserved Notation"x < y" (at level70, no associativity).Reserved Notation"x >= y" (at level70, no associativity).Reserved Notation"x > y" (at level70, no associativity).Reserved Notation"x <= y <= z" (at level70, y at next level).Reserved Notation"x <= y < z" (at level70, y at next level).Reserved Notation"x < y < z" (at level70, y at next level).Reserved Notation"x < y <= z" (at level70, y at next level).(** Arithmetical notations (also used for type constructors) *)Reserved Notation"x + y" (at level50, left associativity).Reserved Notation"x - y" (at level50, left associativity).Reserved Notation"x * y" (at level40, left associativity).Reserved Notation"x / y" (at level40, left associativity).Reserved Notation"- x" (at level35, right associativity).Reserved Notation"/ x" (at level35, right associativity).Reserved Notation"x ^ y" (at level30, right associativity).(** Notations for booleans *)Reserved Notation"x || y" (at level50, left associativity).Reserved Notation"x && y" (at level40, left associativity).(** Notations for pairs *)Reserved Notation"( x , y , .. , z )" (at level0).(** Notation "{ x }" is reserved and has a special status as component of other notations such as "{ A } + { B }" and "A + { B }" (which are at the same level as "x + y"); "{ x }" is at level 0 to factor with "{ x : A | P }" *)Reserved Notation"{ x }" (at level0, x at level99).(** Notations for sigma-types or subsets *)Reserved Notation"{ x | P }" (at level0, x at level99).Reserved Notation"{ x | P & Q }" (at level0, x at level99).Reserved Notation"{ x : A | P }" (at level0, x at level99).Reserved Notation"{ x : A | P & Q }" (at level0, x at level99).Reserved Notation"{ x : A & P }" (at level0, x at level99).Reserved Notation"{ x : A & P & Q }" (at level0, x at level99).(** Numeric *)Reserved Notation"n .+1" (at level2, left associativity, format"n .+1").Reserved Notation"n .+2" (at level2, left associativity, format"n .+2").Reserved Notation"n .+3" (at level2, left associativity, format"n .+3").Reserved Notation"n .+4" (at level2, left associativity, format"n .+4").Reserved Notation"n .+5" (at level2, left associativity, format"n .+5").Reserved Notation"n '.-1'" (at level2, left associativity, format"n .-1").Reserved Notation"n '.-2'" (at level2, left associativity, format"n .-2").Reserved Notation"m +2+ n" (at level50, left associativity).