Coq 中保留符号的多个 Where 子句?

Multiple Where-clauses for Reserved Notation in Coq?

我有一堆使用 with 声明的互感数据类型,我想为它们中的每一个定义一个 Notation,我可以在定义时使用它们他们。

我知道 Reserved Notationswith 子句,但我无法弄清楚定义多个符号的语法,这些符号适用于我所有的互归纳类型。

是否可以在 where 子句中定义多个 Notations,如果可以,有没有人有我能看到的例子?

一个例子:

Reserved Notation "# n" (at level 80).
Reserved Notation "! n" (at level 80).

Inductive even : nat -> Set :=
  | ev0 : #0
  | evS : forall n, !n -> # S n
where "# n" := (even n)
with odd : nat -> Set :=
  odS : forall n, #n -> ! S n
where "! n" := (odd n).