自动定理证明可以解决什么样的数学问题?


14

我可以使用可用的自动定理证明者来证明以下陈述吗?

  1. (a+b)2=a2+b2+2ab

  2. 如果112a3b,则117a5b

  3. 如果ax2+bx+c=0,则x=b±b24ac2a

  4. 如果a为偶数,则4a为偶数。

等等!

我问这个问题是因为我刚刚发现自动定理证明者在证明逻辑定理中的应用。


您当然可以使用所有标准的证明助手来证明所有这些(也许是3个,但写错了),尽管它可能不是自动的。
Yuval Filmus

@YuvalFilmus。谢谢!那么什么样的问题可以自动解决?
Math-fort

您可以自动简化表达式,尽管这是Computer Algebra Systems提供的服务。我认为现代证明助手不会自动证明任何实质内容,尽管最好问专家。
Yuval Filmus

@YuvalFilmus我认为您的说法通常是正确的,因为只有当自动证明方法得出有趣的结果时,我们才愿意将其称为CAS的一部分...
离散蜥蜴

Answers:


20

您的大多数陈述都是基本代数,因此可以通过计算机代数系统(CAS)(例如Maple或Mathematica)自动证明这些陈述。

(如果您对CAS背后的数学感兴趣,我可以推荐Joachim von zur Gathen和JürgenGerhard撰写的《现代计算机代数》一书,这本精美的书被认为是该领域的“圣经”)

如果证明不是少数几个可以最终解决问题的算法的情况之一,则自动定理证明通常主要是在代表证明的结构上进行启发式搜索的情况。鉴于此声明不是很复杂,因此自动证明者可能能够“查找”证明。

但是,我认为有趣的是要对其中有不错算法的语句多说一些:

陈述3是(一个非常简单的)多项式方程组的根,可以通过使用Buchberger算法找到Gröbner基来解决。寻找自动定理的Gröbner基础和Buchberger的算法非常好。例如,我们甚至可以通过自动将问题转换为聪明的方式来找到多项式方程的根,从而自动证明几何中的基本定理!

另一类有趣的定理是可在无量词的Presburger算术中表达的语句(特别是,该算术没有乘法,因此不适用于您的语句),因为有一种算法可以解决所有此类语句,即使该算法有点慢。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.