如何在 AFP 中跳过(有问题的)Isabelle 会话?

How to skip (problematic) Isabelle sessions in AFP?

我尝试将 AFP (02/22/2021) 与 Isabelle 2021 一起使用,但是在将 AFP 目录添加到用户 ROOT 文件后,jEdit/Isabelle PIDE 无法加载。如下所示,似乎与特定包有关:

我真的不需要相关条目(或者知道它的作用)。 我的问题是:

有没有办法使用 AFP 的子集并排除屏幕截图中有问题的条目?

-- 更新 ---

正如评论中指出的那样,法新社似乎落后了几天。使用 afp-02-24-2021,最初的错误消失了。但是,当从 jEdit selecting 一个会话 Jordan-Normal-Form 时,有一个关于 JNF-AFP-Lib 构建失败的新错误,如下所示:

问题依旧。法新社似乎是一个大集合,可能有多个错误来源。

如果出现此类错误,是否有办法 select 使用或调试 AFP 的子集?

如果没有,是否有系统的方法来测试哪些 afps 构建或不构建?

原问题

问题是因为您(在不知不觉中)使用了与 Isabelle 版本不匹配的 AFP 版本。为避免将来出现该问题,我建议直接使用 Mercurial 存储库:

https://foss.heptapod.net/isa-afp/afp-2021

新 Isabelle 版本的 Mercurial 存储库是在 RC 阶段创建的,因此您始终可以确保拥有匹配的版本。

在这些不匹配的情况下,通常不可能 select AFP 的一个子集“有效”,因为在 2020 年和 2021 年之间,会话管理发生了很大变化。

更新

您在这里面临的问题是,您已经 select 将大型会话作为先决条件,并且使用默认配置构建所需的时间太长。

您可以在命令行上建立会话,增加超时时间,如下所示:

isabelle build -bv -d <path to afp>/thys -o timeout_scale=3 Jordan_Normal_Form

如果一直超时,请增加系数。

一般备注

您问,“如果出现此类错误,是否有办法 select 使用或调试 AFP 的子集?”。该问题的答案取决于错误的类型。您的 post 目前包含两个截然不同的问题,因此很遗憾,无法给出一个笼统的答案。