找到带有infix参数的符号

时间:2019-10-29 00:05:43

标签: coq

Coq.Numbers.Cyclic.ZModulo.ZModulo library中,有以下表示法:

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]). *)

1 个答案:

答案 0 :(得分:2)

您的第一和第四选择Locate "[+| _ |]"Locate "[+| c |]".都是正确的。请注意,变量名称无关紧要:您也可以执行Locate "[+| abcdef |]".

但是请注意,您所指的特定符号在一个节内。 This means,在本节之外无法访问。特别是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中,Locate was updated允许其他形式。