伊莎贝尔 HOL Windows 10

Isabelle HOL on Windows 10

我安装了 Windows 10(64 位)。从那以后,Isabelle HOL 不再启动,即使在重新安装之后(运行 顺利通过)。错误消息如下:"Startup Error: Error starting Java VM"。我测试的两个版本(2013-2 和 2015)都会出现这种情况。 配置文件中指定的 jvm.dll 存在于正确的文件夹中。此外,我已经在 32 位和 64 位的最新版本 (8.51) 中安装了 Java SDK。 Windows 10 是否存在已知的兼容性问题?伊莎贝尔曾经与 Windows 7 和 8 一起工作。 谢谢你的帮助。

更新 (150822)

从开发人员的邮件列表中,有一个 link 测试版本:

这与 Isabelle2015 的工作方式不同,它如何使用路径执行某些操作,因此它可能会找到 Windows 10 所需的内容,也可能不会。然而,即使它有效,也可能与 Isabelle2015 存在一些不兼容(在定理证明中)。

无论如何,Isabelle 每年只发布 1 到 2 次,而且我不希望在 4 到 6 个月内为 Windows 10 发布任何特别的内容。上面的link虽然说明M.Wenzel可以打包一个测试版,但是他主要操作的是用户的邮件列表。

在下面的批处理文件中,我设置了 HOMEDRIVEHOMEPATH,如果您希望 .isabelle 位于 C:\user 中,则不需要。

在此测试版中,这些设置不会影响我的主路径。似乎还使用了 USER_HOME,尽管我的 USER_HOME 设置并没有使我的批处理文件适用于此测试版本。

无论如何,这个测试版本改变了它发现事物的方式,并且更加适应 Windows,如函数 File.platform_path.

的新行为所示

它的工作方式非常不同,需要进行足够多的更改,我应该继续使用 Isabelle2015,否则我将与正式版本不同步。)

原创

(Zeroeth:像这样的问题通常会在邮件列表中解决,但我继续向您展示我如何使用批处理文件 tart Isabelle,我 tar在我不得不 start 做之前就做了。)

首先,伊莎贝尔使用的Java在这个文件夹中:

Isabelle2015\contrib\jdk\x86-cygwin\jre

为 Windows 进行正常的 Java 安装不会改变 Isabelle 使用的 Java。

下面,我给你一个批处理文件和bash文件到start Isabelle/jEdit,这是使用Isabelle2015\Isabelle2015.exe.[=34=的替代方法]

对于我自己,我所做的是手动将上面显示的 32 位 jre 文件夹替换为 jre-8u45-windows-x64.tar.gz 中的 jre。 (我重命名了旧的32位文件夹。最近的Java tar个文件可以找到at the download page。)

因此,如果我尝试用 Isabelle2015.exe start up Isabelle,我也会得到一个弹出窗口,上面写着 "Startup Error, Error starting Java VM",但是 starting Isabelle batch/bash 组合适用于 Windows 8.1.

我在下面向您展示的内容可能无法解决您的问题,但我想 Isabelle2015.exe 必须从 OS 获取一些信息才能正常工作,也许 Windows 已经改变了10:

https://lists.cam.ac.uk/mailman/htdig/cl-isabelle-users/2014-December/msg00033.html

您将批处理和 bash 文件放在下面您拥有或想要 .isabelle 文件夹的文件夹中。将下面的 ISAHOME 更改为您的 Isabelle 分布所在的位置。 PATH 需要路径中的 Cygwin bin,以及我在批处理文件中设置的 isabelle 的路径。

文件:start-isabelle.bat

:: Isabelle2015.exe uses these directly. Setting HOME or USER_HOME doesn't work
set HOMEDRIVE=%~d0
set HOMEPATH=%~p0

:: Cygwin uses HOME, and this is how HOME is set in Cygwin-Terminal.bat
set HOME=%HOMEDRIVE%%HOMEPATH%

:: ADD PATHS: 'cygwin/bin' to start terminal, 'Isabelle2015/bin' for 'isabelle'
set ISAHOME=E:\E_2\d ev\Isabelle2015
set PATH=%PATH%;%ISAHOME%/contrib/cygwin/bin;%ISAHOME%/bin;

set CHERE_INVOKING=true
::MINTTY CONSOLE
start /MIN mintty.exe -i /Cygwin-Terminal.ico "%~dp0start-isabelle.bash"

:: REGULAR WINDOWS CONSOLE
::bash --login -i "%~dp0start-isabelle.bash"

文件:start-isabelle.bash

#!/usr/bin/env bash
#
isabelle jedit -l HOL

对于 64 位 Java,我可以增加 Isabelle 使用的内存大小,方法是在 .isabelle\Isabelle2015\etc\settings:

中进行此更改
JEDIT_JAVA_OPTIONS="-Xms1g -Xmx4g -Xss4m"
  or
JEDIT_JAVA_OPTIONS="-Xms1024m -Xmx4096m -Xss4m"

对于 32 位 Java,当我这样做时,Isabelle 将 start 然后终止。