Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
3年前关闭。
Improve this question
我正在寻找创建Eclipse PDE,并且需要与Isabelle进行通信。我确实找到了一些出版物,指出Scala可用于与Isabelle进行通信。
我正在寻找一个示例,该示例如何使用Scala在Isabelle中创建证明。 从Scala内部管理Isabelle安装(下载,解压缩) 摘要不同的Isabelle版本(当前受支持:2016年和2016-1版本候选) Isabelle会话的生命周期管理(构建,启动,停止) 将Isabelle / ML函数视为Scala函数 像Scala中的Isabelle术语语法这样的好东西(
没有内置的例程可以建立目标状态并应用一些证明步骤,但是必要的基础结构就在那里。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
3年前关闭。
Improve this question
我正在寻找创建Eclipse PDE,并且需要与Isabelle进行通信。我确实找到了一些出版物,指出Scala可用于与Isabelle进行通信。
我正在寻找一个示例,该示例如何使用Scala在Isabelle中创建证明。
最佳答案
为了后代,请从an older answer引用我自己:
Isabelle本身是在Standard ML中实现的,但是为了与外部世界通信,它使用了称为PIDE(= Prover IDE)的协议。 PIDE的参考实现与Isabelle捆绑在一起并用Scala编写,因此可以与任何JVM语言一起使用。 PIDE的主要应用程序是Isabelle / jEdit,它使用jEdit编辑器为Isabelle构建IDE,包括标记,连续检查,...
通过重用基础协议,您可以在Isabelle之上实现自己的应用程序。
据我所知,当前最先进的示例是Leon,它是用于Scala程序的自动验证和综合工具包。在内部,它使用libisabelle与Isabelle进行通信。 (完全公开:我是libisabelle的作者。)a paper概述了它的工作原理。
libisabelle本身可以作为一个独立的库使用,其中包括一些基本的文档,使您可以入门。有关更多详细信息,请参见the repository。本质上,它使您能够
term"$n > 0 --> ($b & ${HOLogic.True})"
)没有内置的例程可以建立目标状态并应用一些证明步骤,但是必要的基础结构就在那里。
关于scala - 伊莎贝尔(Isabelle)和斯卡拉(Scala),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40848265/
10-11 08:47