Isabelle HOL在Windows 10上

时间:2015-08-16 13:59:51

标签: isabelle

我安装了Windows 10(64位)。从那时起,即使重新安装(顺利完成),Isabelle HOL也不再启动。错误消息如下:“启动错误:启动Java VM时出错”。这与我测试的两个版本(2013-2和2015)相同。 配置文件中指定的jvm.dll存在于右侧文件夹中。另外,我已经在32位和64位的最新版本(8.51)中安装了Java SDK。 Windows 10是否存在已知的兼容性问题? Isabelle过去常常使用Windows 7和8。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

更新(150822)

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

这与Isabelle2015的不同之处在于它如何通过路径执行某些操作,因此它可能会找到Windows 10所需的功能,或者可能不会。然而,即使它有效,也可能与Isabelle2015(在定理证明中)存在一些不兼容性。

无论如何,Isabelle每年只会发布1到2次,我不希望在4到6个月内为Windows 10发布任何特殊内容。不过,上面的链接显示M.Wenzel可以将测试版本打包在一起,但他主要在用户的邮件列表上运行。

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

在此测试版本中,这些设置不会影响我的主路径。虽然我的USER_HOME设置不能使我的批处理文件适用于此测试版本,但似乎也使用了USER_HOME

无论如何,这个测试版本已经改变了它发现事物的方式,并且更容易适应Windows,如函数File.platform_path的新行为所示。

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

原始

(Zeroeth:这样的问题通常会在邮件列表中消失,但我继续向您展示如何使用批处理文件启动Isabelle,我在开始这样做之前就开始这样做。)< / em>的

首先,Isabelle使用的Java位于此文件夹中:

Isabelle2015\contrib\jdk\x86-cygwin\jre

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

下面,我给你一个批处理文件和bash文件来启动Isabelle / jEdit,这是使用Isabelle2015\Isabelle2015.exe的替代方法。

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

因此,如果我尝试用Isabelle2015.exe启动Isabelle,我也会得到一个弹出窗口,上面写着“启动错误,启动Java VM时出错”,但是使用批处理/ bash组合启动Isabelle对我有用Windows 8.1。

我在下面显示的内容可能无法解决您的问题,但我想Isabelle2015.exe必须从操作系统中获取一些信息才能正常工作,而且可能会因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\Isabelle2015\etc\settings中进行此更改来增加Isabelle使用的内存大小:

JEDIT_JAVA_OPTIONS="-Xms1g -Xmx4g -Xss4m"
  or
JEDIT_JAVA_OPTIONS="-Xms1024m -Xmx4096m -Xss4m"

使用32位Java,当我这样做时,Isabelle将启动但终止。