伊莎贝尔的错误理论导入
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
下面给出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