\begingroup

我一直在尝试通过 YouTube 上的“数学的光明面”系列视频学习朴素集合论。到目前为止,我已经能够理解后继映射和00\mathbb{N}_{0}。我现在已经知道他对加法的定义。他的定义如下:

加法是一张地图 0×00加法是一张地图 0×00

\text{Addition is a map } \mathbb{N}_{0} \times \mathbb{N}_{0} \rightarrow \mathbb{N}_{0}

n + nn+n

(m,n) \mapsto m + n
他还给出了以下内容:

+ 0 : =+0:=

m+0:=m

m + s n = s m + n +sn:=s+n

m + s(n) := s(m+n)

我能够理解他是如何得出这些结论的,因为他在视频中很好地解释了这些结论。然而,在我看来,这似乎是循环论证。你如何用+++符号,这不是违背定义的目的吗?

在进一步研究的过程中,我找到了以下文章:。然而,作为一个完全的初学者,上面的答案对我来说没有多大意义,我想知道是否有人不使用加法来定义加法+++(或者这是否可能)?

\endgroup

3

  • 5
    \begingroup
    它是完成的。一旦你知道了什么分子++nm+n意味着你可以定义什么m + ( n + 1 )+n+1m+(n+1)方法。
    \endgroup


    – 


  • 1
    \begingroup
    你可以通过递归方程来思考这个定义(涉及+++在右边)被证明是合理的,或者说是语法糖,是“真正的”定义+++,用类型论的语言来说,就像+ = λm 录制λ x . s x  +=λ录制λXs X+ = \lambda m. \text{rec}_\mathbb{N}(m, \lambda x. s\ x)换句话说,递归定义就是这些方程的解。
    \endgroup


    – 


  • 6
    \begingroup
    “你怎么能用 + 符号来定义加法呢?这不是违背定义的目的吗?”好问题!但这不是循环的。加号只是一个用来表示抽象函数的符号。如果我们调用该函数:F00F00f:\mathbb N_0\to \mathbb N_0通过F0 =F0=f(m,0)=mFm s n = s fn Fsn=sFnf(m,s(n))= s(f(m),n)+++只不过是我们定义的符号“a + bA+ba + b“意味着简单地Fa b FAbf(a,b)。这是一种直观有用的符号,就像我们在学习函数之前学习二元运算一样,尽管二元运算只是函数的一种类型。
    \endgroup


    – 


最佳答案
3

\begingroup

这个定义中看似循环,其实是假象。可以证明存在一个独特的函数FN × NNF×f:\mathbb N\times\mathbb N\to \mathbb N使得

F0 Fn == s ( fñ (1)(2)(1)F0=(2)Fsn=sFn

\begin{align}
f(m,0) &= m \, , \tag{1}\label{1}\\
f(m,s(n)) &= s(f(m,n)) \, , \tag{2}\label{2}
\end{align}
对全部
m , n∈Nnm,n\in\mathbb N。一旦我们确定了这一事实,定义+++作为这个独特的功能。这与定义XXe^x作为初值问题的解= y0 = 1=0=1y’=y,\, y(0)=1前提是我们知道 (a) 这样的解存在,并且 (b) 它是唯一的。

那么我们如何证明FFf? 由于所讨论的定理非常基础,因此答案对您使用的基础系统很敏感。如果您在集合论环境中工作,那么您通常会诉诸以下内容。

递归定理。如果AAa是集合的一个元素XXX, 和GXGXXg:X\to X是一个函数,那么存在一个唯一的函数u : NXXu:\mathbb N\to X使得u 0 =0=Au(0)=au s n = gu n sn=Gnu(s(n)) =g(u(n))对全部n∈Nnn\in\mathbb N

递归定理的证明可以在 Halmos 的书《朴素集合论》(第 12 节,第 48 页)以及其他一些关于数理逻辑和集合论的书籍中找到。证明中涉及的几乎所有工作都用于实际构建函数u;唯一性断言只是一种常规归纳。

一旦我们掌握了递归定理,我们就可以按如下方式进行。对于每个m∈Nm\in\mathbb N,我们让sNNss_m:\mathbb N\to\mathbb N是满足的唯一函数s0 =s0=s_m(0)=mss n = s sn ssn=ssns_m(s(n))=s(s_m(n))对全部n∈Nnn\in\mathbb N。然后,我们定义FN × NNF×f:\mathbb N\times\mathbb N\to\mathbb N经过Fn =s名词Fn=snf(m,n)=s_m(n)。 很清楚FFf满足(1)\eqref{1}(2)\eqref{2},并归纳nnn表明最多有一个函数具有此属性。因此,我们的定义+++是连贯的。

\endgroup

\begingroup

+++符号是“中缀”函数定义
+ 0×00+0×00+: \mathbb{N}_0 \times \mathbb{N}_0 \to \mathbb{N}_0。与普通函数唯一的区别是,对于m , n∈0n0m,n \in \mathbb{N}_0而不是写作+ n +n+(m,n)我们写分子++nm + n(中缀表示法)。请注意,您可以使用除+++例如只需调用它添加A\mathrm{ADD}。此外,您不需要使用中缀表示法。

这个定义本质上是递归的。设00m \in \mathbb{N}_0假设我们想计算+( 0 )+s0m + s (0).然后根据定义

m + s 0 = s m + 0 = s m +s0=s+0=s

m + s(0) =s( m+ 0) = s (m).

以同样的方式(使用上面的公式得出第二个等式):

m + s ( s ( 0 ) ) = s ( m + s ( 0 ) ) = s ( s ( m ) )+ss0=s+s0=ss

m+ s(s(0)) = s (m + s(0) ) = s( s(m))
不难理解,我们可以计算
分子++nm+n这样对于任何0n0n \in \mathbb{N}_0简单地表达为nnn继任者000.因此递归定义的函数+++定义明确。

\endgroup

3

  • 1
    \begingroup
    我明白,但是有没有办法把这个写成逻辑语句?换句话说,你会怎么说nnn第一位继任者000带有逻辑陈述?
    \endgroup


    – 


  • \begingroup
    @SpyridonManolidis 检查
    \endgroup


    – 

  • \begingroup
    @SpyridonManolidis 尤其是上面链接问题中的
    \endgroup


    – 


\begingroup

我们可以用类似于定义的方式定义它00\mathbb{N}_0—作为具有某些属性的最小集合。设

φ u = ( x 0) ( x , 0 , x ) u( x y0x y, z) u ( x , s ( y) , s ( z) ) u ) ,φ=X0X0XX0XXss

\begin{align}
\varphi(u) &= (\forall x \in \mathbb{N}_0) (x, 0, x) \in u\\
&\quad \wedge (\forall xyz \in \mathbb{N}_0)((x, y, z) \in u \to (x, s(y), s(z)) \in u),
\end{align}
然后让
δ) = φ ( y) ∧∀z( φ ) y⊆zδ=φφ\delta(y) = \varphi(y) \wedge \forall z (\varphi(z) \to y \subseteq z)。然后我们可以使用集合论的公理来证明! yδδ\exists! y \, \delta(y),这证明了定义符号+++经过= +δ=+δy = {+} \leftrightarrow \delta(y)。然后我们采用简写,x + y= zX+=x + y = z意思是x , y, z) +X+(x, y, z) \in {+}

用文字来说,上述定义是+++是自然数有序三元组的最小集合,满足x 0 x +X0X+(x, 0, x) \in {+}对于每个自然数XXx,并且每当x , y, z) +X+(x, y, z) \in {+}, 我们还有x s y) , s ( z) ) +Xss+(x, s(y), s(z)) \in {+}

使用简写符号,口头描述更加清晰。在这种情况下,+++是自然数有序三元组的最小集合,满足x + 0 = xX+0=Xx + 0 = x对于每个自然数XXx,并且每当x + y= zX+=x + y = z, 我们还有x + s ( y) = s ( zX+s=sx + s(y) = s(z)

\endgroup