Math Labs

解法:MRDP定理:丢番图集合恰为递归可枚举集合(1970年)

第 1/9 步:希尔伯特第十问题:是否存在丢番图方程的算法?
通俗地说

丢番图方程是一种只有整数答案才算数的多项式谜题,例如 x2+y2=z2x^2+y^2=z^2(有解——毕达哥拉斯三元组),或者著名的 xn+yn=znx^n+y^n=z^n(对 n≥3n \ge 3,费马大定理断言无解)。1900年,大卫·希尔伯特把这个问题列为他23个著名问题中的第十个,要求给出一个单一的通用配方,只要输入任意这样的方程,总能正确回答“是,它有整数解”或“不,它没有”。

在当时,“算法”还只是一个非正式的概念;直到1930年代,阿兰·图灵与阿隆佐·邱奇才把这个概念精确到足以让人证明像这样一个问题的确定性答案“不存在这样的算法”。

P(x1,…,xn)=0,P∈Z[x1,…,xn]P(x_1, \ldots, x_n) = 0, \quad P \in \mathbb{Z}[x_1, \ldots, x_n]
详细分析

希尔伯特第十问题是他1900年在国际数学家大会演讲中提出的23个问题中的第十个,要求给出一个经有限步操作的程序,对任意多项式 P(x1,…,xn)∈Z[x1,…,xn]P(x_1, \ldots, x_n) \in \mathbb{Z}[x_1, \ldots, x_n] 判定方程 P(x1,…,xn)=0P(x_1, \ldots, x_n) = 0 是否有整数解。有两个特点使这一要求很强:算法必须是一致的——用一个程序覆盖所有次数和所有系数元组——而且必须对每个输入都停机并给出正确的是/否答案,而不是只在某个可判定子类上成功。

若干子类当时已经可判定。线性方程 a1x1+⋯+anxn=ba_1 x_1 + \cdots + a_n x_n = b 归结为计算 gcd⁡(a1,…,an)\gcd(a_1, \ldots, a_n);一元方程 P(x)=0P(x) = 0 在通分后归结为常数项的整除性;二元二次方程则属于二元二次型与佩尔方程理论,已由连分数方法基本解决。所有经典技巧都无法触及的是一般情形:丢番图方程可以编码任意复杂的算术结构,且未知数个数 nn 没有上界。

最终的解答由马季亚谢维奇于1970年完成,答案是否定的,而它要求把"程序"这个非正式的词变成数学对象。下面的证明沿用的是马季亚谢维奇2008年 Scholarpedia 综述中的路线:把丢番图可定义性等同于递归可枚举性,再引入图灵停机问题的不可判定性。

本步骤中的术语
丢番图方程
一个整数系数的多项式方程 P(x1,…,xn)=0P(x_1, \ldots, x_n) = 0,人们只关心整数(有时是非负整数)解,以古代数学家丢番图命名。
算法(判定过程)
一种有限的、机械的、按步骤进行的过程,保证对每一个可能的输入都会停止并给出正确的是/否答案;在1930年代通过图灵机及等价形式化被数学上精确化。
本步骤用到的知识