我正在尝试理解Isabelle / HOL中线性逻辑的实现:https://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/library/Sequents/Sequents/ILL.html关于syntax
关键字代表什么,代码意味着什么:
syntax
"_Trueprop" :: "single_seqe" ("((_)/ ⊢ (_))" [6,6] 5)
"_Context" :: "two_seqe" ("((_)/ :=: (_))" [6,6] 5)
"_PromAux" :: "three_seqe" ("promaux {_||_||_}")
在哪里可以找到syntax
关键字的文档?我在计算机科学第828卷的讲义中找到了关于infixr
和翻译规则的详尽文档。但我找不到关于syntax
的类似文档。
答案 0 :(得分:1)
参考手册第8.5.2节(截至Isabelle 2016-1)对此进行了描述:“原始语法和翻译”。
第一行表示添加语法规则,表示P ⊢ Q
解析为_Trueprop P Q
。接下来的ILL.thy
行给出parse_translation
,之后在参考手册的同一部分中进行了描述。此翻译告诉Isabelle将_Trueprop
翻译为K (single_tr Trueprop)
,并将Trueprop
声明为文件顶部的未解释常量。你会看到还有一个print_translation
,它可以控制漂亮的打印机。