&引用;“在下一级”;在Coq?

&引用;“在下一级”;在Coq?,coq,coq-tactic,Coq,Coq Tactic,“在下一个级别”位在以下符号中的含义是什么(假定已指定级别): 其中,xform是定义在两者之间的函数。考虑a->>b->>c。有两种方法可以解析它,或者t1是a和t2是b->c,或者t1是a->b和t2是c。由于t2在下一级标记为,因此只能在其中使用低于69级别的符号,这使得b->>c不可能(除非括号内)。因此,a->b->c被解析为(a->b)->c 请注意,上一级的t2在上述符号中是多余的。实际上,属性左关联已经在右端的术语上强制下一级。(而右关联性强制在下一个级别在左端的术语上。)考虑a

“在下一个级别”位在以下符号中的含义是什么(假定已指定级别):


其中,xform是定义在两者之间的函数。

考虑
a->>b->>c
。有两种方法可以解析它,或者
t1
a
t2
b->c
,或者
t1
a->b
t2
c
。由于
t2
在下一级标记为
,因此只能在其中使用低于
69
级别的符号,这使得
b->>c
不可能(除非括号内)。因此,
a->b->c
被解析为
(a->b)->c


请注意,上一级的
t2在上述符号中是多余的。实际上,属性
左关联
已经在右端的术语上强制下一级
。(而
右关联性
强制
在下一个级别
在左端的术语上。)

考虑
a->>b->>c
。有两种方法可以解析它,或者
t1
a
t2
b->c
,或者
t1
a->b
t2
c
。由于
t2
在下一级标记为
,因此只能在其中使用低于
69
级别的符号,这使得
b->>c
不可能(除非括号内)。因此,
a->b->c
被解析为
(a->b)->c


请注意,上一级的
t2在上述符号中是多余的。实际上,属性
左关联
已经在右端的术语上强制下一级
。(虽然
右关联性
强制
在下一个级别
在左端的术语上。)

谢谢,但我实际上不明白“在下一个级别”是什么意思?这是否意味着t2内的符号将达到69+1=70级?如果这样的符号在被定义时已经预先定义了一个级别,那么当它被定义为一个级别时,它会是70还是它是它的级别?考虑两种方法来解析它,或者是<代码> T1 < /代码>是代码> A <代码> >代码> T2 < /代码>是代码> B> > C <代码>,或者<代码> T1 >代码> A> > B和
t2
c
。因为
t2
下一级的
,所以
b->c
的69级使其与之不兼容。因此,
a->b->c
被解析为
(a->b)->c
下一级的
意思是“下一级的”,因为较低级别的绑定比较高级别的绑定更紧密。
t2
在68级解析。这可以防止
->
出现在
t2
的顶层,因为它需要69级。因此
a->>b->>c
不能是
a->(b->c)
,因为
b->>c
处于69级,但
a->>需要处于68级。相反,它被解析为
(a->>b)>你可以考虑把它添加到你的答案中,因为我认为你的评论实际上是对原来问题的回答。谢谢,但是我真的不理解“下一级”是什么意思?这是否意味着T2内的记号将得到69级+ 1=70?如果这样的符号在被定义时已经预先定义了一个级别,那么当它被定义为一个级别时,它会是70还是它是它的级别?考虑两种方法来解析它,或者是<代码> T1 < /代码>是代码> A <代码> >代码> T2 < /代码>是代码> B> > C <代码>,或者<代码> T1  >代码> A> > B和
t2
c
。因为
t2
下一级的
,所以
b->c
的69级使其与之不兼容。因此,
a->b->c
被解析为
(a->b)->c
下一级的
意思是“下一级的”,因为较低级别的绑定比较高级别的绑定更紧密。
t2
在68级解析。这可以防止
->
出现在
t2
的顶层,因为它需要69级。因此
a->>b->>c
不能是
a->(b->c)<代码> >由于<代码> b> > c>代码>在第69级,但是<代码> -> > <代码>需要它在68级。相反,它被解析为<代码>(A->B)-> >代码>。请您考虑将其添加到您的答案中,如我认为您的评论实际上是对原始问题的答案。
Reserved Notation "t1 ->> t2" (left associativity, at level 69, t2 at next level). 
...
where "t1 ->> t2" := (xform t1 t2).