Coq 找到接受中缀参数的符号
在Coq 找到接受中缀参数的符号,coq,Coq,在Coq.Numbers.Cyclic.ZModulo.ZModulo中,有以下符号: Notation "[+| c |]" := (interp_carry 1 wB to_Z c) (at level 0, c at level 99). 我如何搜索这个?我试过了 Locate "[+| _ |]". (* Unknown Notation *) Locate "[+| |]". (* Unknown Notation *) Locate "[+| _ |]". (* U
Coq.Numbers.Cyclic.ZModulo.ZModulo
中,有以下符号:
Notation "[+| c |]" :=
(interp_carry 1 wB to_Z c) (at level 0, c at level 99).
我如何搜索这个?我试过了
Locate "[+| _ |]". (* Unknown Notation *)
Locate "[+| |]". (* Unknown Notation *)
Locate "[+| _ |]". (* Unknown Notation *)
Locate "[+| c |]". (* Unknown Notation *)
Locate "[+| ?c |]". (* Unknown Notation *)
Locate [+| ?c |]. (* Error: Syntax error: 'Ltac' or [locatable] expected after 'Locate' (in [vernac:command]). *)
您的第一个和第四个选择,
Locate“[+| |]”
,Locate“[+| c |]”
都是正确的。请注意,变量名并不重要:您也可以执行定位“[+| abcdef |]”
但是,请注意,您所引用的特定符号在一节中。在这个区域外是无法进入的。尤其是,Locate
找不到它。要测试这一点,请尝试以下代码:
Section ZModulo.
Notation "[+| c |]" := (S c).
Locate "[+| _ |]".
(* Notation
"[+| c |]" := S c (default interpretation) *)
Locate "[+| c |]".
(* Notation
"[+| c |]" := S c (default interpretation) *)
Locate "[+| abcdef |]".
(* Notation
"[+| c |]" := S c (default interpretation) *)
End ZModulo.
Locate "[+| _ |]". (* Unknown notation *)
Locate "[+| c |]". (* Unknown notation *)
Locate "[+| abcdef |]". (* Unknown notation *)
在8.8.0之前的Coq版本中,只有第一个版本可以工作。在8.8.0中,
定位
以允许使用其他表单。在旧版本(=8.8)中。@eponier感谢您提供的信息。我已经更新了答案。