试图理解Isabelle / HOL中的“syntax”关键字

时间:2017-06-09 06:15:19

标签: syntax isabelle

我正在尝试理解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的类似文档。

1 个答案:

答案 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,它可以控制漂亮的打印机。