我有Isabelle/HOL理论,如何继续应用它?

我有Isabelle/HOL理论,如何继续应用它?,isabelle,Isabelle,我试图理解伊莎贝尔/霍尔理论的用途。我已经编写并保存了一个理论文件: theory MonoidalLogic imports sequents begin consts Test :: "test" axiomatization where identity "φ⊢φ" and cut "φ⊢ψ;ψ⊢ρ⟹φ⊢ρ" l "φ⊢⊤⨂ψ⟺φ⊢ψ" r "φ⊢ψ⨂⊤⟺φ⊢ψ" end 现在我想得到一些关于这个理论的反馈——伊莎贝尔是否接受它,以某种方式编译它——我如何才能做到

我试图理解伊莎贝尔/霍尔理论的用途。我已经编写并保存了一个理论文件:

theory MonoidalLogic
  imports sequents
begin
consts
  Test :: "test"
axiomatization where
  identity "φ⊢φ" and
  cut "φ⊢ψ;ψ⊢ρ⟹φ⊢ρ"
  l "φ⊢⊤⨂ψ⟺φ⊢ψ"
  r "φ⊢ψ⨂⊤⟺φ⊢ψ"
end
现在我想得到一些关于这个理论的反馈——伊莎贝尔是否接受它,以某种方式编译它——我如何才能做到这一点?在这之后-我想用这个理论-例如,写一些引理,并为此调用交互式证明会话。我该怎么做?我可以在绝地对话中输入理论,但我没有收到任何反馈。我不明白该如何关闭此理论文件并启动交互式会话,以便使用此理论文件

据我所知,我应该:

  • 编写初始理论文件

  • 调用交互式会话,在那里我可以找到这个理论的一些引理的证明

  • 如果我已经找到了引理的证明,那么我可以将这些引理添加到我的理论文件中,以便在其他证明中进一步立即使用(无需重复证明)

  • 我正在阅读LNCS教程和其他教程,但我没有看到这个基本工作流的示例-如何执行此工作流以及我是否正确理解它

    我的意图是采用该逻辑并在Isabelle/HOL中为该逻辑创建定理证明程序,即将该逻辑作为Isabelle中的对象逻辑进行自动化

    据我所知,jEdit主窗口用于编辑你的理论文件。所以-我应该寻找一些控制台(额外的窗口),在其中我可以运行引理,反对这个理论的引理证明命令?

    我可以在绝地对话中输入理论,但我没有收到任何反馈

    听起来你可能没有一个可以正常工作的Isabelle安装。在工作安装中,任何扩展名为
    .thy
    的文件都会签入Isabelle/jEdit。例如,错误以红色突出显示,您将在“输出”和“状态”面板中看到校准器输出,您可以按住Ctrl键单击实体以跳转到其定义

    所以-我应该寻找一些控制台(额外的窗口),在其中我可以运行引理,反对这个理论的引理证明命令

    你不必,但你可以。在中,描述了如何运行一组理论的“批量构建”(用Isabelle术语:“会话”)。在最简单的情况下,这归结为运行
    isabelle mkroot
    ,然后运行带有适当标志的
    isabelle build
    。有关独立示例,请参见该手册中的§3.2

    在这之后-我想用这个理论-例如,写一些引理,并为此调用交互式证明会话

    在同一个Isabelle/jEdit窗口中,您可以创建一个新的理论文件,为其命名,然后按如下方式导入理论:

    theory Test
    imports MonoidalLogic
    begin
    

    确保将理论(.thy)文件保存在jEdit路径中的某个文件夹中。我相信使用$ISABELLE_HOME_用户作为文件的根用户是最好的;您可以在“文件保存”弹出窗口中的“收藏夹”下找到它。这解决了我类似的问题

    也许这个问题最好在“数学”或“计算机科学”的书堆里提出?(我甚至不知道范畴理论可以用作逻辑框架)。这是一个技术问题,不适合数学和计算机科学的研究级论坛。此外,Stackoverflow有一个标签Isabelle,这里确实有一些围绕它的活动。@DavidTonhofer这个问题适合这样问。甚至在这篇文章中也没有提到CT。