高等数学入门: 从数理逻辑的角度理解epsilon-delta语言

September 20, 2019
数学分析/Mathematical Analysis 高等数学入门

函数$f(x)$在$x$趋近于$a$时以$A$为极限的定义是: 设$a,A\in\mathbb{R}$, 函数$f$在点$a$的一个邻域中有定义, 若对每个给定的$\varepsilon>0$, 存在$\delta>0$, 使得$-\delta<x-a<\delta$时, 成立不等式$|f(x)-A|<\varepsilon$.

之前说过, 数学家们用不等式和数理逻辑驯服了极限这个怪兽. 今天我就试着用数理逻辑的语言“翻译”一下. 这期间涉及到的各种命题逻辑关系和谓词公式,我会尝试用编程语言进行类比(尽管可能不是完全的一一对应). 从这个例子也可以看出, 尽管$\varepsilon-\delta$语言抽象难懂, 但是它的逻辑关系是非常清晰的. 如果为了追求论证上的“简单”但是损失了逻辑结构的简洁, 有点亏.

编程语言中的bool类型

很多编程语言, 例如Python, C++等等, 都有bool类型和bool函数, 用来表示True和False. 我想各位读者写过的代码应该比我多得多, 因此我没必要对它进行解释. 接下来要做的是, 将抽象的逻辑符号运算和编程语言中的bool变量运算搭建起桥梁. 命题(在文中用$P,Q,R,\cdots$表示)是能判断真假的陈述句, 而这正好对应了bool类数据或函数(在文中用$p,q,r,\cdots$表示)的真假. 接下来就可以进行一些表示了:

  • 一个命题$P$: p

  • 一个命题的否定$\neg{P}$: !p

  • 两个命题的析取(或)$P\lor{Q}$: p||q

  • 两个命题的合取(且)$P\land{Q}$: p&&q

  • 条件命题(若…则…)$P \to Q$: 这个命题的复合方式比较特殊. 如果$P$发生, 那么$Q$发生. 所以如果$P$发生了而$Q$没发生, 那么运算的结果是假. 对于其他情况而言, 结果都是真. 也就是说, $P$和$Q$都发生时为真(这是显然的), 而$P$没发生时, $Q$无论发生与否, 这个命题都是真的. 也就是说, 这个命题等价为$\neg P \lor Q$. 那么用布尔运算应该表示为: !p||q

涉及到两个变量数值的命题, 我们自然可以用bool类型的函数表示. 定义两个很简单的布尔函数(对应着G和L):

bool g(double x,double y){ //判断是否有x>y
    if(x>y)
        return true;
    else
        return false;
}
bool l(double x, double y){
    if(x<y)
        return true;
    else
        return false;
}

另外还有两个很重要的逻辑符号: 全称量词$\forall$和存在量词$\exists$. 这两个符号想在计算机中完美体现很困难, 但这两个量词还是很容易理解的, 分别表示“对所有的”、“存在”. 下面是几个例子:

所有人都是要呼吸的. ($M(x): x是人$, $B(x): x要呼吸$) $(\forall x)(M(x)\to B(x))$

一个数既是2的倍数又是4的倍数. ($D(x)$: x是2的倍数, $Q(x)$: x是4的倍数) $(\exists x)(D(x)\land Q(x))$

命题的翻译

[ (\forall\varepsilon)(\exists\delta)(\forall x)(((G(\varepsilon,0)\to G(\delta,0))\land L(|x-a|,\delta))\to L(|f(x)-A|,\varepsilon)) ]

这个公式可以逐步拆分:

  1. 对任意的$\varepsilon>0$: $(\forall\varepsilon)(G(\varepsilon,0))$.

  2. 存在$\delta>0$: $(\exists\delta)(G(\delta,0))$

  3. 对任意的$0<|x-a|<\delta$: $(\forall x)(L(|x-a|,\delta)\land G(|x-a|,0))$

  4. $|f(x)-A|<\varepsilon$: $L(|f(x)-A|,\varepsilon)$

再将这几部分组合起来, 应该有若(若1则2)且3, 则4. 也就是上面的逻辑公式了. 如果尝试用bool类型变量的方式理解, 也是很自然的.

对任意的$\varepsilon$, 存在$\delta$, 使得对任意的$x$, 下列运算的结果为真:

!(!g(epsilon,0)||g(delta,0)&&l(|x-a|,delta)||l(|f(x)-A|,epsilon)

可能读者会想, 如果$\varepsilon< 0$且$\delta< 0$该怎么办? 这时整个公式的所有部分都是False, 这导致整个运算结果为真. 但是讨论一个数的绝对值是否小于一个负数是没有意义的.

$\varepsilon-\delta$语言最终化简成几个命题, 通过基本的连接符号组合起来的一个复合命题. 尽管不等式涉及到很多不同的运算技巧, 但是如果把不等式抽象成逻辑关系, 那么整体的逻辑结构一直是简单的. 极限被从几何、物理中抽象出来, 变成了不等式运算和逻辑运算, 而不等式运算和逻辑运算不局限于几何、物理. 这无疑为极限这一概念保留了更多的可能性.


如果您或您的朋友在Pocket等网站阅读本文, 建议使用“阅读原文”功能, 否则可能无法看到由Mathjax生成的数学公式

欧拉反射公式和利用Fourier级数的证明

October 31, 2019
数学分析/Mathematical Analysis Fourier分析/Fourier Analysis Gamma函数

利用隐函数存在定理解决解析几何问题

October 17, 2019
数学分析/Mathematical Analysis 解析几何/Analytical Geometry

压缩定理解决一致收敛的问题

October 4, 2019
数学分析/Mathematical Analysis
comments powered by Disqus