Coq战术是右关联还是左关联?

Coq战术是右关联还是左关联?,coq,coq-tactic,logical-foundations,Coq,Coq Tactic,Logical Foundations,我经历过,得到了一个例子: repeat (try (left; reflexivity); right). 我不明白这是什么意思。例如,我们得到: try [ (left; reflexivity); right ] 或 第二个还是第一个 我特别想了解: Theorem In10 : In 10 [1;2;3;4;5;6;7;8;9;10]. Proof. repeat (try (left; reflexivity); right). Qed. 独自解决这些问题的一个好方法是使用

我经历过,得到了一个例子:

repeat (try (left; reflexivity); right).
我不明白这是什么意思。例如,我们得到:

try [ (left; reflexivity); right ]

第二个还是第一个


我特别想了解:

Theorem In10 : In 10 [1;2;3;4;5;6;7;8;9;10].
Proof.
  repeat (try (left; reflexivity); right).
Qed.

独自解决这些问题的一个好方法是使用像
idtac
(总是成功)和
fail
(总是失败)这样的策略来消除歧义:

try (idtac; idtac); fail.     (* FAILS *)
try ((idtac; idtac); fail).   (* SUCCEEDS *)
(try (idtac; idtac)); fail.   (* FAILS *)
因此实际上,
try
的应用绑定比分号更紧密:

try (idtac; idtac); fail.   is the same as   (try (idtac; idtac)); fail.

对不起,我是coq新手,如何搜索
idtac
是/做什么的?它是否绑定得更紧,因为它通常是左关联的?这对这个特定的例子很有帮助,但我怎么知道这一点呢?如果我没有弄错的话,战术的分号运算符是关联的,所以
((a;b);c)
a;(b;c)
,不需要括号。然而,您最初的问题与关联性关系不大,而与
的优先级关系更大运算符v.s.``运算符。空格绑定得更紧,因此
abc;d、e、f;g h i
始终表示
(a b c);(d、e、f);(g h i)
@Ptival空格并不总是绑定得更紧。请参见示例以及现在的
战术。另请参见@Pinocchio,您可以在中查看战术语言的语法。您可以看到
idtac
在了解左/右战术含义的最佳方式是什么?我看到了官方文档,但没有意义…关于“我看到了官方文档,但没有意义”如果其中某个部分令人困惑或荒谬,请在github()上打开一个问题,具体要求更清晰的文档
try (idtac; idtac); fail.   is the same as   (try (idtac; idtac)); fail.