数学公式:解析和规范*编程*形式

时间:2015-07-31 11:14:39

标签: haskell math tex

是否有任何传统格式来表示可由计算机读取的数学公式?

我正在研究一些数学问题,并采用某种TDD方法。每当我陷入一个证据(或者说我还没有证据,但对结果应该是什么的直觉)时,我倾向于写一个小程序来检查到目前为止所有的一切都像我在思考一样它确实。我通常在我的证明中为一些中间结果编写一个Haskell函数,通过GHCi进行播放,直到我确信我仍然朝着正确的方向前进。

我的绝对理想是拥有一些数学公式的规范形式,我可以使用一些工具输出到LaTeX和Haskell。我可以在上面运行QuickTest,如果步骤错误,它会告诉我。 LaTeX的数学符号实际上非常接近规范形式,尽管很多是由读者推断的(你不想明确地写每个括弧)。

这个理想的工具看起来好得令人难以置信;相反,为计算机拼出数学公式的正确方法是什么,也可能解析它?环顾四周时,我看到了很多仅使用*+-/之类的简单公式。什么都没有包括总和(例如过度集合),衍生品,所有"酷"东西。而且,这种解析器的输出主要用于计算结果,给出变量的一些值;不是为了将其翻译成其他语言(语言不可知,我猜)。似乎这样的事情应该已经存在,或者应该有一个很好的理由。我错过了哪一个?

1 个答案:

答案 0 :(得分:4)

数学符号的标准计算机表示为MathML。请注意,它包含Presentation MathMLconverted to LaTeX两种Content MathMLOpenMath表示数学表达式的编写方式,可以{{3}},而{{3}}用于表示表达式的含义并且是您翻译Haskell或其他编程语言所需要的(但我不知道任何翻译工具)。

当然,您不想手动编写MathML(或者其中一种)。有一些编辑制作它,但我不能推荐它。

否则,{{3}}可能是一种选择。它似乎完全针对人们"在计算机上使用数学"。