伊莎贝尔的错误理论导入

Bad theory import in isabelle

下面给出bad theory import "Multivariate_Analysis"

imports Multivariate_Analysis

导入 Main 工作正常,我该如何导入模块?

对于理论导入,您通常必须指定理论文件的完整路径或相对路径。所以对于 Multivariate_Analysis,这是 <path to isabelle distrib>/src/HOL/Multivariate_Analysis/Multivariate_Analysis。如果理论已经是会话图像的一部分,则只能省略路径。由于 Main 是默认图像 HOL 的一部分,您可以在没有路径的情况下导入它。从带路径或不带路径的会话图像中导入理论是否更好,意见不一。

该路径还可能包含环境变量,如 $ISABELLE_HOME$AFP,用户可以在他们的本地设置文件中设置这些环境变量,以便理论在不同的安装中工作。对于 Isabelle 发行版中的所有内容,习惯上使用 ~~ 作为 Isabelle 发行版文件夹的路径。

总而言之,您的导入内容应如下所示:

theory My_Theory
imports "~~/src/HOL/Multivariate_Analysis/Multivariate_Analysis"
begin

由于 Multivariate_Analysis 是一个相当大的模块,更改默认会话图像可能是明智的,这样所有这些理论都不会在 Isabelle/jEdit 的每次启动时重新加载。您可以通过在调用时在命令行指定 -l HOL-Multivariate_Analysis 或在理论面板中选择此会话并重新启动 Isabelle/jEdit.

来执行此操作

更新:从Isabelle2017开始,最好通过会话名而不是相对路径名从其他会话导入理论。那就是 理论 Multivariate_Analysis 将被导入为

theory My_Theory
imports "HOL-Multivariate_Analysis.Multivariate_Analysis"
begin