更新 (150822)
在开发者的邮件列表中,有一个测试版本的链接:
这与 Isabelle2015 的工作方式不同,它如何使用路径执行某些操作,因此它可能会找到 Windows 10 所需的东西,也可能不会。然而,即使它有效,也可能与 Isabelle2015 存在一些不兼容(在定理证明中)。
不管怎样,Isabelle 每年只发布 1 到 2 次,而且我不希望在 4 到 6 个月内发布适用于 Windows 10 的任何特别内容。不过,上面的链接显示 M.Wenzel 可以打包一个测试版本,但他主要在用户的邮件列表上操作。
在下面的批处理文件中,我设置了HOMEDRIVE 和HOMEPATH,如果您希望.isabelle 在C:\user 中,则不需要它们。
在此测试版本中,这些设置不会影响我的主路径。似乎也使用了USER_HOME,尽管我的USER_HOME 设置不会使我的批处理文件适用于此测试版本。
无论如何,这个测试版本改变了它发现事物的方式,并且更加适应 Windows,正如函数 File.platform_path 的新行为所示。
它的工作方式非常不同,需要进行足够多的更改,我应该继续使用 Isabelle2015,否则我将与官方版本不同步。)
原创
(Zeroeth:像这样的问题通常会在邮件列表中散列,但我继续向您展示如何使用批处理文件启动 Isabelle,这是我在必须开始之前就开始做的。)
首先,Isabelle 使用的 Java 在这个文件夹中:
Isabelle2015\contrib\jdk\x86-cygwin\jre
为 Windows 进行常规 Java 安装不会改变 Isabelle 使用的 Java。
下面,我给你一个批处理文件和 bash 文件来启动 Isabelle/jEdit,这是使用 Isabelle2015\Isabelle2015.exe 的替代方法。
就我自己而言,我所做的是将上面显示的 32 位 jre 文件夹手动替换为 jre-8u45-windows-x64.tar.gz 中的 jre。 (我重命名了旧的 32 位文件夹。最新的 Java tar 文件可以在 at the download page 找到。)
因此,如果我尝试使用 Isabelle2015.exe 启动 Isabelle,我还会收到一个弹出窗口,上面写着“启动错误,启动 Java VM 时出错”,但在 Windows 8.1 上使用批处理/bash 组合启动 Isabelle 对我有效.
我在下面向您展示的内容可能无法解决您的问题,但我猜 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 将启动但随后终止。