Coq中的“下一级别”?

问题描述

以下表示法中的“下一个级别”位是什么意思(假设已经指定了级别):

Reserved Notation "t1 ->> t2" (left associativity,at level 69,t2 at next level). 
...
where "t1 ->> t2" := (xform t1 t2).

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

解决方法

考虑a ->> b ->> c。有两种解析方法,t1at2b ->> c,或者t1a ->> b和{{1} }是t2。由于c被标记为t2,因此只能在其中使用级别低于at next level的符号,这使得69不可能(除非带括号)。因此,b ->> c被解析为a ->> b ->> c

请注意,(a ->> b) ->> c在上述符号中是多余的。实际上,属性t2 at next level已经在右边的项上强制left associative。 (虽然at next level迫使right associativity在左端的词条上。)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...