我开发了一套使用Eisbach和HOL库的理论。在Isabelle / jEdit中一切正常。但是,在尝试使用isabelle build
构建相应的会话时,找不到Eisbach和HOL库。在过去,当我还不需要HOL库时,我通过在HOL-Eisbach
文件中指定HOL
而不是ROOT
作为父会话来修复此问题。由于需要HOL库,这个技巧不再适用,因为你不能有多个父会话。
如何构建同时使用Eisbach和HOL库的会话?
答案 0 :(得分:1)
您可以在ROOT文件的sessions
块中指定会话所依赖的其他会话,例如(例子来自法新社):
session Zeta_Function (AFP) = Dirichlet_Series +
options [timeout = 600]
sessions
Euler_MacLaurin
Bernoulli
theories [document = false]
"Dirichlet_Series.Dirichlet_Series_Analysis"
theories
Zeta_Function
document_files
"root.tex"
此会话以Dirichlet_Series
作为父会话,并且还取决于会话Euler_MacLaurin
和Bernoulli
。
那么如何确定哪些依赖项应该是父会话?好吧,请记住,为了构建会话,必须首先构建父会话,但只要父会话可用,您只需使用它而无需进一步的成本。这就是我们默认情况下依赖于HOL
的原因:它通常是预先构建的。
这也意味着如果你只使用一小部分会话,那么选择一个会话作为你的父会是没有多大意义的。这就是我避免选择HOL-Library
作为父会话的原因。通常,只需要一个或两个理论,可以在几秒钟内轻松处理,但如果您选择它作为父级,则用户必须构建{em>所有的HOL-Library
为了使用你的会话。
所以,我会说你应该选择这样的父母:
如果你最终得到的父母非常小(例如HOL-Eisbach
),那么选择父母作为父母,实际上并没有太大的收获。您可以这样做,但您也可以选择HOL
。