Syntax 在记录中使用符号
Coq手册()规定 由于保留符号、归纳、共归纳、记录,递归和协同草书定义可以使用自定义符号 我想定义一下Syntax 在记录中使用符号,syntax,coq,Syntax,Coq,Coq手册()规定 由于保留符号、归纳、共归纳、记录,递归和协同草书定义可以使用自定义符号 我想定义一下 Reserved Notation "A +' B" (at level 80). Record foo T := { add : T -> T ->T; commute a b : a +' b = b +' a where "a +' b" := (add a b) }. 但我明白了 Error: Unk
Reserved Notation "A +' B" (at level 80).
Record foo T :=
{ add : T -> T ->T;
commute a b : a +' b = b +' a
where "a +' b" := (add a b)
}.
但我明白了
Error: Unknown interpretation for notation "_ +' _".
在
记录中首次使用之前,必须定义符号,如下所示:
Reserved Notation "A +' B" (at level 60).
Record foo T :=
{ add : T -> T ->T where "A +' B" := (add A B);
commute a b : a +' b = b +' a
}.
将“where”子句放在记录之后会显示一条错误消息:“where子句不支持记录”。无论是在手册中还是在语法中,这看起来都像一个bug。