交互式数学证明系统

我正在寻找一个工具(GUI首选,但CLI可以工作),它允许我输入数学表达式,然后执行它们的操作,但限制我只有数学上有效的操作。此外,该工具必须能够保存会话,然后证明给定的已保存操作集是有效的。 注意:我不是在寻找一个生成校样的系统,只是检查我手动指定的步骤是否有效。 我已经使用ACL2进行类似的操作,并且它在某些情况下表现很好但是很难用于其他所有情况。 这个小项目是我的动力。它是一种D模板类型,允许求解方程。鉴于这个等式:
(A * B) = C + D / F;
可以将任何一个符号设置为未知,并评估该表达式将导致对该变量的赋值。它的工作原理是将表达式树构建到类型中,然后使用重写规则将其转换为可以针对未知类型进行事件处理的事物。 我需要的是一些验证重写规则的方法。可以通过测试给定某种关系为真的断言来验证它们,另一种也是。     
已邀请:
已经提到了几个美国证明助理(通常使用LISP语法),所以这里有一个以欧洲为中心的列表来补充: 勒柯克 伊莎贝尔 HOL4 HOL-灯 开阳 所有这些都因TTY接口而臭名昭着,但Coq和Isabelle为Proof General / Emacs接口提供了很好的支持。此外,Coq还附带了CoqIDE,它基于OCaml / GTK和板载文本小部件。最近的Isabelle包括Isabelle / jEdit Prover IDE,它基于jEdit,并由用户输入的实时提供的语义标记进行扩充。     
ACL2是臭名昭着的 - 我们曾经说它是一个专家系统,因此只能由专家使用,他们必须向Warren Hunt,J Moore或Bob Boyer学习。你需要在ACL2中做的事情真正理解证明系统本身是如何工作的;那么你可以在减少搜索空间的方向上“暗示”它。 但是,还有其他一些系统可以帮助解决这类问题,具体取决于您要做的事情。 如果你想使用连续数学或数论,理想的是Mathematica。问题是你可以用同样数量的钱购买二手车(除非你有资格获得学术许可,这是一个更好的交易。) 类似的,免费的是Open Maxima,它是Macsyma的扩展。该页面还指出了其他几个像Axiom,我没有经验。 对于数学逻辑运算,来自SRI的PVS。他们在同一个框架中有一些其他很酷的东西,比如模型检查。     
这个领域正在进行研究,它被称为“计算机代数中的定理证明”。 人们试图将Mathematica,Maple等计算机代数系统的易用性和功能与证明系统的逻辑严谨性结合起来。问题是: 计算机代数系统并不严谨。他们往往会忘记边缘条件,例如除数不能为0。 证明系统使用起来既困难又乏味(正如您所发现的那样)。     
除了查理马丁的链接,您可能还想看看枫树。我使用这种软件的经验大约有5年了,但我记得当时发现Maple比Mathematica更直观。     
精益证明者通过JS gui进行互动。     
旧的和未维护的系统是'Ontic': http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/kr/systems/ontic/0.html     

要回复问题请先登录注册