圆周率 π 的无理性与超越性证明
本文给出两个证明:
- π 是无理数 ------ Niven(1947)的反证法,完全自包含,只用到微积分与组合系数,可逐行验证;
- π 是超越数 ------ Lindemann(1882),核心是把问题归约到 Hermite--Lindemann--Weierstrass(HLW)定理,并给出该定理的证明骨架。
两个证明都采用反证法 + 整数夹逼的同一条主线:设法构造一个量,它"被迫"同时是整数、又严格介于 0 与 1 之间,从而引出矛盾。
目录
- 概念与预备知识
- [π 是无理数:Niven 反证法](#π 是无理数:Niven 反证法)
- [π 是超越数:Lindemann 定理](#π 是超越数:Lindemann 定理)
- 历史脉络
- [计算机验证(完整可运行 Python 代码)](#计算机验证(完整可运行 Python 代码))
- 延伸与参考文献
1. 概念与预备知识
定义 1.1(有理数 / 无理数) 。称实数 x x x 为有理数 ,若存在整数 p , q p, q p,q( q ≠ 0 q \neq 0 q=0)使 x = p / q x = p/q x=p/q;否则称 x x x 为无理数。
定义 1.2(代数数 / 超越数) 。称复数 α \alpha α 为代数数 ,若存在非零整系数多项式
P ( x ) = a n x n + a n − 1 x n − 1 + ⋯ + a 0 ∈ Z x , a n ≠ 0 , P(x) = a_n x^n + a_{n-1} x^{n-1} + \cdots + a_0 \in \mathbb{Z}x, \qquad a_n \neq 0, P(x)=anxn+an−1xn−1+⋯+a0∈Zx,an=0,
使 P ( α ) = 0 P(\alpha) = 0 P(α)=0。不是代数数的复数称为超越数。
命题 1.3(代数数构成域) 。两个代数数的和、差、积、商(分母非零)仍为代数数,即所有代数数构成 Q \mathbb{Q} Q 的代数闭包 Q ‾ \overline{\mathbb{Q}} Q,它是一个域。
证明要点 。设 α , β \alpha, \beta α,β 分别是次数 m , n m, n m,n 的代数数。由 Q ( α ) : Q \mathbb{Q}(\alpha) : \mathbb{Q} Q(α):Q 的维数论证: α \alpha α 与 β \beta β 生成的向量空间维数有限,所有形如 α p β q \alpha^p\beta^q αpβq( p < m , q < n p < m,\, q < n p<m,q<n)的元素张成有限维 Q \mathbb{Q} Q-向量空间,于是 α + β \alpha + \beta α+β 的无穷序列必在有限维空间内线性相关,从而存在整系数多项式以 α + β \alpha+\beta α+β 为根;对 α β \alpha\beta αβ、 α / β \alpha/\beta α/β 同理。∎
推论 1.4(有理数都是代数数) 。 x = p / q x = p/q x=p/q 是整系数方程 q x − p = 0 qx - p = 0 qx−p=0 的根,故有理数 ⊆ \subseteq ⊆ 代数数。
推论 1.5(超越 ⇒ 无理) 。若 π \pi π 是超越数,则它不可能是有理数(否则由推论 1.4 它是代数数)。因此"超越"是比"无理"更强的性质;历史上也确实是先证无理(1761),再证超越(1882)。
贯穿全文的反证思路 。要否定" π \pi π 是有理数",只需假设 π = a / b \pi = a/b π=a/b( a , b ∈ Z + a, b \in \mathbb{Z}^+ a,b∈Z+),由此推出矛盾。下面第 2 节正是这样做的。
2. π 是无理数:Niven(1947)反证法
2.1 证明策略
反设 π = a / b \pi = a/b π=a/b, a , b a, b a,b 为正整数。对每个正整数 n n n 定义辅助函数
f n ( x ) = x n ( a − b x ) n n ! . f_n(x) \;=\; \frac{x^n (a - bx)^n}{n!}. fn(x)=n!xn(a−bx)n.
我们想要研究积分
I ( n ) = ∫ 0 π f n ( x ) sin x d x . I(n) \;=\; \int_0^\pi f_n(x)\sin x \, dx. I(n)=∫0πfn(x)sinxdx.
证明分两条互斥的线索,它们合在一起就是矛盾:
- (整) I ( n ) I(n) I(n) 对所有 n n n 都是整数;
- (小) 对充分大的 n n n,恒有 0 < I ( n ) < 1 0 < I(n) < 1 0<I(n)<1。
一个数不可能同时是整数又严格介于 0 0 0 与 1 1 1 之间,矛盾。∎
2.2 引理 1(整值导数)
引理 1 。对每个 k ≥ 0 k \ge 0 k≥0, f n ( k ) ( 0 ) f_n^{(k)}(0) fn(k)(0) 与 f n ( k ) ( π ) f_n^{(k)}(\pi) fn(k)(π) 都是整数。
证明 。先用二项式定理展开:
f n ( x ) = 1 n ! ∑ j = 0 n ( n j ) a n − j ( − b ) j x n + j . f_n(x) = \frac{1}{n!}\sum_{j=0}^{n} \binom{n}{j}\, a^{\,n-j}\,(-b)^j\, x^{\,n+j}. fn(x)=n!1j=0∑n(jn)an−j(−b)jxn+j.
分三种情形考察 k k k 阶导数在 x = 0 x=0 x=0 的值:
- k < n k < n k<n : f n f_n fn 的最低次项为 x n x^n xn,故 f n ( k ) ( 0 ) = 0 f_n^{(k)}(0) = 0 fn(k)(0)=0,是整数。
- k > 2 n k > 2n k>2n : f n f_n fn 是 2 n 2n 2n 次多项式,故 f n ( k ) ≡ 0 f_n^{(k)} \equiv 0 fn(k)≡0,是整数。
- n ≤ k ≤ 2 n n \le k \le 2n n≤k≤2n : x k x^k xk 的系数是 1 n ! ( n k − n ) a 2 n − k ( − b ) k − n \dfrac{1}{n!}\binom{n}{k-n}a^{\,2n-k}(-b)^{\,k-n} n!1(k−nn)a2n−k(−b)k−n,于是
f n ( k ) ( 0 ) = k ! x k f n = k ! n ! ⋅ ( 整数 ) . f_n^{(k)}(0) = k!\,x\^kf_n = \frac{k!}{n!}\cdot(\text{整数}). fn(k)(0)=k!xkfn=n!k!⋅(整数).
因为 k ≥ n k \ge n k≥n, k ! n ! = ( n + 1 ) ( n + 2 ) ⋯ k \dfrac{k!}{n!} = (n+1)(n+2)\cdots k n!k!=(n+1)(n+2)⋯k 是整数,所以 f n ( k ) ( 0 ) f_n^{(k)}(0) fn(k)(0) 是整数。
再利用对称性。由 π = a / b \pi = a/b π=a/b,
f n ( π − x ) = ( π − x ) n ( a − b ( π − x ) ) n n ! = ( a − b x b ) n ( b x ) n n ! = f n ( x ) . f_n(\pi - x) = \frac{(\pi-x)^n\,(a - b(\pi - x))^n}{n!} = \frac{\left(\frac{a-bx}{b}\right)^n (bx)^n}{n!} = f_n(x). fn(π−x)=n!(π−x)n(a−b(π−x))n=n!(ba−bx)n(bx)n=fn(x).
对恒等式 f n ( π − x ) = f n ( x ) f_n(\pi-x) = f_n(x) fn(π−x)=fn(x) 两侧关于 x x x 求 k k k 阶导(链式法则给出 ( − 1 ) k (-1)^k (−1)k 因子),得
f n ( k ) ( π ) = ( − 1 ) k f n ( k ) ( 0 ) ∈ Z . f_n^{(k)}(\pi) = (-1)^k f_n^{(k)}(0) \in \mathbb{Z}. fn(k)(π)=(−1)kfn(k)(0)∈Z.
引理 1 得证。∎
2.3 定理 2(Niven,1947):π 是无理数
证明 (反证)。设 π = a / b \pi = a/b π=a/b 为有理数, a , b ∈ Z + a, b \in \mathbb{Z}^+ a,b∈Z+。定义
F n ( x ) = f n ( x ) − f n ′ ′ ( x ) + f n ( 4 ) ( x ) − ⋯ + ( − 1 ) n f n ( 2 n ) ( x ) , F_n(x) = f_n(x) - f_n''(x) + f_n^{(4)}(x) - \cdots + (-1)^n f_n^{(2n)}(x), Fn(x)=fn(x)−fn′′(x)+fn(4)(x)−⋯+(−1)nfn(2n)(x),
其中交错和一直取到 f n f_n fn 的 2 n 2n 2n 阶导数。
第一步:化简导数 。注意到
F n ′ ′ + F n = f n , F_n'' + F_n = f_n, Fn′′+Fn=fn,
因为 f n ( 2 n + 2 ) ≡ 0 f_n^{(2n+2)} \equiv 0 fn(2n+2)≡0,交错和逐项相消只剩 f n f_n fn 本身。于是
d d x F n ′ ( x ) sin x − F n ( x ) cos x = F n ′ ′ sin x + F n cos x = ( F n ′ ′ + F n ) sin x = f n ( x ) sin x . \frac{d}{dx}\BigF_n'(x)\\sin x - F_n(x)\\cos x\\Big = F_n''\sin x + F_n\cos x = (F_n''+F_n)\sin x = f_n(x)\sin x. dxdFn′(x)sinx−Fn(x)cosx=Fn′′sinx+Fncosx=(Fn′′+Fn)sinx=fn(x)sinx.
第二步:积分化为端点值 。对两边从 0 0 0 到 π \pi π 积分:
∫ 0 π f n ( x ) sin x d x = F n ′ ( x ) sin x − F n ( x ) cos x 0 π = F n ( π ) + F n ( 0 ) , \int_0^\pi f_n(x)\sin x\,dx = \BigF_n'(x)\\sin x - F_n(x)\\cos x\\Big_0^\pi = F_n(\pi) + F_n(0), ∫0πfn(x)sinxdx=Fn′(x)sinx−Fn(x)cosx0π=Fn(π)+Fn(0),
这里用到了 sin 0 = sin π = 0 \sin 0 = \sin\pi = 0 sin0=sinπ=0、 cos 0 = 1 \cos 0 = 1 cos0=1、 cos π = − 1 \cos\pi = -1 cosπ=−1。
由引理 1, F n ( 0 ) F_n(0) Fn(0) 与 F n ( π ) F_n(\pi) Fn(π) 都是 f n f_n fn 的各偶数阶导数值的整数线性组合,因此
I ( n ) : = ∫ 0 π f n ( x ) sin x d x ∈ Z . \boxed{I(n) := \int_0^\pi f_n(x)\sin x\,dx \in \mathbb{Z}.} I(n):=∫0πfn(x)sinxdx∈Z.
第三步:证明 0 < I ( n ) 0 < I(n) 0<I(n) 。在开区间 0 < x < π 0 < x < \pi 0<x<π 上: x > 0 x > 0 x>0;由 x < π = a / b x < \pi = a/b x<π=a/b 得 a − b x > 0 a - bx > 0 a−bx>0; sin x > 0 \sin x > 0 sinx>0。故 f n ( x ) sin x > 0 f_n(x)\sin x > 0 fn(x)sinx>0,从而 I ( n ) > 0 I(n) > 0 I(n)>0。
第四步:证明 I ( n ) < 1 I(n) < 1 I(n)<1(对充分大的 n n n) 。在 0 < x < π 0 < x < \pi 0<x<π 上有 x n < π n x^n < \pi^n xn<πn、 ( a − b x ) n < a n (a-bx)^n < a^n (a−bx)n<an、 sin x ≤ 1 \sin x \le 1 sinx≤1,因此
0 < I ( n ) < π ⋅ π n a n n ! = π n + 1 a n n ! . 0 < I(n) < \pi \cdot \frac{\pi^n a^n}{n!} = \frac{\pi^{\,n+1} a^n}{n!}. 0<I(n)<π⋅n!πnan=n!πn+1an.
固定 a , b a, b a,b(以及 π = a / b \pi = a/b π=a/b)后,分子是固定底数的指数增长,而 n ! n! n! 的增长速度快于任何固定指数函数,所以
lim n → ∞ π n + 1 a n n ! = 0. \lim_{n\to\infty} \frac{\pi^{\,n+1} a^n}{n!} = 0. n→∞limn!πn+1an=0.
取足够大的 n n n,可使 π n + 1 a n n ! < 1 \dfrac{\pi^{n+1}a^n}{n!} < 1 n!πn+1an<1,从而 0 < I ( n ) < 1 0 < I(n) < 1 0<I(n)<1。
矛盾 : I ( n ) I(n) I(n) 既是整数(第二步)又严格介于 0 0 0 与 1 1 1 之间(第三、四步)。故" π \pi π 为有理数"的假设不成立。∎
小结 。Niven 证明的妙处在于: f n f_n fn 的两个性质------在 0 0 0 和 π \pi π 处的导数值为整数(保证 I ( n ) ∈ Z I(n)\in\mathbb{Z} I(n)∈Z),以及在 ( 0 , π ) (0,\pi) (0,π) 上"足够小"(保证 0 < I ( n ) < 1 0<I(n)<1 0<I(n)<1)------恰好由同一个函数 f n = x n ( a − b x ) n / n ! f_n = x^n(a-bx)^n/n! fn=xn(a−bx)n/n! 同时提供。
3. π 是超越数:Lindemann(1882)
无理只是"不是有理数";超越是"不是任何整系数方程的根",强得多。证明 π 超越需要远比初等微积分更强的工具------Hermite--Lindemann--Weierstrass 定理。
3.1 核心工具:HLW 定理
定理 3(Hermite--Lindemann--Weierstrass,简称 HLW)。
- (Lindemann 形式,1882) 若 α \alpha α 是非零代数数,则 e α e^\alpha eα 是超越数。
- (等价形式,1882) 若 α 1 , ... , α n \alpha_1, \dots, \alpha_n α1,...,αn 是两两不同的代数数,则 e α 1 , ... , e α n e^{\alpha_1}, \dots, e^{\alpha_n} eα1,...,eαn 在 Q \mathbb{Q} Q 上线性无关。
- (Weierstrass 推广,1885) 若 β 1 , ... , β m \beta_1, \dots, \beta_m β1,...,βm 是 Q \mathbb{Q} Q-线性无关的代数数,则 e β 1 , ... , e β m e^{\beta_1}, \dots, e^{\beta_m} eβ1,...,eβm 代数无关。
直观含义:指数函数的"指纹"无法用代数方程捕捉------非零代数数代入指数,得到的一定是非代数量。
3.2 推论 4(Lindemann,1882):π 是超越数
证明 (反证)。假设 π \pi π 是代数数。
- i = − 1 i = \sqrt{-1} i=−1 是代数数(它是 x 2 + 1 = 0 x^2 + 1 = 0 x2+1=0 的根)。
- 由命题 1.3(代数数构成域), i π i\pi iπ 也是代数数;且 π ≠ 0 \pi \neq 0 π=0 故 i π ≠ 0 i\pi \neq 0 iπ=0。
- 由 HLW 定理的 Lindemann 形式(取 α = i π \alpha = i\pi α=iπ), e i π e^{i\pi} eiπ 必须是超越数。
- 但由 Euler 恒等式 : e i π = cos π + i sin π = − 1 e^{i\pi} = \cos\pi + i\sin\pi = -1 eiπ=cosπ+isinπ=−1,而 − 1 -1 −1 是代数数(它是 x + 1 = 0 x + 1 = 0 x+1=0 的根)。矛盾。
故 π \pi π 不是代数数,即 π \pi π 是超越数。∎
这个证明非常短,因为它把全部难度都放进了 HLW 定理。真正的深度在定理 3 的证明中(见 3.5 节)。
3.3 推论 5:化圆为方(尺规作图)不可能
古希腊三大作图难题之一的"化圆为方":仅用直尺和圆规,作一个与给定圆面积相等的正方形。
命题 。用尺规可构造的实数都是代数数 (且其最小多项式次数为 2 2 2 的幂,来自一连串二次扩域 Q ⊂ F 1 ⊂ ⋯ ⊂ F r \mathbb{Q} \subset F_1 \subset \cdots \subset F_r Q⊂F1⊂⋯⊂Fr)。
若化圆为方可行,则 π \pi π(或 π \sqrt{\pi} π )可由尺规构造,从而 π \pi π 是代数数------这与推论 4 矛盾。故化圆为方不可能。∎
这个困扰了数学家两千年的问题,被 Lindemann 1882 年的超越性证明一劳永逸地画上句号。
3.4 HLW 定理的证明骨架(为什么它"深")
完整的 HLW 证明约十数页,属于超越数论的核心内容。为满足"博士水平"的严谨性,这里给出它的结构地图------你会发现它与第 2 节 Niven 证明共享同一条**"整数夹逼"**主线,只是工具升级为"代数整数"。
Step 1(把假设化为整系数线性关系) 。反设 e α 1 , ... , e α n e^{\alpha_1}, \dots, e^{\alpha_n} eα1,...,eαn 在 Q \mathbb{Q} Q 上线性相关,则存在不全为零的 c 1 , ... , c n c_1,\dots,c_n c1,...,cn 使
c 1 e α 1 + ⋯ + c n e α n = 0. c_1 e^{\alpha_1} + \cdots + c_n e^{\alpha_n} = 0. c1eα1+⋯+cneαn=0.
通分后取 c i c_i ci 为代数整数 ,并把指数按相等的值归并,设全部互异指数为 θ 1 , ... , θ r \theta_1,\dots,\theta_r θ1,...,θr,得到
∑ j = 1 r b j e θ j = 0 , b j 为非零代数整数 . \sum_{j=1}^{r} b_j e^{\theta_j} = 0,\qquad b_j \text{ 为非零代数整数}. j=1∑rbjeθj=0,bj 为非零代数整数.
Step 2(对称化 / 取范数) 。令 θ 1 , ... , θ r \theta_1,\dots,\theta_r θ1,...,θr 属于某个数域 K K K,取 K K K 的全体 Q \mathbb{Q} Q-嵌入(Galois 共轭) σ 1 , ... , σ s \sigma_1,\dots,\sigma_s σ1,...,σs。对关系式关于每个共轭取乘积,得到只含 e θ j e^{\theta_j} eθj 的对称表达式。关键事实:代数整数的对称多项式是有理整数(因为整系数对称多项式可表为基本对称多项式的整系数多项式,而基本对称多项式恰是某整系数多项式的系数)。
Step 3(Hermite 辅助函数 + 积分恒等式) 。构造带大参数 s s s 的辅助多项式
p s ( x ) = x s ( x − θ 1 ) s ⋯ ( x − θ r ) s s ! M s , p_s(x) = \frac{x^s(x-\theta_1)^s \cdots (x-\theta_r)^s}{s!\,M^s}, ps(x)=s!Msxs(x−θ1)s⋯(x−θr)s,
其中 M M M 为适当整数。它满足(这是 Niven 引理 1 的推广):
p s ( k ) ( 0 ) , p s ( k ) ( θ j ) ∈ Z ⋅ ( 代数整数 ) 对所有 k . p_s^{(k)}(0),\ p_s^{(k)}(\theta_j) \in \mathbb{Z}\cdot(\text{代数整数}) \quad \text{对所有 } k. ps(k)(0), ps(k)(θj)∈Z⋅(代数整数)对所有 k.
配合 Hermite 积分恒等式
∫ 0 ∞ x k e − x d x = k ! , \int_0^\infty x^k e^{-x}\,dx = k!, ∫0∞xke−xdx=k!,
把 Step 2 的对称表达式乘以 ∫ 0 ∞ p s ( x ) e − x d x \int_0^\infty p_s(x)e^{-x}dx ∫0∞ps(x)e−xdx 之类,构造一个量 J s J_s Js,使其按整数部分可精确计算。
Step 4(大小估计,得到矛盾) 。把 J s J_s Js 拆成两部分:
- J 1 J_1 J1:主导项,可证明是非零有理整数;
- J 2 J_2 J2:尾项,因分母含 s ! s! s!,当 s → ∞ s \to \infty s→∞ 时 ∣ J 2 ∣ |J_2| ∣J2∣ 趋于 0 0 0,可做到 ∣ J 2 ∣ < ∣ J 1 ∣ ⋅ ε |J_2| < |J_1| \cdot \varepsilon ∣J2∣<∣J1∣⋅ε(取 ε < 1 \varepsilon<1 ε<1 恰当小量)。
于是 ∣ J s ∣ |J_s| ∣Js∣ 是一个非零整数 ,同时又严格小于 1 1 1(或者:整数部分夹在两个相邻整数之间)。矛盾。∎
诚实的说明 。上面第 3.5 节给出的是 HLW 证明的骨架 ,其中 Step 2--4 的严格处理(如何精确控制"对称化"过程中的重数、如何保证 J 1 J_1 J1 非零、如何选取 M M M 与 s s s 使尾项可任意小)是超越数论的技术核心,完整逐行证明见参考文献 5(Baker 的专著)或 4(Lindemann 原论文)。本文的 π \pi π 超越性证明(3.2 节)在其归约意义上是完整的:只要 HLW 成立,π 必超越。
3.5 技术引理清单(供进一步研读)
HLW 证明依赖的四个核心引理及其要点:
| 引理 | 内容 | 对应证明步骤 |
|---|---|---|
| A. 对称整性 | 代数整数 γ 1 , ... , γ m \gamma_1,\dots,\gamma_m γ1,...,γm 的基本对称多项式是有理整数 | Step 2 |
| B. Hermite 恒等式 | ∫ 0 ∞ P ( x ) e − x d x = ∑ k P ( k ) ( 0 ) \int_0^\infty P(x)e^{-x}dx = \sum_k P^{(k)}(0) ∫0∞P(x)e−xdx=∑kP(k)(0) | Step 3 |
| C. 整值导数推广 | 对 p s p_s ps 型多项式, p s ( k ) ( 0 ) p_s^{(k)}(0) ps(k)(0) 与 p s ( k ) ( θ j ) p_s^{(k)}(\theta_j) ps(k)(θj) 为(放缩后的)代数整数 | Step 3,即 Niven 引理 1 的代数整数版 |
| D. 可任意小性 | 固定 θ j \theta_j θj 时, s → ∞ s\to\infty s→∞ 使尾项趋于 0 0 0 | Step 4 |
可以看到:引理 C 正是第 2 节引理 1 的"代数整数化"。从 Niven 到 Lindemann,数学家的工具箱在升级,但反证 + 整数夹逼的灵魂没有变。
4. 历史脉络
| 年份 | 人物 | 贡献 |
|---|---|---|
| 1761 | J. H. Lambert | 用连分数 证明:若 x x x 是非零有理数,则 tan x \tan x tanx 无理;取 x = π / 4 x=\pi/4 x=π/4 得 π \pi π 无理 |
| 1794 | A.-M. Legendre | 猜测 π \pi π 是超越数(无法证明) |
| 1873 | C. Hermite | 证明 e e e 是超越数(更一般地 e α e^\alpha eα 对非零代数 α \alpha α 超越),创立辅助函数方法 |
| 1882 | F. Lindemann | 推广 Hermite 方法,证明 π \pi π 是超越数,从而化圆为方不可能 |
| 1885 | K. Weierstrass | 把 Lindemann 结果推广为 HLW 定理的一般形式 |
| 1947 | I. Niven | 给出 π 无理的最简洁反证法(本文第 2 节) |
| 1900 | D. Hilbert | 第 7 问题: α β \alpha^\beta αβ( α ≠ 0 , 1 \alpha\neq0,1 α=0,1 代数, β \beta β 无理代数)是否超越------后被 Gelfond 与 Schneider(1934)分别解决 |
一个有趣的历史注记:π 超越性的证明(1882)早于"超越数存在性"的一般性构造(Cantor 1874 之后才确立"几乎所有的数都是超越数")。也就是说,人们先证明了某个具体数是超越的,之后才明白超越数"到处都是"。
5. 计算机验证(完整可运行 Python 代码)
以下代码对 Niven 证明的四个关键断言逐一做精确验证,全部使用 Fraction(分数)精确运算,不含浮点近似,可直接运行:
python
# verify_niven.py
# -*- coding: utf-8 -*-
"""Niven 1947: pi 无理证明的精确验证脚本
验证: (1) f^{(k)}(0), f^{(k)}(pi) 均为整数
(2) F(0)+F(pi) 为整数
(3) 0 < int_0^pi f(x) sin x dx < 1 对充分大 n 成立(对数域计算防溢出)
"""
from fractions import Fraction
import math
def niven_f_coeffs(n, a, b):
"""f(x) = x^n (a - b x)^n / n! 精确展开系数 (Fraction)"""
coeff = {}
for j in range(n + 1):
c = (Fraction(math.comb(n, j))
* (Fraction(a) ** (n - j))
* (Fraction(-b) ** j))
deg = n + j
coeff[deg] = coeff.get(deg, Fraction(0)) + c
fn = math.factorial(n)
return {k: v / fn for k, v in coeff.items()}
def derivative_at_zero(coeff, k):
"""f^{(k)}(0) = k! * [x^k] f(x)"""
if k not in coeff:
return Fraction(0)
return Fraction(math.factorial(k)) * coeff[k]
def verify_derivatives_integer(n, a, b):
"""对所有 k: f^{(k)}(0) 与 f^{(k)}(pi)=(-1)^k f^{(k)}(0) 均为整数"""
coeff = niven_f_coeffs(n, a, b)
return all(derivative_at_zero(coeff, k).denominator == 1
for k in range(2 * n + 2))
def F_sum_value(n, a, b):
"""F(x)=f-f''+f^(4)-...; 返回 F(0)+F(pi)"""
coeff = niven_f_coeffs(n, a, b)
F0 = Fp = Fraction(0)
for k in range(0, 2 * n + 1, 2):
s = (-1) ** (k // 2)
d0 = derivative_at_zero(coeff, k)
F0 += s * d0
Fp += s * ((-1) ** k) * d0
return F0 + Fp
def log_upper_bound(n, a, b):
"""ln( pi^(n+1) a^n / n! ) # <0 等价于上界<1"""
return (n + 1) * math.log(a / b) + n * math.log(a) - math.lgamma(n + 1)
def min_n_upper_lt_1(a, b):
for n in range(1, 100000):
if log_upper_bound(n, a, b) < 0:
return n
return None
def integral_numeric(n, a, b, N=400000):
"""辛普森法估计 I = int_0^pi f(x) sin x dx(对数域,防 186! 溢出)"""
pi_a = a / b
h = pi_a / N
lfn = math.lgamma(n + 1)
def fx(x):
if x <= 0.0 or x >= pi_a:
return 0.0
t = a - b * x
if t <= 0.0:
return 0.0
return math.exp(n * math.log(x) + n * math.log(t) - lfn) * math.sin(x)
s = fx(0) + fx(pi_a)
for i in range(1, N):
x = i * h
s += (4 if i % 2 == 1 else 2) * fx(x)
return s * h / 3
if __name__ == "__main__":
# 反证假设 pi = a/b 的若干候选(仅用于演示;证明要求任意 a,b)
cands = [(22, 7), (355, 113), (333, 106)]
for a, b in cands:
print(f"--- 反证假设 π = {a}/{b} ---")
n = 8
print(f"[1] f^(k) 在 0 与 π 处均取整数值 (n={n}): ",
"通过" if verify_derivatives_integer(n, a, b) else "失败")
F = F_sum_value(n, a, b)
print(f"[2] F(0)+F(π) = {F} 是整数: {F.denominator == 1}")
n0 = min_n_upper_lt_1(a, b)
print(f"[3] 使 π^(n+1)a^n/n!<1 的最小 n = {n0}")
if n0 and n0 <= 600:
I = integral_numeric(n0, a, b)
print(f"[4] 数值积分 I(n={n0}) ≈ {I:.3e} → 0<I<1: {0 < I < 1}")
else:
print(f"[4] 数值积分演示跳过(n0={n0} 过大;理论保证上界→0)")
print()
print("结论: 积分必须同时是整数([1][2])且严格在(0,1)内([3][4]), 矛盾 ⇒ π 非有理数。")
运行输出(Python 3.12 实测):
--- 反证假设 π = 22/7 ---
[1] f^(k) 在 0 与 π 处均取整数值 (n=8): 通过
[2] F(0)+F(π) = -4109391920128 是整数: True
[3] 使 π^(n+1)a^n/n!<1 的最小 n = 186
[4] 数值积分 I(n=186) ≈ 4.295e-114 → 0<I<1: True
--- 反证假设 π = 355/113 ---
[1] f^(k) 在 0 与 π 处均取整数值 (n=8): 通过
[2] F(0)+F(π) = -3996845133297911950 是整数: True
[3] 使 π^(n+1)a^n/n!<1 的最小 n = 3028
[4] 数值积分演示跳过(n0=3028 过大;理论保证上界→0)
--- 反证假设 π = 333/106 ---
[1] f^(k) 在 0 与 π 处均取整数值 (n=8): 通过
[2] F(0)+F(π) = 747687392736821342082 是整数: True
[3] 使 π^(n+1)a^n/n!<1 的最小 n = 2840
[4] 数值积分演示跳过(n0=2840 过大;理论保证上界→0)
如何读懂输出 。对任意"假设的有理数值" a / b a/b a/b:第 12 行确认"积分恒为整数"这条线索对所有 a / b a/b a/b 都成立(这是纯代数事实,不依赖 a / b a/b a/b 是否接近 π);第 34 行确认"积分严格介于 0 和 1"这条线索------ n n n 越大上界越小( 355 / 113 355/113 355/113 需要 n ≈ 3000 n\approx 3000 n≈3000 只是因为分子 a a a 太大,这正是 n ! n! n! 最终压过一切指数增长这一事实的体现)。两条线索必有一处断裂,即矛盾。
6. 延伸与参考文献
6.1 延伸问题("博士水平"的下一步)
- e π e^\pi eπ 是超越数吗? 是。由 Gelfond--Schneider 定理:若 α ≠ 0 , 1 \alpha \neq 0,1 α=0,1 是代数数、 β \beta β 是无理代数数,则 α β \alpha^\beta αβ 超越。取 α = − 1 \alpha = -1 α=−1、 β = − i \beta = -i β=−i( − i -i −i 是无理代数数),主分支给出 ( − 1 ) − i = e − i ln ( − 1 ) = e − i ⋅ i π = e π (-1)^{-i} = e^{-i\ln(-1)} = e^{-i\cdot i\pi} = e^{\pi} (−1)−i=e−iln(−1)=e−i⋅iπ=eπ,故 e π e^\pi eπ 超越。
- ζ ( 3 ) \zeta(3) ζ(3) 的超越性? ζ ( 3 ) = ∑ 1 / n 3 \zeta(3) = \sum 1/n^3 ζ(3)=∑1/n3 于 1978 年被 Apéry 证明无理 ,但超越性至今未知。
- π 的"正常数"性质? π 的十进制展开是否"统计上随机"(每个数字以 1/10 的频率出现)尚未证明------尽管已计算了超过 100 万亿位,经验上看起来正常。
- 两个经典结论的关系 :超越性 ⇒ \Rightarrow ⇒ 无理性,但反过来远非成立(如 2 \sqrt{2} 2 无理却代数)。HLW 定理还给出大量其他超越数: log a \log a loga( a a a 为正有理数且非 1 1 1)、 sin \sin sin 等三角函数在非零代数点的值等。
6.2 参考文献
- I. Niven , A simple proof that π is irrational , Bulletin of the American Mathematical Society 53(6), 509 (1947).
- J. H. Lambert , Mémoire sur quelques propriétés remarquables des quantités transcendantes, circulaires et logarithmiques , Histoire de l'Académie Royale des Sciences et des Belles-Lettres de Berlin 17, 265--322 (1761).
- C. Hermite , Sur la fonction exponentielle , Comptes rendus de l'Académie des Sciences 77 (1873).
- F. Lindemann , Über die Zahl π , Mathematische Annalen 20, 213--225 (1882).
- A. Baker , Transcendental Number Theory, Cambridge University Press (1975) ------ HLW 定理完整证明的标准参考。
- G. H. Hardy & E. M. Wright , An Introduction to the Theory of Numbers ------ π 无理性的多种证法。
- D. Hilbert , Mathematische Probleme, 1900 ------ 第 7 问题的表述。
文档由作者依据 Niven (1947) 与 Lindemann (1882) 原始方法整理;第 2 节为完全自包含证明,第 3 节把超越性归约到 HLW 定理并给出其证明骨架。文中公式与代码均已独立验证。